/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/*!///////////////////////////////////////////*/
/*!//////////// ↓↓↓reset↓↓↓ ////////////*/
/*!///////////////////////////////////////////*/
*, *::before, *::after { box-sizing: border-box;}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl { margin: 0; color: #000;}
a { text-decoration: none;}
ul,ol { padding-left: 0; list-style-type: none;}
dd { margin-left: 0;}
p {font-size: 14px; line-height: 1.75;}
@media screen and (min-width: 768px) { p { font-size: 16px;}}
button {border: 0;}
/*!///////////////////////////////////////////*/
/*!//////////// ↑↑↑reset↑↑↑ ////////////*/
/*!///////////////////////////////////////////*/


/*!////////////////////////////////////////////*/
/*!//////////// ↓↓↓common↓↓↓ ////////////*/
/*!////////////////////////////////////////////*/
body { font-family: "Noto Sans JP", "Noto Serif JP" ,sans-serif;}
@media screen and (max-width: 767px) {
  .sp-none { display: none !important;}}
@media screen and (min-width: 768px) {
  .pc-none {display: none !important;}}
.hidden { display: none !important;}
.image { display: block; width: 100%;}
.wrapper {position: relative; overflow: hidden;}
.container {
  width: 100%;
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 23.5px;
  padding-right: 23.5px;
}
/*!////////////////////////////////////////////*/
/*!//////////// ↑↑↑common↑↑↑ ////////////*/
/*!////////////////////////////////////////////*/

body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  background-image: url(../img/bk.jpg);
  background-size: 283px 283px;
}

section {
  position: relative;
}

.footer {
  position: relative;
  color: #fff;
  text-align: center;
}

.footer h2 {
  margin: 0;
  font-size: 1.5em;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
      pointer-events: none;
      cursor: default;
  }
}
a {
  transition: .3s;
}
a:hover {
  opacity: .8;
}

table {
  width: 100%;
  border-collapse: collapse;
}

.header {
  position: fixed;
  z-index: 99;
  top: 0;
  right: 46px;
  width: min(58.85714285714286vw,824px);
  aspect-ratio: 824 / 70;
}
@media screen and (max-width: 767px) {
  .header {
    top: 0;
    right: 0;
    width: auto;
    aspect-ratio: auto;
    padding: calc(8.5vw / 3.75);
  }
  .header.hd-ac {
    width: 100vw;
    height: 100vh;
    background-color: #4C822B;
  }
  nav {
    display: none;
  }
  .hd-ac nav {
    display: block;
    padding: 0 calc(11vw / 3.75);
  }
}

.header nav , .header nav ul ,.header nav ul li {
  height: 100%;
}

.header nav ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header nav ul {
    height: calc(100vh - 16.53333333333333vw);
    flex-direction: column;
  }
}

.hd-tel a p {
  font-weight: 700;
  line-height: 1.4;
}
.hd-tel a p:first-of-type {
  font-size: min(1vw,14px);
  font-family: "Noto Serif JP", serif;
}
.hd-tel a p:last-of-type {
  font-size: min(2.14285714285714vw,30px);
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 767px) {
  .hd-tel a p {
    text-align: center;
  }
  .hd-tel a p:first-of-type {
    font-size: calc(14vw / 3.75);
    background-color: #fff;
    color: #4C822B;
    padding: calc(5vw / 3.75);
  }
  .hd-tel a p:last-of-type {
    color: #fff;
    font-size: calc(30vw / 3.75);
    padding: calc(20vw / 3.75) 0 calc(30vw / 3.75);
  }
}

.hd-tel a p span {
  display: inline-block;
  width: min(1.57142857142857vw,22px);
  margin: 0 0.2rem -0.2rem 0;
  aspect-ratio: 22 / 28.5;
  background-image: url(../img/tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .hd-tel a p span {
    width: calc(22vw / 3.75);
    background-image: url(../img/tel_wh.svg);
  }
}

.header nav ul li:first-of-type {
  flex-basis: min(21.42857142857143vw,300px);
  flex: 1;
  padding-top: min(.71428571428571vw,10px);
}
@media screen and (max-width: 767px) {
  .header nav ul li:first-of-type {
    order: 1;
  }
}
.header nav ul li:not(:first-of-type) {
  position: relative;
  background: #4C822B;
  text-align: center;
  padding: 0 min(1.64285714285714vw,23px);
}
.header nav ul li:nth-of-type(2) { 
  border-radius: 0 0 0 10px; 
  padding: 0 min(1.64285714285714vw,23px) 0 min(calc(1.64285714285714vw + 1.42857142857143vw),calc(23px + 20px));
}
.header nav ul li:last-of-type { 
  border-radius: 0 0 10px 0; 
  padding: 0 min(calc(1.64285714285714vw + 1.42857142857143vw),calc(23px + 20px)) 0 min(1.64285714285714vw,23px);
}
@media screen and (max-width: 767px) {
  .header nav ul li {
    width: 100%;
    height: auto;
  }
  .header nav ul li:not(:first-of-type) {
    flex: 1;
    max-height: 100px;
  }
}

.header nav ul li:not(:first-of-type)::after {
  z-index: 1;
  content: "";
  height: 33%;
  width: 1px;
  position: absolute;
  top: 50%;
  right: -0.5px;
  transform: translateY(-50%);
  background-color: #fff;
  pointer-events: none;
}
.header nav ul li:last-of-type::after { 
  content: none;
}
@media screen and (max-width: 767px) {
  .header nav ul li:not(:first-of-type)::after {
    height: 1px;
    width: 100%;
    top: 100%;
  }
}

.header nav ul li:not(:first-of-type) a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header nav ul li:not(:first-of-type) p {
  color: #fff;
  letter-spacing: 0.15rem;
  font-size: min(1.14285714285714vw, 16px);
  font-weight: 700;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .header nav ul li:not(:first-of-type) p {
    font-size: calc(18vw / 3.75);
  }
}

.sp-button {
  z-index: 1000;
  position: relative;
  width: calc(45vw / 3.75);
  aspect-ratio: 1;
  background-color: #4C822B;
  margin-left: auto;
  border-radius: 5px;
}

.sp-button span {
  position: absolute;
  top: calc(50% - 1px);
  left: 50%;
  width: 50%;
  transform: translate(-50% , calc(-50% + 1px));
  height: 1px;
  background-color: #fff;
  opacity: 1;
  transition: .5s;
}
.sp-button span:nth-of-type(2) {
  top: 25%;
}
.sp-button span:nth-of-type(3)  {
  top: 70%;
}
.hd-ac .sp-button span {
  transform: translate(-50% , calc(-50% + 1px)) rotate(135deg);
  top: 50%;
}
.hd-ac .sp-button span:nth-of-type(2) {
  transform: translate(-50% , calc(-50% + 1px)) rotate(-135deg);
  top: 50%;
}
.hd-ac .sp-button span:nth-of-type(3)  {
  transform: translate(-50% , calc(-50% + 1px)) rotate(180deg);
  opacity: 0;
}

.fv {
  position: relative;
  width: 100vw;
  aspect-ratio: 2 / 1;
}
@media screen and (max-width: 767px) {
  .fv {
    aspect-ratio: 1 / 2;
  }
}

/* .fv-bk {
  clip-path: inset(30px 50px round 10px 20px 30px 50px); 
  background-color: #4CAF50;
  -webkit-mask-image: url(../img/fv_clip.svg);
  -webkit-mask-size: 100%;
  mask-image: url(../img/fv_clip.svg);
  mask-size: 100%;
} */

.fv-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
}

.fv-img img {
  width: 100%;
}

.fv-title {
  z-index: 1;
  position: absolute;
  top: 3.21428571428571vw;
  left: 3vw;
  width: 21.42857142857143vw;
  aspect-ratio: 3 / 2;
}
@media screen and (max-width: 767px) {
  .fv-title {
    top: 9.6vw;
    left: 50%;
    transform: translateX(-50%);
    width: 60vw;
  }
}

.fv-title img {
  width: 100%;
}

.fv-title-text {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .fv-title-text {
    width: 120%;
    margin-left: -10%;
  }
}

.fv-title-text p {
  font-size: 0.85714285714286vw;
  font-weight: 500;
  letter-spacing: -0.02rem;
  font-family: "Noto Serif JP", serif;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .fv-title p {
    font-size: calc(11vw / 3.75);
    white-space: nowrap;
  }
}

.fv-title-text span {
  width: 1.78571428571429vw;
  aspect-ratio: 25 / 52;
  background-image: url(../img/leaf.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .fv-title-text span {
    width: calc(18vw / 3.75);
  }
}

.fv-title-text span:last-of-type {
  transform: scale(-1, 1);
}

.fv-description {
  z-index: 1;
  position: absolute;
  top: 10vw;
  right:  14.28571428571429vw;
}
@media screen and (max-width: 767px) {
  .fv-description {
    top: 70vw;
    right: 50%;
    text-align: center;
    transform: translateX(50%);
  }
}

.fv-description p {
  writing-mode: vertical-rl;
  color: #156900;
  font-size: 1.21428571428571vw;
  font-weight: 500;
  letter-spacing: 0.2rem;
  line-height: 2.6;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .fv-description p {
    writing-mode: horizontal-tb;
    font-size: calc(14vw / 3.75);
    white-space: nowrap;
  }
}

.fv-description p span ,.fv-description p a {
  color: #156900;
  text-decoration-line: underline;
  cursor: pointer;
}
.fv-description p span:hover {
  opacity: .7;
}

.greeting {
  padding-top: 90px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .greeting {
    flex-direction: column-reverse;
  }
}

.greeting-text {
  margin-left: min(6.42857142857143vw,90px);
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .greeting-text {
    margin-left: 0;
    margin-bottom: calc(65vw / 3.75);
  }
}

.greeting-text p {
  writing-mode: vertical-rl;
  font-size: min(1.07142857142857vw,15px);
  font-weight: 500;
  line-height: 2.8;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .greeting-text p {
    writing-mode: horizontal-tb;
    font-size: calc(14vw / 3.75);
    line-height: 1.9;
    text-align: justify;
  }
}

.greeting-text p span {
  text-decoration-line: underline;
  cursor: pointer;
}

.greeting-text p span:hover {
  opacity: .7;
}

.greeting-info {
  flex: 1;
}

.greeting-intd {
  position: relative;
  padding-bottom: 125px;
}
@media screen and (max-width: 767px) {
  .greeting-intd {
    width: calc(228.4vw / 3.75);
    margin: 0 auto;
    padding-bottom: calc(30vw / 3.75);
  }
}

.greeting-intd-img {
  position: relative;
  max-width: 228.4301px;
  width: 16.31643571428571vw;
  aspect-ratio: 10 / 12.15;
  margin: 0 auto;
}
.greeting-intd-img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/greeting_intd_deco.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .greeting-intd-img {
    max-width: none;
    width: 100%;
  }
}

.greeting-intd-img-clip {
  width: 100%;
  height: 100%;
  clip-path: polygon(8.15% 8.15%, calc(100% - 8.15%) 8.15%, calc(100% - 8.15%) calc(100% - 8.15%), 8.15% calc(100% - 8.15%));
}

.greeting-intd-img-clip img {
  object-fit: cover;
  width: 100%;
}

.greeting-intd-name {
  width: 90%;
  margin: 0 auto;
  border-bottom: #4C822B 1px dotted;
  margin-bottom: 1rem;
}

.greeting-intd-name p {
  font-size: 25px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .greeting-intd-name p {
    font-size: calc(22vw / 3.75);
  }
}

.greeting-intd ul {
  padding-left: 1rem;
}

.greeting-intd ul li {
  position: relative;
  font-size: 14px;
  padding-left: 0.8rem;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .greeting-intd ul li {
    font-size: calc(14vw / 3.75);
  }
}

.greeting-intd ul li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  aspect-ratio: 1;
  background-color: #156900;
  border-radius: 50%;
}

.bk-deco {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100vw;
  -webkit-mask-image: url(../img/bk_deco_up.svg), linear-gradient(gray , gray) ,url(../img/bk_deco_down.svg);
  -webkit-mask-position: top , center , bottom;
  -webkit-mask-composite: add;
  -webkit-mask-size: 100%, 100% calc(100% - 11vw), 100%;
  -webkit-mask-repeat: no-repeat , no-repeat , no-repeat;
  mask-image: url(../img/bk_deco_up.svg), linear-gradient(gray , gray) ,url(../img/bk_deco_down.svg);
  mask-position: top , center , bottom;
  mask-composite: add;
  mask-size: 100%, 100% calc(100% - 11vw), 100%;
  mask-repeat: no-repeat , no-repeat , no-repeat;
  opacity: 0.7;
  pointer-events: none;
}
.bk-deco--w {
  opacity: 1;
  transform: scale(-1,1);
}
footer .bk-deco {
  -webkit-mask-image: url(../img/bk_deco_up.svg), linear-gradient(gray , gray);
  -webkit-mask-position: top , bottom;
  -webkit-mask-composite: add;
  -webkit-mask-size: 100%, 100% calc(100% - 6vw);
  -webkit-mask-repeat: no-repeat , no-repeat;
  mask-image: url(../img/bk_deco_up.svg), linear-gradient(gray , gray);
  mask-position: top , bottom;
  mask-composite: add;
  mask-size: 100%, 100% calc(100% - 6vw);
  mask-repeat: no-repeat , no-repeat;
}
@media screen and (max-width: 767px) {
  .bk-deco {
    width: 180vw;
    -webkit-mask-position: -48vw top , center , -48vw bottom;
    -webkit-mask-size: 100%, 100% calc(100% - 21vw), 100%;
    mask-position: -48vw top , center , -48vw bottom;
    mask-size: 100%, 100% calc(100% - 21vw), 100%;
  }
  .bk-deco--w {
    -webkit-mask-position: 48vw top , center , 48vw bottom;
    mask-position: 48vw top , center , 48vw bottom;
  }
  footer .bk-deco {
    -webkit-mask-position: -48vw top , bottom;
    -webkit-mask-size: 100%, 100% calc(100% - 10vw);
    mask-position: -48vw top , bottom;
    mask-size: 100%, 100% calc(100% - 10vw);
  }
}

.bk-deco div {
  width: 100%;
  height: 100%;
  background-color: #4C822B;
}
.bk-deco--w div {
  background-color: #F9F8F3;
}

.item {
  padding: 7vw 0;
}
@media screen and (max-width: 767px) {
  .item {
    padding: 11vw 0;
  }
}

.item h2 {
  font-size: 32px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  color: #fff;
letter-spacing: 0.08rem;
  text-align: center;
  padding: 50px 0 45px;
}
@media screen and (max-width: 767px) {
  .item h2 {
    font-size: calc(30vw / 3.75);
  }
}

@media screen and (max-width: 767px) {
  .item-bk {
    padding-bottom: 50px;
  }  
}

.item-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .item-list {
    flex-wrap: wrap;
    padding-bottom: 0;
  }
}

.item-list li {
  width: calc(25% - 22.5px);
  aspect-ratio: 226 / 140;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../img/bk_wood.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: min(4.42477876106195vw, 10px);
  margin: 0 min(1.07142857142857vw,15px);
}
.item-list li:first-of-type {
  margin-left: 0;
}
.item-list li:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .item-list li {
    width: calc(50% - calc(9vw / 3.75));
    margin: 0 calc(18vw / 3.75) calc(18vw / 3.75) 0;
    border-radius: 10px;
  }
  .item-list li:nth-of-type(2n) {
    margin: 0 0 calc(18vw / 3.75) 0;
  }
  .item-list li:last-of-type {
    margin: 0 0 calc(18vw / 3.75) 0;
  }
}

.item-list li span {
  width: 100%;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  background-color: #FBEDC4;
  border-radius: 10px;
  background-image: url(../img/red_arrow.svg);
  background-position: center 90%;
  background-repeat: no-repeat;
  background-size: min(1.42857142857143vw,20px);
}
.item-list li span:hover {
  opacity: 1;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .item-list li span {
    background-size: calc(14vw / 3.75);
  }
}

.item-list li span p {
  font-size: min(1.42857142857143vw,20px);
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  padding-bottom: 0.5rem;
  line-height: 1.3;
  pointer-events: none;
letter-spacing: 0.08rem;
}
@media screen and (max-width: 767px) {
  .item-list li span p {
    font-size: calc(15vw / 3.75);
  }
}

.item-list li span:hover p {
  transform: scale(1.05);
}

.common-title {
  text-align: center;
  background-image: url(../img/common_title_wood.svg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 75.4px;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .common-title {
    margin-bottom: 35px;
  }
}

.common-title h2 {
  font-size: 32px;
  font-weight: 700;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.25rem;
}
@media screen and (max-width: 767px) {
  .common-title h2 {
    font-size: calc(30vw / 3.75);
  }
}

.fee {
  padding: 50px 0;
}
@media screen and (max-width: 767px) {
  .fee {
    padding: 30px 0 100px;
  }
}

.fee-list {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .fee-list {
    position: relative;
    flex-direction: column;
  }
}

.fee-list table {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .fee-list table {
    width: 100%;
  }
}

.fee-list tr {
  background-color: #F9F8F3;
  width: 100%;
}
.fee-list tr:nth-of-type(2n) {
  background-color: #EDF2EA;
}

.fee-list th, .fee-list td {
  height: 70px;
  border: 1px solid #4C822B;
  padding: 8px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .fee-list th, .fee-list td {
    height: calc(70vw / 3.75);
    font-size: calc(15vw / 3.75);
  }
}

.fee-list tr td:first-of-type {
  border-bottom: 1px solid #F9F8F3;
  background-color: #4C822B;
  color: #fff;
}

.fee-list tr:last-of-type td {
  border-bottom: 1px solid #4C822B;
}

.fee-list td span {
  font-weight: 700;
}

.fee-img {
  position: relative;
  width: 37.1%;
}
@media screen and (max-width: 767px) {
  .fee-img {
    padding-top: calc(70vw / 3.75);
    width: 100%;
  }
}

.fee-img img {
  width: 100%;
}

.fee-img-deco {
  position: absolute;
  bottom: -15%;
  right: -15%;
  width: 25.87601078167116%;
  aspect-ratio: 96 / 151;
}
@media screen and (max-width: 767px) {
  .fee-img-deco {
    right: -15px;
  }
}

.fee-note {
  padding-top: 0.8rem;
}
@media screen and (max-width: 767px) {
.fee-note {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% + 0.5rem));
  left: 0;
  padding-left: 23.5px;
}
}

.fee-note p {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .fee-note p {
    font-size: calc(12vw / 3.75);
  }
}

.fee-note p span ,.fee-note p a {
  text-decoration: none;
  text-decoration: underline;
  color: #000;
  cursor: pointer;
}

.hours {
  padding: 8vw 0 6vw;
}
@media screen and (max-width: 767px) {
  .hours {
    padding: 11vw 0 5vw;
  }
}

.hours-bk {
  position: relative;
  padding: 25px 0 50px;
}

.hours-container {
  max-width: 840px;
  padding-left: 20px;
  padding-right: 20px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .hours-container {
    padding-left: 0;
    padding-right: 0;
  }
}

.hours table {
  width: 100%;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin: 0 auto;
  border-left: 1px solid #4C822B;
  border-right: 1px solid #4C822B;
}

.hours table th {
  background-color: #4C822B;
  color: #fff;
}

.hours th, .hours td {
  height: 60px;
  border-bottom: 1px solid #4C822B;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .hours th, .hours td {
    height: calc(37vw / 3.75);
    font-size: calc(11vw / 3.75);
  }
}

.hours td:not(:first-of-type) {
  width: 11.25%;
  border-bottom: 1px solid #4C822B;
}

.hours-text {
  margin-top: 15px;
}

.hours-text p {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .hours-text p {
    font-size: calc(12vw / 3.75);
  }
}

.hours-text-list {
  display: flex;
}

.hours-text-list li {
  display: flex;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 10px;
}

.hours-text-list li p {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .hours-text-list li p {
    font-size: calc(11vw / 3.75);
  }
}

.hours-text-list li p:first-of-type {
  color: #fff;
  background-color: #4C822B;
  border-radius: 5px;
  padding: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .hours-text-list li p:first-of-type {
    padding: 0 0.8rem;
    border-radius: 2px;
  }
}

.hours-text-list li p:last-of-type {
  margin: 0 1rem;
}
@media screen and (max-width: 767px) {
  .hours-text-list li p:last-of-type {
    margin: 0 0.5rem;
    font-size: calc(13vw / 3.75);
    letter-spacing: 0.02rem;
  }
}

.hours-link {
  text-align: center;
  margin-top: 20px;
}

.hours-link-hd {
  background-color: #E45418;
  border-radius: 5px;
}

.hours-link-hd p {
  color: #fff;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
letter-spacing: 0.08rem;
}
@media screen and (max-width: 767px) {
  .hours-link-hd p {
    font-size: calc(15vw / 3.75);
  }
}

.hours-link a p {
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 0.08rem;
}
@media screen and (max-width: 767px) {
  .hours-link a p {
    font-size: calc(27vw / 3.75);
  }
}

.hours-link a p span {
  display: inline-block;
  width: 2rem;
  margin: 0 0.9rem -0.2rem 0;
  aspect-ratio: 22 / 28.5;
  background-image: url(../img/tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .hours-link a p span {
    width: 1.2rem;
    margin: 0 0.4rem -0.2rem 0;
  }
}

.access {
  padding: 50px 0;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 767px) {
  .access {
    padding: 50px 0 70px;
  }
}

.access-map {
  aspect-ratio: 20 / 9;
}
@media screen and (max-width: 767px) {
  .access-map {
    aspect-ratio: 67 / 90;
  }
}

.access h3 ,.access-note p {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .access h3 ,.access-note p {
    font-size: calc(14vw / 3.75);
  }
}

.access h3 {
  padding-bottom: 10px;
  margin: 10px 0;
  border-bottom: 1px #4C822B solid;
}

.access-note p {
  padding-left: 1.5rem;
  margin-bottom: .2rem;
  background-image: url(../img/map_pin.svg);
  background-repeat: no-repeat;
  background-size: 1rem;
  background-position: left center;
}
@media screen and (max-width: 767px) {
  .access-note p {
    background-position: left 0.3rem;
  }
}

.footer {
  padding-top: 6vw;
}

footer p {
  color: #fff;
}

.footer-container {
  max-width: 900px;
  padding-top: 50px;
}

.ft-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .ft-list {
    flex-direction: column-reverse;
    text-align: center;
  }
}

.ft-list li {
  position: relative;
}

.ft-list-img {
  width: 56.14567526555387%;
  aspect-ratio: 12 / 7;
  margin-right: 5.95307575580717%;
}
@media screen and (max-width: 767px) {
  .ft-list-img {
    width: 100%;
    margin-right: 0;
  }
}

.ft-list-img img {
  width: 100%;
}

.ft-list li h2 {
  width: 55.51515151515152%;
}
@media screen and (max-width: 767px) {
  .ft-list li h2 {
    margin: 0 auto 30px;
  }
}

.ft-list li h2 img {
  width: 100%;
}

.access-list-text {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
.access-list-text {
    position: static;
  }
}

.access-list-text p ,.ft-limk-mail a p {
  text-align: left;
  font-size: 15px;
  font-family: "Noto Serif JP", serif;
letter-spacing: 0.08rem;
}
@media screen and (max-width: 767px) {
  .access-list-text p ,.ft-limk-mail a p {
    text-align: center;
    font-size: calc(14vw / 3.75);
  }
}

.ft-link-tel ,.ft-limk-mail {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .ft-link-tel a {
    display: inline-block;
  }
}

.ft-link-tel a p {
  text-align: left;
  font-size: min(2vw,28px);
}
@media screen and (max-width: 767px) {
  .ft-link-tel a p {
    font-size: calc(27vw / 3.75);
  }
}

.ft-link-tel a p span {
  width: 1.2rem;
  margin: 0 0.4rem -0.2rem 0;
  background-image: url(../img/tel_wh.svg);
}

@media screen and (max-width: 767px) {
  .ft-limk-mail {
    padding-bottom: calc(100vw / 3.75);
  }
}

.ft-limk-mail a p span {
  width: 1.1rem;
  margin: 0 0.4rem -0.5rem 0;
  background-image: url(../img/mail.svg);
}

.ft-limk-line {
  position: absolute;
  right: 0;
  top: 0;
  width: 45px;
  aspect-ratio: 1;
}
@media screen and (max-width: 767px) {
  .ft-limk-line {
    right: 50%;
    transform: translate(50% , -50%);
    top: auto;
    bottom: 0;
    width: 45px;
  }
}

.copyright {
  padding: 75px 0 15px;
}
@media screen and (max-width: 767px) {
  .copyright {
    padding: 45px 0 15px;
  }
}

.copyright p {
  font-size: 11px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.08rem;
}

.leaves-common {
  z-index: 10;
  position: absolute;
  width: min(12.16428571428571vw,170.3px);
  height: min(21.36206428571429vw,229.0689px);
  background-image: url(../img/leaves_1.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .leaves-common {
    width: calc(68.1vw / 3.75);
    height: calc(91.6vw / 3.75);
  }
}

.leaves--1 {
  left: 50%;
  bottom: 100%;
  transform: translate(calc(-50% - min(12.85714285714286vw,180px)) , 0);
  width: min(7.92248571428571vw,110.9148px);
  height: min(8.68143571428571vw,121.5401px);
  background-image: url(../img/leaves_info_1.png);
}
@media screen and (max-width: 767px) {
  .leaves--1 {
    left: 0;
    transform: translate(calc(-50% - 5vw), -2vw);
    width: calc(50vw / 3.75);
    height: calc(54vw / 3.75);
  }
}

.leaves--2 {
  left: 100%;
  bottom: 0;
  transform: translate(100% , 0);
  width: min(3.79044285714286vw,53.0662px);
  height: min(3.51531428571429vw,49.2144px);
  background-image: url(../img/leaves_info_2.png);
}
@media screen and (max-width: 767px) {
  .leaves--2 {
    left: calc(100% - 15vw);
    transform: translate(100%, -15vw);
    width: calc(53vw / 3.75);
    height: calc(49vw / 3.75);
  }
}

.leaves--3 {
  left: 50%;
  top: 0;
  transform: translate(calc(-50% + min(44.28571428571429vw,620px)) , -25%);
}
@media screen and (max-width: 767px) {
  .leaves--3 {
    left: auto;
    right: 0;
    top: 0;
    transform: translate(-25%, -25%);
  }
}

.leaves--4 {
  right: 50%;
  bottom: 0;
  transform: translate(calc(-50% - min(32.14285714285714vw, 450px)), 25%) scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .leaves--4 {
    right: 100%;
    transform: translate(calc(150% - 2vw), 25%) scale(-1, 1);
  }
}

.leaves--5 {
  left: 50%;
  top: 0;
  transform: translate(calc(-50% + min(50vw,600px)) , -25%);
  width: min(12.16256428571429vw,170.2759px);
  height: min(20.10689285714286vw,281.4965px);
  background-image: url(../img/leaves_2.png);
}
@media screen and (max-width: 767px) {
  .leaves--5 {
    left: 100%;
    transform: translate(calc(-100%), -65%);
    width: calc(68.1vw / 3.75);
    height: calc(91.6vw / 3.75);
  }
}

.leaves--6 {
  right: 50%;
  bottom: 0;
  transform: translate(calc(50% - min(42.85714285714286vw,600px)) , 50%);
  width: min(12.16256428571429vw,170.2759px);
  height: min(20.10689285714286vw,281.4965px);
  background-image: url(../img/leaves_3.png);
}
@media screen and (max-width: 767px) {
  .leaves--6 {
    right: 100%;
    transform: translate(150%, 50%);
    width: calc(65.4vw / 3.75);
    height: calc(78.5vw / 3.75);
  }
}

.leaves--7 {
  left: 50%;
  top: 0;
  transform: translate(calc(50% + min(50vw,600px)) , 150%);
  width: min(3.53876428571429vw,49.5427px);
  height: min(6.9926vw,97.8964px);
  background-image: url(../img/leaves_access.png);
}
@media screen and (max-width: 767px) {
  .leaves--7 {
    left: auto;
    right: 0;
    top: auto;
    bottom: 0;
    transform: translate(-100%, -50%);
    width: calc(20vw / 3.75);
    height: calc(40vw / 3.75);
  }
}

.leaves--8 {
  right: 50%;
  top: 0;
  transform: translate(calc(50% - min(50vw,600px)) , 100%);
  width: min(5.59717142857143vw,78.3604px);
  height: min(6.87081428571429vw,96.1914px);
  background-image: url(../img/leaves_ft.png);
}
@media screen and (max-width: 767px) {
  .leaves--8 {
    right: auto;
    left: 0;
    transform: translate(50%, 100%);
    width: calc(37vw / 3.75);
    height: calc(48vw / 3.75);
  }
}

body:has(.popup) {
  overflow: hidden;
}

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

.modal.popup {
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(76, 130, 43, .8);
}

.modal-bk {
  position: fixed;
  top: 0;
  left: 0;
  width: 100dvw;
  height: 100dvh;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal-bk {
    pointer-events: none;
  }
}

.modal-item-bk {
  width:100%;
  aspect-ratio: 226 / 140;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../img/bk_wood.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 37px;
}
@media screen and (max-width: 767px) {
  .modal-item-bk {
    height: 100%;
    aspect-ratio: auto;
    background-image: url(../img/bk_wood_sp.svg);
    background-size: calc(718vw / 3.75);
    background-position: center top;
    background-repeat: repeat;
    padding: 1rem;
    border-radius: 30px;
  }
}

.modal-container {
  max-height: 620px;
  height: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .modal-container {
    max-height: none;
    height: 100%;
    padding: calc(18vw / 3.75);
  }
}

.modal-item {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  background-color: #FBEDC4;
  border-radius: 30px;
  padding: min(2.85714285714286vw,40px) min(3.94vw,55px);
}
@media screen and (max-width: 767px) {
  .modal-item {
    padding: calc(25vw / 3.75) calc(12.5vw / 3.75);
  }
}

.modal-item h3 {
  font-size: min(2.28571428571429vw,32px);
  font-weight: 700;
  padding-bottom: 1.5rem;
  margin-bottom: min(1.5vw,21px);
  background-image: url(../img/Ivy.svg);
  background-position: bottom center;
  background-size: min(6.14285714285714vw,86px);
  background-repeat: no-repeat;
  letter-spacing: 0.08rem;
}
@media screen and (max-width: 767px) {
  .modal-item h3 {
    font-size: calc(23vw / 3.75);
    background-size: calc(51.4vw / 3.75);
    padding-top: calc(35vw / 3.75);
    padding-bottom: 1rem;
    margin-bottom: calc(25vw / 3.75);
  }
}

.modal-item-text {
  overflow-y: scroll;
  width: 100%;
  aspect-ratio: 70 / 33;
  scrollbar-color: #4C822B #FBEDC4;
  scrollbar-width: thin;
}
.modal-item-text::-webkit-scrollbar {
  width: 2px;
  background-color: #FBEDC4; 
}
.modal-item-text::-webkit-scrollbar-track {
  background: #FBEDC4;
  border-radius: 10px;
}
.modal-item-text::-webkit-scrollbar-thumb {
  background: #4C822B;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .modal-item-text {
    aspect-ratio: auto;
  }
}



.modal-item-text p {
  font-size: 15px;
  padding: 0 min(3.94vw,55px);
}
@media screen and (max-width: 767px) {
  .modal-item-text p {
    font-size: calc(14vw / 3.75);
    padding: 0 calc(12.5vw / 3.75);
  }
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 45px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #E45418;
  transition: .4s;
}
.modal-close:hover {
  cursor: pointer;
  opacity: .8;
}
@media screen and (max-width: 767px) {
  .modal-close {
    top: calc(10vw / 3.75);
    right: calc(10vw / 3.75);
    width: calc(35vw / 3.75);
  }
}

.modal-close span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.modal-close span::before ,.modal-close span::after {
  content: "";
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 2px;
  height: 50%;
  background-color: #fff;
  transition: .4s;
}
.modal-close span::before {
  transform: translate(-50% , -50%) rotate(45deg);
}
.modal-close span::after {
  transform: translate(-50% , -50%) rotate(-45deg);
}
.modal-close:hover span::before {
  transform: translate(-50% , -50%) rotate(-45deg);
}
.modal-close:hover span::after {
  transform: translate(-50% , -50%) rotate(45deg);
}

/* アニメーション */

.fv-anime {
  position: absolute;
  bottom: 1vw;
  left: 50%;
  transform: translateX(-50%);
  width: calc(600vw / 14);
  aspect-ratio: 600 / 555;
}
@media screen and (max-width: 767px) {
  .fv-anime {
    width: calc(350vw / 3.75);
  }
}

.fv-anime-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.fv-anime-tree {
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.fv-anime-tree img {
  width: 100%;
}

.splide__slide img {
  width: 100%;
}