@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Pinyon+Script&display=swap");
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 100;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-Thin.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 200;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-ExtraLight.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 300;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 400;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 500;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 600;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 700;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 800;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-ExtraBold.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 900;
  src: url("../../font/Noto_Sans_Japanese/woff2/NotoSansJP-Black.woff2") format("woff2");
}
@font-face {
  font-family: "M_PLUS_Rounded_1c";
  font-style: normal;
  font-weight: 400;
  src: url("../../font/M_PLUS_Rounded_1c/MPLUSRounded1c-Regular.ttf") format("woff2");
}
@font-face {
  font-family: "M_PLUS_Rounded_1c";
  font-style: normal;
  font-weight: 500;
  src: url("../../font/M_PLUS_Rounded_1c/MPLUSRounded1c-Medium.ttf") format("woff2");
}
@font-face {
  font-family: "M_PLUS_Rounded_1c";
  font-style: normal;
  font-weight: 700;
  src: url("../../font/M_PLUS_Rounded_1c/MPLUSRounded1c-Bold.ttf") format("woff2");
}
html {
  scroll-behavior: smooth;
  /****** アンカーリンク用高さ調整 start  ******/
  scroll-padding-top: 180px;
  /******* アンカーリンク用高さ調整 end  *******/
}
html body {
  width: 100%;
  font-family: "M_PLUS_Rounded_1c", "LINESeedJP", sans-serif;
  color: #4e5c07;
  background: #fbffe8;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "pkna" 1;
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.1rem);
  line-height: 1.5;
  letter-spacing: 0.1rem;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html p {
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
html a {
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
html td {
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}

/*****************************************/
/*****  ヘッダー部分基本幅設定  start  *****/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
.header_layout_width {
  width: 98%;
  margin: 0 auto;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/******  ヘッダー部分基本幅設定  end  ******/
/*****************************************/
img {
  max-width: 100%;
}

/*****************************************/
/****  コンテンツ部分基本幅設定  start  ****/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
.layout_width_full {
  width: 90%;
  padding: 0 2rem;
  margin: 0 auto;
}

.layout_width {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.layout_width_1024 {
  width: 100%;
  max-width: 1024px;
  padding: 0 2rem;
  margin: 0 auto;
}

.layout_width_830 {
  width: 100%;
  max-width: 830px;
  padding: 0 2rem;
  margin: 0 auto;
}

@media screen and (max-width: 480px) {
  .layout_width {
    padding: 0 1rem;
  }
  .layout_width_1024 {
    padding: 0 1rem;
  }
  .layout_width_830 {
    padding: 0 1rem;
  }
}
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/*****  コンテンツ部分基本幅設定  end  *****/
/*****************************************/
/*****************************************/
/*****  セクション部分空白設定  start  *****/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
section {
  padding: 5rem 0 5rem;
}

@media screen and (max-width: 1024px) {
  section {
    padding: 4rem 0 4rem;
  }
}
@media screen and (max-width: 768px) {
  section {
    padding: 3rem 0 3rem;
  }
}
@media screen and (max-width: 480px) {
  section {
    padding: 2.5rem 0 2.5rem;
  }
}
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/******  セクション部分空白設定  end  ******/
/*****************************************/
.bgcolor {
  background-color: #C3D36F;
}
.bgcolor div h2 {
  color: #EACEFC;
}
.bgcolor div h2 b {
  color: #EACEFC;
}

/*****************************************/
/*******  見出し[h2]部分設定  start  ******/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
.main-ttl {
  z-index: 999;
  margin-bottom: 50px;
}
.main-ttl h2 {
  color: #4e5c07;
  font-weight: 500;
  font-size: clamp(2.8rem, 2.76rem + 0.2vw, 3rem);
  align-items: center;
  text-transform: uppercase;
  text-align: center;
}
.main-ttl h2 p {
  font-size: clamp(2.8rem, 2.76rem + 0.2vw, 3rem);
  line-height: 1;
  text-align: center;
  font-weight: 700;
}
.main-ttl h2 p::first-letter {
  color: #C3D36F;
  text-transform: uppercase;
}
.main-ttl h2 .deco {
  font-size: clamp(1.3rem, 1.26rem + 0.2vw, 1.5rem);
  font-weight: 700;
  border-bottom: 6px double #C3D36F;
}

.main-ttl02 {
  margin-bottom: 50px;
}
.main-ttl02 h2 {
  position: relative;
  padding: 1.5rem;
  text-align: center;
  border: 2px solid #000;
  background: #fff;
  font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem);
}
.main-ttl02 h2 i {
  color: #f3f30c;
}
.main-ttl02 h2 br {
  display: none;
}
.main-ttl02 h2:before,
.main-ttl02 h2:after {
  position: absolute;
  content: "";
}
.main-ttl02 h2:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-radius: 50%;
  background: #fff;
}
.main-ttl02 h2:after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}
.main-ttl02 h2 i {
  font-size: 30px;
  font-size: 3rem;
  line-height: 75px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 60px;
  text-align: center;
}
.main-ttl02 h2 span {
  position: relative;
  z-index: 1;
}

.main-ttl03 {
  margin-bottom: 50px;
  text-align: center;
  background-color: #fff;
  width: 70%;
  margin: auto;
}
.main-ttl03 h2 {
  position: relative;
  padding: 1rem 0;
  border-bottom: 5px solid #FAD975;
  border-right: 5px solid #FAD975;
  font-size: clamp(1.8rem, 1.76rem + 0.2vw, 2rem);
  font-weight: 700;
}
.main-ttl03 h2 br {
  display: none;
}
.main-ttl03 h2 i {
  margin-right: 10px;
}
.main-ttl03 h2:before,
.main-ttl03 h2:after {
  position: absolute;
  content: "";
  left: 1em;
  width: 0;
  height: 0;
  border-width: 14px 24px 0;
  border-style: solid;
}
.main-ttl03 h2:before {
  bottom: -17px;
  border-color: #FAD975 transparent transparent;
}
.main-ttl03 h2:after {
  bottom: -12px;
  border-color: #fff transparent transparent;
}

.main-ttl04 {
  text-align: center;
}
.main-ttl04 h2 {
  position: relative;
  padding: 1rem 0;
  border: 1px solid #D8D8D8;
  border-top: 4px solid #C3D36F;
  background: linear-gradient(#ffffff 0%, #eee 100%);
  font-size: clamp(1.3rem, 1.26rem + 0.2vw, 1.5rem);
  font-weight: 700;
  margin: auto;
}
.main-ttl04 h2 br {
  display: none;
}
.main-ttl04 h2 i {
  margin-right: 10px;
}

#mochitto .main-ttl04 h2 {
  border-top: 4px solid #EACEFC;
}

#natural .main-ttl04 h2,
#margin .main-ttl04 h2 {
  border-top: 4px solid #FAD975;
}

@media screen and (max-width: 1024px) {
  .main-ttl h2 {
    font-size: clamp(2.1rem, 2.06rem + 0.2vw, 2.3rem);
  }
  .main-ttl h2 p {
    font-size: clamp(2.1rem, 2.06rem + 0.2vw, 2.3rem);
  }
  .main-ttl h2 .deco {
    font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  }
  .main-ttl02 h2 {
    font-size: 24px;
  }
  .main-ttl03 {
    width: 90%;
  }
  .main-ttl03 h2 {
    font-size: 24px;
  }
  .main-ttl04 h2 {
    font-size: 24px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main-ttl h2 {
    font-size: clamp(2rem, 1.96rem + 0.2vw, 2.2rem);
  }
  .main-ttl h2 .deco {
    margin-top: 0;
  }
  .main-ttl02 h2 {
    font-size: 20px;
  }
  .main-ttl02 h2 br {
    display: block;
  }
  .main-ttl03 {
    width: 90%;
  }
  .main-ttl03 h2 {
    font-size: 20px;
  }
  .main-ttl03 h2 br {
    display: block;
  }
  .main-ttl04 h2 {
    font-size: 20px;
    width: 100%;
  }
  .main-ttl04 h2 br {
    display: block;
  }
}
@media screen and (max-width: 560px) {
  .main-ttl h2 {
    flex-direction: column;
    font-size: 25px;
  }
  .main-ttl h2 p {
    font-size: 25px;
  }
  .main-ttl h2 .deco {
    margin-top: 0;
  }
  .main-ttl h2 .deco span {
    display: inline-block;
  }
  .main-ttl h2 .deco::before {
    margin: 0;
  }
  .main-ttl02 h2 {
    font-size: 18px;
  }
  .main-ttl02 h2 i {
    font-size: 2rem;
  }
  .main-ttl03 {
    width: 90%;
    margin: 0 auto;
  }
  .main-ttl03 h2 {
    font-size: 18px;
  }
  .main-ttl04 h2 {
    font-size: 18px;
  }
  .main-ttl04 h2 br {
    display: block;
  }
  .main-ttl04 h2 span {
    display: inline-block;
  }
}
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/********  見出し[h2]部分設定  end  *******/
/*****************************************/
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/********  飾り文字　start  *******/
/*****************************************/
.deco01 {
  font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  color: #fff;
  font-weight: 700;
  text-shadow: rgb(195, 211, 111) 4px 0px 0px, rgb(195, 211, 111) 3.87565px 0.989616px 0px, rgb(195, 211, 111) 3.51033px 1.9177px 0px, rgb(195, 211, 111) 2.92676px 2.72656px 0px, rgb(195, 211, 111) 2.16121px 3.36588px 0px, rgb(195, 211, 111) 1.26129px 3.79594px 0px, rgb(195, 211, 111) 0.282949px 3.98998px 0px, rgb(195, 211, 111) -0.712984px 3.93594px 0px, rgb(195, 211, 111) -1.66459px 3.63719px 0px, rgb(195, 211, 111) -2.51269px 3.11229px 0px, rgb(195, 211, 111) -3.20457px 2.39389px 0px, rgb(195, 211, 111) -3.69721px 1.52664px 0px, rgb(195, 211, 111) -3.95997px 0.56448px 0px, rgb(195, 211, 111) -3.97652px -0.432781px 0px, rgb(195, 211, 111) -3.74583px -1.40313px 0px, rgb(195, 211, 111) -3.28224px -2.28625px 0px, rgb(195, 211, 111) -2.61457px -3.02721px 0px, rgb(195, 211, 111) -1.78435px -3.57996px 0px, rgb(195, 211, 111) -0.843183px -3.91012px 0px, rgb(195, 211, 111) 0.150409px -3.99717px 0px, rgb(195, 211, 111) 1.13465px -3.8357px 0px, rgb(195, 211, 111) 2.04834px -3.43574px 0px, rgb(195, 211, 111) 2.83468px -2.82216px 0px, rgb(195, 211, 111) 3.44477px -2.03312px 0px, rgb(195, 211, 111) 3.84068px -1.11766px 0px, rgb(195, 211, 111) 3.9978px -0.132717px 0px;
}

.deco02 {
  font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  color: #fff;
  font-weight: 700;
  text-shadow: rgb(250, 217, 117) 4px 0px 0px, rgb(250, 217, 117) 3.87565px 0.989616px 0px, rgb(250, 217, 117) 3.51033px 1.9177px 0px, rgb(250, 217, 117) 2.92676px 2.72656px 0px, rgb(250, 217, 117) 2.16121px 3.36588px 0px, rgb(250, 217, 117) 1.26129px 3.79594px 0px, rgb(250, 217, 117) 0.282949px 3.98998px 0px, rgb(250, 217, 117) -0.712984px 3.93594px 0px, rgb(250, 217, 117) -1.66459px 3.63719px 0px, rgb(250, 217, 117) -2.51269px 3.11229px 0px, rgb(250, 217, 117) -3.20457px 2.39389px 0px, rgb(250, 217, 117) -3.69721px 1.52664px 0px, rgb(250, 217, 117) -3.95997px 0.56448px 0px, rgb(250, 217, 117) -3.97652px -0.432781px 0px, rgb(250, 217, 117) -3.74583px -1.40313px 0px, rgb(250, 217, 117) -3.28224px -2.28625px 0px, rgb(250, 217, 117) -2.61457px -3.02721px 0px, rgb(250, 217, 117) -1.78435px -3.57996px 0px, rgb(250, 217, 117) -0.843183px -3.91012px 0px, rgb(250, 217, 117) 0.150409px -3.99717px 0px, rgb(250, 217, 117) 1.13465px -3.8357px 0px, rgb(250, 217, 117) 2.04834px -3.43574px 0px, rgb(250, 217, 117) 2.83468px -2.82216px 0px, rgb(250, 217, 117) 3.44477px -2.03312px 0px, rgb(250, 217, 117) 3.84068px -1.11766px 0px, rgb(250, 217, 117) 3.9978px -0.132717px 0px;
}

.bold {
  font-weight: 700;
}

.big {
  font-size: clamp(1.3rem, 1.26rem + 0.2vw, 1.5rem);
  font-weight: 700;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/********  飾り文字　end　　　　　　 *******/
/*****************************************/
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/********  ボタン　start　　　　　　 *******/
/*****************************************/
.button-2 a {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12.5px 15px 12.5px 30px;
  background-color: #C3D36F;
  border: 1px solid #C3D36F;
  color: #fff;
  position: relative;
  border-radius: 30px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
  justify-content: center;
  transition: 1s all;
}
.button-2 a i {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  aspect-ratio: 1/1;
  border-radius: 50%;
  padding: 10px;
  background-color: #fff;
  color: #C3D36F;
  line-height: 1;
  transition: 1s all;
}
.button-2 a:hover {
  background-color: #fff;
  color: #C3D36F;
}
.button-2 a:hover i {
  background-color: #C3D36F;
  color: #fff;
}

#mochitto .button-2 a {
  background-color: #EACEFC;
  border: 1px solid #EACEFC;
}
#mochitto .button-2 a i {
  color: #EACEFC;
}
#mochitto .button-2 a:hover {
  background-color: #fff;
  color: #EACEFC;
}
#mochitto .button-2 a:hover i {
  background-color: #EACEFC;
  color: #fff;
}

#kitchen .button-2 a {
  background-color: #FAD975;
  border: 1px solid #FAD975;
}
#kitchen .button-2 a i {
  color: #FAD975;
}
#kitchen .button-2 a:hover {
  background-color: #fff;
  color: #FAD975;
}
#kitchen .button-2 a:hover i {
  background-color: #FAD975;
  color: #fff;
}

.button-5 {
  padding-block: 30px;
}
.button-5 a {
  min-width: 240px;
  display: flex;
  justify-content: center;
  color: #EACEFC;
  position: relative;
}
.button-5 a span {
  padding: 15px;
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  height: 100%;
}
.button-5 a span:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  background: #EACEFC;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: -30px;
  z-index: -1;
  opacity: 0.3;
  transition: width 1s;
}
.button-5 a span::after {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
}
.button-5 a:hover span::before {
  width: calc(100% + 50px);
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/********  ボタン　end  　　　　　　 *******/
/*****************************************/
/*****************************************/
/**********  マーカー設定  start  *********/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
.marker_type1 {
  display: inline;
  background: linear-gradient(transparent 60%, rgba(255, 251, 0, 0.6) 55%);
  padding: 0 0.15rem;
  margin: 0 0.15rem;
  -webkit-text-emphasis: filled #C3D36F;
  text-emphasis: filled #C3D36F;
  font-weight: bold;
}

.marker_type2 {
  display: inline;
  background: linear-gradient(transparent 21%, rgba(194, 211, 111, 0.308) 80%);
  padding: 0 0.15rem 0.25rem;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/***********  マーカー設定  end  **********/
/*****************************************/
/*****************************************/
/********フォトギャラリー上下中央設定*******/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
#lightbox {
  width: 100%;
  height: 100svh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/******  フォトギャラリー上下中央設定 ******/
/*****************************************/
/*****************************************/
/**********  パララックス  start  *********/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
.parallax_imagebox {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: transparent;
  min-height: 400px;
}
.parallax_imagebox .background {
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
}
.parallax_imagebox .bg_image_one {
  background-image: url("../../img/common/sample__bg.jpg");
}

@media screen and (max-width: 768px) {
  .parallax_imagebox {
    height: 400px;
  }
  .parallax_imagebox .background {
    background-position: bottom -20vh;
  }
}
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
/***********  パララックス  end  **********/
/*****************************************/
#breadcrumb {
  padding: 0rem 0;
  margin: 1rem 0;
  width: 100%;
}
#breadcrumb .breadcrumb__warp {
  width: 100%;
  display: flex;
  justify-content: left;
  align-items: flex-start;
}
#breadcrumb .breadcrumb__warp ol {
  width: 100%;
  display: flex;
}
#breadcrumb .breadcrumb__warp ol li {
  padding: 0 0.5rem;
  font-size: clamp(0.6rem, 0.56rem + 0.2vw, 0.8rem);
  font-weight: 800;
}
#breadcrumb .breadcrumb__warp ol li:first-child {
  padding: 0 1rem 0 0;
}

.menu-open {
  overflow: hidden;
  height: 100vh;
  touch-action: none;
}

header {
  width: 100%;
  z-index: 9999;
  position: fixed !important;
  top: 0;
  left: 0;
}
header.fixed {
  transition: 1s;
  box-shadow: rgba(100, 100, 100, 0.5) 0px 5px 5px -5px, rgba(0, 0, 0, 0.3) 0px 5px 5px -5px;
  text-shadow: 0 0px 5px rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.6431372549);
}
header.fixed .header__logo a figure {
  width: 200px;
}
header .header__warp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 100%;
  width: 100%;
  padding: 5px 1.5rem;
  height: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 1100px) {
  header .header__warp {
    max-width: 100%;
  }
}
@media screen and (max-width: 480px) {
  header .header__warp {
    max-width: 100%;
    padding: 5px 1.5rem;
  }
}
header .header__logo {
  flex: 0 0 auto;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  width: -moz-fit-content;
  width: fit-content;
  max-width: 250px;
  font-weight: 900;
  letter-spacing: 0.12em;
  font-size: clamp(1.5rem, 1.46rem + 0.2vw, 1.7rem);
  line-height: 1.1;
  text-shadow: 0 2px 8px rgba(200, 29, 29, 0.1333333333), 0 0 2px #fff;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
}
header .header__logo a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: none;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  transition: color 0.3s;
  position: relative;
  z-index: 2;
  color: #C3D36F;
}
header .header__logo a figure {
  position: relative;
  top: 0px;
  left: 0px;
  width: 250px;
  margin: 0;
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  header .header__logo a figure {
    width: -moz-fit-content;
    width: fit-content;
  }
}
header .header__logo a figure img {
  margin: 10px 0;
  width: 100%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.3s;
}
@media screen and (max-width: 1100px) {
  header .header__logo a figure img {
    margin-top: 10px;
    width: 180px;
  }
}
@media screen and (max-width: 480px) {
  header .header__logo a figure img {
    width: 150px;
  }
}
header .header__logo:hover {
  opacity: 0.7;
}
header .container-header .header__nav {
  display: flex;
  flex-direction: column-reverse;
}
header .container-header .header__nav .nav__list {
  display: flex;
  gap: 3rem;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
header .container-header .header__nav .nav__list li {
  position: relative;
  padding: 0;
}
header .container-header .header__nav .nav__list li > a {
  display: block;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s, opacity 0.3s;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
header .container-header .header__nav .nav__list li > a p {
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  transition: color 0.3s ease;
  color: #4e5c07;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
  text-transform: uppercase;
}
header .container-header .header__nav .nav__list li > a span {
  display: inline-block;
  color: #C3D36F;
  transition: color 0.3s ease;
  text-transform: uppercase;
  font-size: 0.8rem;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
header .container-header .header__nav .nav__list li > a::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 2px;
  background: #FAD975;
  transition: width 0.3s ease-in-out;
}
header .container-header .header__nav .nav__list li > a:hover::after {
  width: 100%;
}
header .container-header .header__nav .nav__list li.active a::after {
  width: 100%;
}
header .container-header .header__nav .nav__list li .youtubelink::after {
  display: none;
  background-color: transparent;
}
header .container-header .header__nav .nav__list .telbtn02,
header .container-header .header__nav .nav__list a.telbtn02,
header .container-header .header__nav .nav__list button.telbtn02 {
  font-weight: 700;
  line-height: 1;
  position: relative;
  display: inline-block;
  padding: 10px 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #212529;
  border-radius: 0.5rem;
}
header .container-header .header__nav .nav__list .telbtn02 i,
header .container-header .header__nav .nav__list a.telbtn02 i,
header .container-header .header__nav .nav__list button.telbtn02 i {
  margin-right: 5px;
}
header .container-header .header__nav .nav__list .btn-wrap {
  margin: 0 auto;
  text-align: center;
}
header .container-header .header__nav .nav__list a.btn-c {
  font-size: 20px;
  position: relative;
  color: #fff;
  background: #008000;
  box-shadow: 0 5px 0 #2c9d60;
}
header .container-header .header__nav .nav__list a.btn-c span {
  font-size: 1rem;
  position: absolute;
  top: -10px;
  left: calc(50% - 70px);
  display: block;
  width: 140px;
  padding: 0.2rem 0;
  color: #008000;
  border: 2px solid #32b16c;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}
header .container-header .header__nav .nav__list a.btn-c:hover {
  transform: translate(0, 3px);
  color: #fff;
  background: #30a967;
  box-shadow: 0 2px 0 #2c9d60;
}
header .container-header .header__nav .nav__list a.btn-c:hover:before {
  left: 2rem;
}
header .container-header .header__sp {
  display: none;
}
header .container-header .header__sp .menu-button {
  width: 40px;
  height: 40px;
  position: relative;
  cursor: pointer;
  z-index: 100001;
}
header .container-header .header__sp .menu-button .menu-button__line,
header .container-header .header__sp .menu-button .menu-button__line::before,
header .container-header .header__sp .menu-button .menu-button__line::after {
  display: block;
  position: absolute;
  width: 28px;
  height: 3px;
  background: #EACEFC;
  border-radius: 2px;
  content: "";
  left: 6px;
  transition: all 0.3s;
}
header .container-header .header__sp .menu-button .menu-button__line {
  top: 19px;
}
header .container-header .header__sp .menu-button .menu-button__line::before {
  top: -10px;
}
header .container-header .header__sp .menu-button .menu-button__line::after {
  top: 10px;
}
header .container-header .header__sp .menu-button.active .menu-button__line {
  background: transparent;
}
header .container-header .header__sp .menu-button.active .menu-button__line::before {
  transform: translateY(10px) rotate(45deg);
  background: #EACEFC;
}
header .container-header .header__sp .menu-button.active .menu-button__line::after {
  transform: translateY(-10px) rotate(-45deg);
  background: #EACEFC;
}
header .container-header .header__sp .sp-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f4ffe9;
  border-bottom: 4px solid #f9f9f9;
  z-index: 10000;
  padding: 5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease-in-out, transform 0.5s ease, visibility 0.5s ease;
  display: flex;
  flex-direction: column;
}
header .container-header .header__sp .sp-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: 480px;
  margin: 0 auto;
  gap: 1rem;
}
header .container-header .header__sp .sp-nav ul > li {
  border-bottom: 4px dotted #ddd;
  width: 100%;
}
header .container-header .header__sp .sp-nav ul > li > a {
  display: block;
  padding: 1rem 0 10px;
  font-size: 1.2em;
  color: #777;
  text-decoration: none;
  font-weight: 500;
  width: 100%;
  font-weight: bold;
  position: relative;
}
header .container-header .header__sp .sp-nav ul > li > a::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin-right: 0.5em;
  color: #EACEFC;
  font-size: 1em;
  min-width: 1em;
  display: inline-block;
  text-align: center;
}
header .container-header .header__sp .sp-nav ul > li > a p {
  display: inline-block;
}
header .container-header .header__sp .sp-nav ul > li > a span {
  display: none;
}
header .container-header .header__sp .sp-nav ul > li ul {
  display: none;
}
header .container-header .header__sp .sp-nav ul .link-list {
  display: flex;
  gap: 1rem;
  justify-content: center;
  list-style: none;
  padding: 0;
  flex-direction: row !important;
  flex-wrap: wrap;
  height: auto;
  margin-top: 2rem;
  width: 90%;
  max-width: 300px;
  /* Instagramボタン（通常時ブランドカラー、ホバー時白背景） */
  /* BASEボタン（通常時ブランドカラー、ホバー時白背景） */
}
header .container-header .header__sp .sp-nav ul .link-list li {
  border-bottom: none;
  width: 100%;
}
header .container-header .header__sp .sp-nav ul .link-list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 2rem;
  font-weight: bold;
  font-size: 1rem;
  text-decoration: none;
  transition: background 0.3s, color 0.3s, box-shadow 0.3s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
  border: none;
  outline: none;
  min-width: 0px;
}
header .container-header .header__sp .sp-nav ul .link-list li a::before {
  display: none;
}
header .container-header .header__sp .sp-nav ul .link-list li a i {
  font-size: 1.2em;
  transition: color 0.3s;
}
header .container-header .header__sp .sp-nav ul .link-list li.base a {
  background: #1C9C82;
  color: #fff;
  border: 2px solid #1C9C82;
}
header .container-header .header__sp .sp-nav ul .link-list li.base a i.fa-cart-shopping {
  color: #fff;
}
header .container-header .header__sp .sp-nav ul .link-list li.base a:hover, header .container-header .header__sp .sp-nav ul .link-list li.base a:focus {
  background: #fff;
  color: #1C9C82;
}
header .container-header .header__sp .sp-nav ul .link-list li.base a:hover i.fa-cart-shopping, header .container-header .header__sp .sp-nav ul .link-list li.base a:focus i.fa-cart-shopping {
  color: #1C9C82;
}
header .container-header .header__sp .sp-nav.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

@media screen and (max-width: 1024px) {
  header .container-header .header__nav .nav__list {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .header__logo a figure {
    height: 60px;
  }
  header .header__logo a figure {
    width: 110px;
  }
  header .header__logo a figure img {
    margin: 10px 0 0;
  }
}
#heading {
  width: 100%;
  height: 400px;
  position: relative;
  padding: 0;
}
#heading .background {
  width: 100%;
  height: 100%;
  position: relative;
}
#heading .background__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
}
#heading .background__image {
  position: fixed;
  transform: translate(0%, 0%);
  top: 0;
  width: 100%;
  height: 60vh;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: -1;
}
#heading .background__image--group {
  background-image: url("../../img/common/heading/top-item01.jpg");
  background-position: center center;
}
#heading .background__image--contract-info {
  background-image: url("../../img/common/heading/top-item02.jpg");
  background-position: center center;
}
#heading .background__image--contact {
  background-image: url("../../img/common/heading/top-item03.jpg");
  background-position: center center;
}
#heading .background::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  top: 0;
  left: 0;
  background-color: rgb(255, 255, 255);
  opacity: 0.2;
  z-index: 1;
}
#heading .heading {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: start;
  align-items: center;
  text-align: left;
  width: 100%;
  margin: 0 auto;
}
#heading .heading .deco_line {
  border-top: 3px solid black;
  border-right: 2px solid black;
  width: 10%;
  height: 100px;
  margin-bottom: -3px;
  z-index: 2;
}
#heading .heading h1 {
  display: flex;
  flex-direction: column;
  line-height: 40px;
  gap: 15px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 2.25em;
  padding: 2rem;
  position: relative;
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  z-index: 2;
}
#heading .heading h1::before {
  content: "";
  height: 3px;
  width: 100%;
  position: absolute;
  background-color: #C3D36F;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  #heading .background__image {
    position: fixed;
    transform: translate(0%, 0%);
    top: 0%;
  }
  #heading .heading h1 {
    font-size: 1.5em;
    padding: 0rem;
    padding-left: 0.5rem;
  }
  #heading .heading .deco_line {
    width: 5%;
    height: 50px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 480px) {
  #heading {
    height: 250px;
  }
  #heading .background__image {
    position: fixed;
    transform: translate(0%, 0%);
    top: 0%;
    height: 50vh;
  }
}
#floating {
  position: fixed;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 99;
  opacity: 0;
}
#floating li {
  display: none;
  margin: 2rem 0;
}
#floating li a {
  writing-mode: vertical-rl;
  gap: 7px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #C3D36F;
  font-size: 14px;
  padding: 10px;
  font-weight: bold;
  text-decoration: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  width: 37.5px;
}
#floating li a:hover {
  opacity: 0.5;
  transition: ease 0.4s;
}
#floating li a i {
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 1rem);
  margin-left: 2px;
}
#floating li a span {
  writing-mode: vertical-rl;
  display: inline-block;
  transform: rotate(0deg);
  text-orientation: upright;
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.1rem);
  line-height: 1;
  padding: 0;
  margin: 0;
  color: #fff;
  font-weight: 800;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  #floating {
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    transform: none;
    flex-direction: row;
    display: grid;
    padding: 0;
    border: none;
  }
  #floating li {
    display: block;
    width: 100%;
    margin: 0;
    border-top: #fff 3px solid;
  }
  #floating li a {
    writing-mode: unset;
    width: 100%;
    border-radius: 0;
    display: flex;
    justify-content: center;
    flex-direction: row;
    padding: 1rem;
    transition: background-color 0.3s ease, color 0.5s ease;
  }
  #floating li a:hover {
    transform: none;
    background-color: #EACEFC;
    color: #4e5c07;
    opacity: 1;
  }
  #floating li a:hover span {
    color: #4e5c07;
  }
  #floating li a span {
    display: block;
    writing-mode: horizontal-tb;
  }
  #floating li a i {
    margin-left: 0;
    font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  }
}
#hamburger {
  /*========= ナビゲーションのためのCSS ===============*/
  /*アクティブクラスがついたら位置を0に*/
  /*ナビゲーションの縦スクロール*/
  /*ナビゲーション*/
  /*リストのレイアウト設定*/
}
#hamburger #g-nav {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999999;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: -120%;
  width: 100%;
  height: 100vh;
  /*ナビの高さ*/
  background-color: #fbffe8;
  background-repeat: no-repeat;
  background-position: center;
  /*動き*/
  transition: all 0.6s;
}
#hamburger #g-nav .g-nav-icon {
  display: flex;
  align-items: center;
  width: 200px;
  margin-top: 30px;
  margin-left: 5px;
}
#hamburger #g-nav .g-nav-icon a {
  padding: 0;
}
#hamburger #g-nav .g-nav-icon a img {
  width: 30px;
  transition: 0.4s;
  margin: 0 auto;
}
#hamburger #g-nav .g-nav-icon a img:hover {
  opacity: 0.5;
}
#hamburger #g-nav .g-nav-icon a .youtube {
  width: 50px;
  margin-left: -5px;
}
#hamburger #g-nav.panelactive {
  right: 0;
}
#hamburger #g-nav.panelactive #g-nav-list {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#hamburger #g-nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  align-items: center;
  text-align: center;
}
#hamburger #g-nav ul img {
  width: 200px;
  margin-bottom: 20px;
}
#hamburger #g-nav ul img:hover {
  opacity: 0.5;
  transition: 0.4s;
}
#hamburger #g-nav li {
  list-style: none;
  text-align: center;
  position: relative;
  border-bottom: #b1b1b1 1px dotted;
}
#hamburger #g-nav li p {
  font-size: 13px;
  text-align: center;
  color: #4e5c07;
  margin-bottom: 5px;
  line-height: 2.5;
}
#hamburger #g-nav li .small i {
  margin-right: 10px;
  color: #c4302b;
}
#hamburger #g-nav li span {
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 700;
}
#hamburger #g-nav ul li a {
  color: #4e5c07;
  text-decoration: none;
  padding: 15px 0;
  display: block;
  letter-spacing: 0.1em;
  width: 250px;
  transition: 0.5s;
}
#hamburger #g-nav ul li a:hover {
  opacity: 0.5;
  transition: all 0.5s;
}
#hamburger #g-nav ul li a i {
  font-size: 25px;
}
#hamburger #g-nav .list-ec {
  margin: 25px auto 0;
  text-align: center;
}
#hamburger #g-nav .list-ec a {
  border-radius: 30px;
  padding: 10px 30px;
  transition: 0.5s;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  display: inline-block;
  width: 205px;
}
#hamburger #g-nav .list-ec a:hover {
  opacity: 0.5;
}
#hamburger #g-nav .list-ec a i {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  #hamburger #g-nav .list-ec a {
    font-size: 14px;
  }
}

/*========= ボタンのためのCSS ===============*/
.openbtn {
  display: none;
  position: absolute;
  z-index: 9999999;
  /*ボタンを最前面に*/
  top: 30px;
  right: 50px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 30px;
}

/*×に変化*/
.openbtn > span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 12px;
  height: 2px;
  border-radius: 2px;
  background-color: #C3D36F;
  width: 50%;
}

.openbtn > span:nth-of-type(1) {
  top: 15px;
}

.openbtn > span:nth-of-type(2) {
  top: 23px;
}

.openbtn > span:nth-of-type(3) {
  top: 31px;
}

.openbtn.active > span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
  z-index: 1000000;
  background-color: #C3D36F;
}

.openbtn.active > span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active > span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
  z-index: 1000000;
  background-color: #C3D36F;
}

@media screen and (max-width: 1024px) {
  .openbtn {
    transition: opacity 3s ease-out, transform 1.5s ease-out;
    display: block;
    top: 10px;
    right: 10px;
    cursor: pointer;
  }
}
#vegetto {
  max-width: 1280px;
  margin: 0 auto;
}
#vegetto .group_inner ul li {
  margin: 0 0 2rem;
  position: relative;
  padding: 3rem 2rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
}
#vegetto .group_inner ul li figure {
  width: 48%;
  aspect-ratio: 4/3;
}
#vegetto .group_inner ul li figure img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
#vegetto .group_inner ul li .text {
  margin: 0rem 0 0 0;
  bottom: 0;
  width: 48%;
  background-color: #fbffe8;
  padding: 20px;
  line-height: 1.8;
  border-radius: 20px;
}
#vegetto .group_inner ul li .text p {
  width: 100%;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  padding: 10px 0;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  transform: rotate(0.05deg);
}
#vegetto .group_inner ul li .text p span {
  display: inline-block;
}
#vegetto .group_list__target {
  padding: 1rem 2rem 3rem;
}
#vegetto .group_list__target ul {
  width: 100%;
  margin: auto;
}
#vegetto .group_list__target ul li {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  line-height: 1.8;
  padding-top: 20px;
  font-weight: 500;
  transform: rotate(0.05deg);
}
#vegetto .group_list__target ul li i {
  color: #C3D36F;
  margin-right: 10px;
}
#vegetto .group_list__text {
  width: 100%;
  margin: auto;
  padding-top: 20px;
  transform: rotate(0.05deg);
}
#vegetto .group_list__text p {
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.1rem);
}
#vegetto .group_list__text p span {
  display: inline-block;
}
#vegetto .group_list__item {
  padding: 1rem 2rem 3rem;
}
#vegetto .group_list__item ul {
  width: 100%;
  margin: auto;
}
#vegetto .group_list__item ul li {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  line-height: 1.8;
  padding-top: 20px;
  font-weight: 500;
  transform: rotate(0.05deg);
}
#vegetto .group_list__item ul li i {
  color: #C3D36F;
  margin-right: 10px;
}
#vegetto .group_list__shop {
  padding: 1rem 2rem 3rem;
}
#vegetto .group_list__shop .item2 {
  margin: 20px auto;
  display: flex;
  gap: 1rem;
}
#vegetto .group_list__shop .item2 table {
  width: 58%;
  transform: rotate(0.05deg);
}
#vegetto .group_list__shop .item2 table tbody tr {
  vertical-align: middle;
  text-align: left;
  line-height: 2;
}
#vegetto .group_list__shop .item2 table tbody th {
  padding: 20px 0 20px 20px;
  width: 30%;
  margin: auto;
  border-bottom: #C3D36F 1px solid;
  transform: rotate(0.05deg);
}
#vegetto .group_list__shop .item2 table tbody td {
  padding: 20px 0;
  border-bottom: #4e5c07 1px solid;
  transform: rotate(0.05deg);
}
#vegetto .group_list__shop .item2 table tbody td span {
  display: inline-block;
}
#vegetto .group_list__shop .item2 table tbody td p {
  margin: 15px 0 15px 25px;
  position: relative;
}
#vegetto .group_list__shop .item2 table tbody td p::before {
  position: absolute;
  content: "◆";
  display: block;
  width: 10px;
  height: 10px;
  top: 0;
  left: -25px;
  z-index: -1;
}
#vegetto .group_list__shop .item2 table tbody td .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#vegetto .group_list__shop .item2 figure {
  width: 38%;
}
#vegetto .group_list__shop .item2 figure img {
  border-radius: 20px;
}

@media screen and (max-width: 1024px) {
  #vegetto .group_inner ul li {
    flex-direction: column;
  }
  #vegetto .group_inner ul li figure {
    width: 90%;
  }
  #vegetto .group_inner ul li .text {
    width: 100%;
  }
  #vegetto .group_list__shop .item2 {
    flex-direction: column;
  }
  #vegetto .group_list__shop .item2 table {
    width: 90%;
    margin: 0 auto;
  }
  #vegetto .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #vegetto .group_inner ul li {
    padding: 0rem 1rem 0rem;
  }
  #vegetto .group_inner ul li figure {
    width: 90%;
  }
  #vegetto .group_inner ul li .text {
    width: 100%;
    padding: 0;
  }
  #vegetto .group_list__target {
    padding: 0rem 1rem 2rem;
  }
  #vegetto .group_list__item {
    padding: 0rem 1rem 2rem;
  }
  #vegetto .group_list__shop {
    padding: 0rem 1rem 2rem;
  }
  #vegetto .group_list__shop .item2 {
    flex-direction: column;
  }
  #vegetto .group_list__shop .item2 table {
    width: 100%;
    margin: 0 auto;
  }
  #vegetto .group_list__shop .item2 table tbody th {
    width: 35%;
  }
  #vegetto .group_list__shop .item2 table tbody td {
    padding: 20px 0 20px 20px;
  }
  #vegetto .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
#mochitto {
  max-width: 1280px;
  margin: 0 auto;
}
#mochitto .group_inner ul li {
  margin: 0 0 2rem;
  position: relative;
  padding: 3rem 2rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
}
#mochitto .group_inner ul li figure {
  width: 48%;
  aspect-ratio: 4/3;
}
#mochitto .group_inner ul li figure img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
#mochitto .group_inner ul li .text {
  margin: 0rem 0 0 0;
  bottom: 0;
  width: 48%;
  background-color: #fbffe8;
  padding: 20px;
  line-height: 1.8;
  border-radius: 20px;
}
#mochitto .group_inner ul li .text p {
  width: 100%;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  padding: 10px 0;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  transform: rotate(0.05deg);
}
#mochitto .group_inner ul li .text p span {
  display: inline-block;
}
#mochitto .group_list__target {
  padding: 1rem 2rem 3rem;
}
#mochitto .group_list__target ul {
  width: 9 90%;
  margin: auto;
}
#mochitto .group_list__target ul li {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  line-height: 1.8;
  padding-top: 20px;
  font-weight: 500;
  transform: rotate(0.05deg);
}
#mochitto .group_list__target ul li i {
  color: #EACEFC;
  margin-right: 10px;
}
#mochitto .group_list__text {
  width: 100%;
  margin: auto;
  padding-top: 20px;
  transform: rotate(0.05deg);
}
#mochitto .group_list__text p {
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.1rem);
}
#mochitto .group_list__text p span {
  display: inline-block;
}
#mochitto .group_list__item {
  padding: 1rem 2rem 3rem;
}
#mochitto .group_list__item ul {
  width: 100%;
  margin: auto;
}
#mochitto .group_list__item ul li {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  line-height: 1.8;
  padding-top: 20px;
  font-weight: 500;
  transform: rotate(0.05deg);
}
#mochitto .group_list__item ul li i {
  color: #EACEFC;
  margin-right: 10px;
}
#mochitto .group_list__shop {
  padding: 1rem 2rem 3rem;
}
#mochitto .group_list__shop .item2 {
  margin: 20px auto;
  display: flex;
  gap: 1rem;
}
#mochitto .group_list__shop .item2 table {
  width: 58%;
  transform: rotate(0.05deg);
}
#mochitto .group_list__shop .item2 table tbody tr {
  vertical-align: middle;
  text-align: left;
  line-height: 2;
}
#mochitto .group_list__shop .item2 table tbody th {
  padding: 20px 0 20px 20px;
  width: 30%;
  margin: auto;
  border-bottom: #EACEFC 1px solid;
  transform: rotate(0.05deg);
}
#mochitto .group_list__shop .item2 table tbody td {
  padding: 20px 0;
  border-bottom: #4e5c07 1px solid;
  transform: rotate(0.05deg);
}
#mochitto .group_list__shop .item2 table tbody td span {
  display: inline-block;
}
#mochitto .group_list__shop .item2 table tbody td p {
  margin: 15px 0 15px 25px;
  position: relative;
}
#mochitto .group_list__shop .item2 table tbody td p::before {
  position: absolute;
  content: "◆";
  display: block;
  width: 10px;
  height: 10px;
  top: 0;
  left: -25px;
  z-index: -1;
}
#mochitto .group_list__shop .item2 table tbody td .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#mochitto .group_list__shop .item2 figure {
  width: 38%;
}
#mochitto .group_list__shop .item2 figure img {
  border-radius: 20px;
}

@media screen and (max-width: 1024px) {
  #mochitto .group_inner ul li {
    flex-direction: column-reverse;
    padding: 3rem 0rem 1rem;
  }
  #mochitto .group_inner ul li figure {
    width: 90%;
  }
  #mochitto .group_inner ul li .text {
    width: 100%;
  }
  #mochitto .group_list__shop .item2 {
    flex-direction: column-reverse;
  }
  #mochitto .group_list__shop .item2 table {
    width: 90%;
    margin: 0 auto;
  }
  #mochitto .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #mochitto .group_inner ul li {
    padding: 0;
  }
  #mochitto .group_inner ul li figure {
    width: 90%;
  }
  #mochitto .group_inner ul li .text {
    width: 100%;
    padding: 0;
  }
  #mochitto .group_list__target {
    padding: 0rem 1rem 2rem;
  }
  #mochitto .group_list__item {
    padding: 0rem 1rem 2rem;
  }
  #mochitto .group_list__shop {
    padding: 0rem 1rem 2rem;
  }
  #mochitto .group_list__shop .item2 table {
    width: 100%;
    margin: 0 auto;
  }
  #mochitto .group_list__shop .item2 table tbody th {
    width: 35%;
  }
  #mochitto .group_list__shop .item2 table tbody td {
    padding: 20px 0 20px 20px;
  }
  #mochitto .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
#kitchen {
  max-width: 1280px;
  margin: 0 auto;
}
#kitchen .group_inner ul li {
  margin: 0 0 2rem;
  position: relative;
  padding: 3rem 2rem 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
}
#kitchen .group_inner ul li figure {
  width: 48%;
  aspect-ratio: 4/3;
}
#kitchen .group_inner ul li figure img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
#kitchen .group_inner ul li .text {
  margin: 0rem 0 0 0;
  bottom: 0;
  width: 48%;
  background-color: #fbffe8;
  padding: 20px;
  line-height: 1.8;
  border-radius: 20px;
}
#kitchen .group_inner ul li .text p {
  width: 100%;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  padding: 10px 0;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  transform: rotate(0.05deg);
}
#kitchen .group_inner ul li .text p span {
  display: inline-block;
}
#kitchen .group_list__target {
  padding: 1rem 2rem 3rem;
}
#kitchen .group_list__target ul {
  width: 9 90%;
  margin: auto;
}
#kitchen .group_list__target ul li {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  line-height: 1.8;
  padding-top: 20px;
  font-weight: 500;
  transform: rotate(0.05deg);
}
#kitchen .group_list__target ul li i {
  color: #EACEFC;
  margin-right: 10px;
}
#kitchen .group_list__text {
  width: 100%;
  margin: auto;
  padding-top: 20px;
  transform: rotate(0.05deg);
}
#kitchen .group_list__text p {
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.1rem);
}
#kitchen .group_list__text p span {
  display: inline-block;
}
#kitchen .group_list__item {
  padding: 1rem 2rem 3rem;
}
#kitchen .group_list__item ul {
  width: 100%;
  margin: auto;
}
#kitchen .group_list__item ul li {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  line-height: 1.8;
  padding-top: 20px;
  font-weight: 500;
  transform: rotate(0.05deg);
}
#kitchen .group_list__item ul li i {
  color: #EACEFC;
  margin-right: 10px;
}
#kitchen .group_list__shop {
  padding: 1rem 2rem 3rem;
}
#kitchen .group_list__shop .item2 {
  margin: 20px auto;
  display: flex;
  gap: 1rem;
}
#kitchen .group_list__shop .item2 table {
  width: 58%;
  transform: rotate(0.05deg);
}
#kitchen .group_list__shop .item2 table tbody tr {
  vertical-align: middle;
  text-align: left;
  line-height: 2;
}
#kitchen .group_list__shop .item2 table tbody th {
  padding: 20px 0 20px 20px;
  width: 30%;
  margin: auto;
  border-bottom: #C3D36F 1px solid;
  transform: rotate(0.05deg);
}
#kitchen .group_list__shop .item2 table tbody td {
  padding: 20px 0;
  border-bottom: #4e5c07 1px solid;
  transform: rotate(0.05deg);
}
#kitchen .group_list__shop .item2 table tbody td span {
  display: inline-block;
}
#kitchen .group_list__shop .item2 table tbody td p {
  margin: 15px 0 15px 25px;
  position: relative;
}
#kitchen .group_list__shop .item2 table tbody td p::before {
  position: absolute;
  content: "◆";
  display: block;
  width: 10px;
  height: 10px;
  top: 0;
  left: -25px;
  z-index: -1;
}
#kitchen .group_list__shop .item2 table tbody td .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#kitchen .group_list__shop .item2 figure {
  width: 38%;
}
#kitchen .group_list__shop .item2 figure img {
  border-radius: 20px;
}

@media screen and (max-width: 1024px) {
  #kitchen .group_inner ul li {
    flex-direction: column;
    padding: 3rem 0rem 1rem;
  }
  #kitchen .group_inner ul li figure {
    width: 90%;
  }
  #kitchen .group_inner ul li .text {
    width: 100%;
  }
  #kitchen .group_list__shop .item2 {
    flex-direction: column;
  }
  #kitchen .group_list__shop .item2 table {
    width: 90%;
    margin: 0 auto;
  }
  #kitchen .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #kitchen .group_inner ul li {
    padding: 0rem;
  }
  #kitchen .group_inner ul li figure {
    width: 90%;
  }
  #kitchen .group_inner ul li .text {
    width: 100%;
    padding: 0;
  }
  #kitchen .group_list__target {
    padding: 0rem 1rem 2rem;
  }
  #kitchen .group_list__item {
    padding: 0rem 1rem 2rem;
  }
  #kitchen .group_list__shop {
    padding: 0rem 1rem 2rem;
  }
  #kitchen .group_list__shop .item2 {
    flex-direction: column;
  }
  #kitchen .group_list__shop .item2 table {
    width: 100%;
    margin: 0 auto;
  }
  #kitchen .group_list__shop .item2 table tbody th {
    width: 35%;
  }
  #kitchen .group_list__shop .item2 table tbody td {
    padding: 20px 0 20px 20px;
  }
  #kitchen .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
#natural {
  max-width: 1280px;
  margin: 0 auto;
}
#natural .group_inner ul li {
  margin: 0;
  position: relative;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
}
#natural .group_inner ul li figure {
  width: 48%;
  aspect-ratio: 4/3;
}
#natural .group_inner ul li figure img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
#natural .group_inner ul li .text {
  margin: 0rem 0 0 0;
  bottom: 0;
  width: 100%;
  background-color: #fbffe8;
  padding: 20px;
  line-height: 1.8;
  border-radius: 20px;
}
#natural .group_inner ul li .text p {
  width: 100%;
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  padding: 10px 0;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  transform: rotate(0.05deg);
}
#natural .group_inner ul li .text p span {
  display: inline-block;
}
#natural .group_list__shop {
  padding: 1rem 2rem 3rem;
}
#natural .group_list__shop .item2 {
  margin: 20px auto;
  display: flex;
  gap: 1rem;
}
#natural .group_list__shop .item2 table {
  width: 58%;
  transform: rotate(0.05deg);
}
#natural .group_list__shop .item2 table tbody tr {
  vertical-align: middle;
  text-align: left;
  line-height: 2;
}
#natural .group_list__shop .item2 table tbody th {
  padding: 20px 0 20px 20px;
  width: 30%;
  margin: auto;
  border-bottom: #FAD975 1px solid;
  transform: rotate(0.05deg);
}
#natural .group_list__shop .item2 table tbody td {
  padding: 20px 0;
  border-bottom: #4e5c07 1px solid;
  transform: rotate(0.05deg);
}
#natural .group_list__shop .item2 table tbody td span {
  display: inline-block;
}
#natural .group_list__shop .item2 table tbody td p {
  margin: 15px 0 15px 25px;
  position: relative;
}
#natural .group_list__shop .item2 table tbody td p::before {
  position: absolute;
  content: "◆";
  display: block;
  width: 10px;
  height: 10px;
  top: 0;
  left: -25px;
  z-index: -1;
}
#natural .group_list__shop .item2 table tbody td .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#natural .group_list__shop .item2 figure {
  width: 38%;
}
#natural .group_list__shop .item2 figure img {
  border-radius: 20px;
}

@media screen and (max-width: 1024px) {
  #natural .group_inner {
    padding: 0 0 1rem;
  }
  #natural .group_inner ul li figure {
    width: 90%;
  }
  #natural .group_inner ul li .text {
    width: 100%;
    padding: 0;
  }
  #natural .group_list__shop .item2 {
    flex-direction: column-reverse;
  }
  #natural .group_list__shop .item2 table {
    width: 90%;
    margin: 0 auto;
  }
  #natural .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #natural .group_inner ul li {
    padding: 0rem 1rem 0rem;
  }
  #natural .group_inner ul li figure {
    width: 90%;
  }
  #natural .group_inner ul li .text {
    width: 100%;
    padding: 0;
  }
  #natural .group_list__target {
    padding: 0rem 1rem 2rem;
  }
  #natural .group_list__item {
    padding: 0rem 1rem 2rem;
  }
  #natural .group_list__shop {
    padding: 0rem 1rem 2rem;
  }
  #natural .group_list__shop .item2 table {
    width: 100%;
    margin: 0 auto;
  }
  #natural .group_list__shop .item2 table tbody th {
    width: 35%;
  }
  #natural .group_list__shop .item2 table tbody td {
    padding: 20px 0 20px 20px;
  }
  #natural .group_list__shop .item2 figure {
    width: 60%;
    margin: 0 auto;
  }
}
#carousel {
  position: relative;
}
#carousel::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0%;
  width: 40%;
  height: 100%;
  display: block;
  z-index: -1;
  background-color: #C3D36F;
  clip-path: polygon(0 0, 65% 0, 100% 100%, 35% 100%);
}
#carousel .carousel__warp h2 {
  margin: 0 auto 4rem;
}
#carousel .carousel__warp--slider {
  overflow: hidden;
}
#carousel .carousel__warp--slider--box {
  transition-timing-function: linear;
}
#carousel .carousel__warp--slider--box--list {
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
#carousel .carousel__warp--slider--box--list img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
#carousel .carousel__warp--link {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#carousel .carousel__warp--link a {
  margin: 2rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 2rem;
  background-color: #C3D36F;
  border: solid 1px #C3D36F;
  color: #EACEFC;
  transition: all ease 0.5s;
}
#carousel .carousel__warp--link a:hover {
  background-color: #EACEFC;
  color: #C3D36F;
}

#modal {
  padding: 5rem 0 15rem 0;
  position: relative;
  margin: 0 3rem 3rem;
  width: calc(100% - 6rem);
}
#modal::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  content: "coating gallery";
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(4rem, 3.5rem + 2.5vw, 6.5rem);
  writing-mode: vertical-rl;
  text-wrap: nowrap;
  line-height: 1;
  z-index: 1;
}
#modal .modal__warp {
  /* モーダルを開くボタン */
  /* モーダル本体 */
  /* モーダルを閉じるボタン */
  /* モーダル内のコンテンツ */
}
#modal .modal__warp h2 {
  margin: 0 auto 4rem;
}
#modal .modal__warp .modal {
  padding: 0 0;
}
#modal .modal__warp .inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}
#modal .modal__warp .inner > ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
#modal .modal__warp .inner > ul > li {
  width: calc(25% - 20px);
  margin-top: unset !important;
  margin: 0 10px 20px;
}
#modal .modal__warp .inner > ul > li figure {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
#modal .modal__warp .inner > ul > li figure img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all ease 1s;
}
#modal .modal__warp .inner > ul > li figure:hover img {
  scale: 1.15;
}
#modal .modal__warp .modal__trigger {
  cursor: pointer;
}
#modal .modal__warp .modal__trigger:nth-child(n+2) {
  margin-top: 60px;
}
#modal .modal__warp .modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}
#modal .modal__warp .modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, 0.85);
  cursor: pointer;
}
#modal .modal__warp .modal__container {
  position: absolute;
  top: calc(50% + 46px);
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(100% - 40px, 1000px);
  height: calc(80vh - 40px);
  padding: 20px;
  background: #fff;
}
#modal .modal__warp .modal__inner {
  position: relative;
  overflow-y: scroll;
  height: calc(100% - 50px);
  padding: 0px 20px 20px 20px;
  margin: 50px 0 0 0;
}
#modal .modal__warp .modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgb(50, 50, 50);
  cursor: pointer;
  transition: opacity 0.6s;
  z-index: 999;
}
#modal .modal__warp .modal__close:hover {
  opacity: 0.6;
}
#modal .modal__warp .modal__close:before,
#modal .modal__warp .modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: "";
}
#modal .modal__warp .modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#modal .modal__warp .modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#modal .modal__warp .modal__content .modal__title {
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
}
#modal .modal__warp .modal__content .modal__text {
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
}

.calender__content table {
  border: #C3D36F 2px solid;
  width: 100%;
}
.calender__content table tbody tr {
  border-bottom: #C3D36F 2px solid;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.calender__content table tbody tr th,
.calender__content table tbody tr td {
  border-right: #C3D36F 2px solid;
}
.calender__content table tbody tr th:last-child,
.calender__content table tbody tr td:last-child {
  border-right: none;
}
.calender__content table tbody tr th {
  padding: 5px 0px;
  text-align: center;
  background-color: #EACEFC;
}
.calender__content table tbody tr td {
  min-height: 70px;
  text-align: left;
  padding: 5px;
  padding-top: 0;
  container-type: inline-size;
}
.calender__content table tbody tr td .date {
  font-weight: bold;
  color: #C3D36F;
}
.calender__content table tbody tr td.sat .date {
  color: blue;
}
.calender__content table tbody tr td.holiday .date, .calender__content table tbody tr td.sun .date {
  color: red;
}
.calender__content table tbody tr td.close {
  background-color: #ffe0eb;
}
.calender__content table tbody tr td.close2 {
  background-color: #ffff8b;
}
.calender__content table tbody tr td.close3 {
  background-color: #c8e7fa;
}
.calender__content table tbody tr td.close4 {
  background-color: #c8ffc8;
}
.calender__content table tbody tr td.close5 {
  background-color: #eee5d7;
}
.calender__content table tbody tr td.close6 {
  background-color: #ffd700;
}
@container (max-width: 60px) {
  .calender__content table tbody tr td .event-button {
    font-size: 30cqi;
    padding: 3cqi 5cqi;
  }
}
.calender__content table tbody tr:last-child {
  border-bottom: none;
}
.calender__content .event-button {
  background: #007bff;
  color: white;
  border: none;
  padding: 2px 8px;
  border-radius: 4px;
  cursor: pointer;
  margin: 2px 0;
  font-size: 12px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.calender__content .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: calc(infinity);
}
.calender__content .modal-content {
  background-color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  border-radius: 5px;
  max-width: 500px;
  width: 90%;
}
.calender__content .close-button {
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 24px;
  cursor: pointer;
  background: none;
  border: none;
}
.calender__content .modal-title {
  margin-bottom: 15px;
  padding-right: 20px;
}
.calender__content .modal-events {
  margin-top: 10px;
}
.calender__content .modal-events a {
  color: blue;
  text-decoration: underline;
}
.calender__content .cms_calendar {
  margin-bottom: 20px;
  display: none;
}
.calender__content .cms_calendar.current-month {
  display: block;
}
.calender__content .cms_calendar .past {
  background-color: #f5f5f5;
}
.calender__content .cms_calendar .close {
  background-color: #ffe6e6;
}
.calender__content .cms_calendar .date {
  margin: 0;
  padding: 0;
  font-weight: bold;
}
.calender__content .d_null {
  background-color: #d8d8d8;
}
.calender__content .calender__btn {
  display: grid;
  grid-template-columns: auto 1fr auto;
  margin-bottom: 20px;
}
.calender__content .calender__btn #prev {
  grid-row: 1/2;
  grid-column: 1/2;
  display: none;
}
.calender__content .calender__btn #next {
  grid-row: 1/2;
  grid-column: 3/4;
}
.calender__content .btn {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.calender__content .calender__note {
  margin-top: 30px;
}

#calender {
  padding: 120px 0;
}
#calender .section {
  width: 80%;
  max-width: 1280px;
  margin-inline: auto;
}

body:has(#eventModal.open) {
  overflow: hidden;
}
body:has(#eventModal.open) header,
body:has(#eventModal.open) #floating,
body:has(#eventModal.open) #page-top {
  display: none;
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 2.5em;
  right: 2.5em;
  z-index: 999;
}
.pagetop a {
  width: 52px;
  height: 52px;
  aspect-ratio: 1/1;
  display: block;
  background-color: #EACEFC;
  border: solid 1px #C3D36F;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  border-radius: 50%;
  transition: all ease 0.5s;
}
.pagetop a i {
  color: #EACEFC;
}
.pagetop a:hover {
  background-color: #EACEFC;
}
.pagetop a:hover i {
  color: #EACEFC;
}

@media screen and (max-width: 768px) {
  .pagetop {
    bottom: 4.5em;
    right: 2.5em;
  }
}
@media screen and (max-width: 480px) {
  .pagetop {
    display: none;
    position: fixed;
    bottom: calc(75px + 1.5rem);
    right: 1.5em;
  }
  .pagetop a {
    width: 40px;
    height: 40px;
    aspect-ratio: 1/1;
  }
}
#footer {
  position: relative;
  overflow: hidden;
  color: #fff;
}
#footer .footer-section {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
#footer .footer-section::before {
  background-color: #fad975;
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  opacity: 0.3;
}
#footer .footer-section .footer__warp {
  width: 95%;
  max-width: 1200px;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  display: flex;
  padding-top: 3rem;
  padding-bottom: 1rem;
  border-radius: 20px;
}
#footer .footer-section .footer__warp .content-left {
  display: flex;
  justify-content: center;
  gap: 1rem;
  align-items: center;
}
#footer .footer-section .footer__warp .content-left--logo {
  width: 400px;
  margin: 0 auto;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
#footer .footer-section .footer__warp .content-left--logo img {
  width: 300px;
  margin: 0.5rem 0;
}
#footer .footer-section .footer__warp .content-left--logo:hover {
  transform: scale(1.05);
  /* ホバー時に少し拡大 */
  opacity: 0.7;
  /* ホバー時に透明度を少し下げる */
}
#footer .footer-section .footer__warp .content-left--logo .text {
  color: #fff;
  transition: color 0.5s;
  font-size: clamp(2.3rem, 2.26rem + 0.2vw, 2.5rem);
  font-weight: bold;
  z-index: 1;
  /* 擬似要素の下に隠れないように設定 */
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
}
#footer .footer-section .footer__warp .content-left--logo .text span {
  font-size: clamp(1.3rem, 1.26rem + 0.2vw, 1.5rem);
  margin-right: 1rem;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box {
  gap: 2rem;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo-address {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50%;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  /* テキストを中央揃え */
  color: #C3D36F;
  /* テキスト色を設定 */
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo p {
  margin-bottom: 1rem;
  line-height: 1.5;
  font-weight: 500;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo a {
  display: inline-block;
  font-size: clamp(1.3rem, 1.26rem + 0.2vw, 1.5rem);
  transition: background-color 0.3s ease, color 0.3s ease;
  font-weight: bold;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo a:hover {
  color: #FAD975;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo figure {
  width: 300px;
  margin: 0;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo figure img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease, opacity 0.3s ease;
  padding: 0 20px 0 10px;
  filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.3960784314));
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--logo figure img:hover {
  transform: scale(1.1);
  opacity: 0.85;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--address {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.5;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--address p,
#footer .footer-section .footer__warp .content-left .footer__warp--box--address a {
  margin: 0;
  border-radius: 30px;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 700;
  transition: all 0.3s ease;
  line-height: 1.5;
  text-shadow: rgb(195, 211, 111) 4px 0px 0px, rgb(195, 211, 111) 3.87565px 0.989616px 0px, rgb(195, 211, 111) 3.51033px 1.9177px 0px, rgb(195, 211, 111) 2.92676px 2.72656px 0px, rgb(195, 211, 111) 2.16121px 3.36588px 0px, rgb(195, 211, 111) 1.26129px 3.79594px 0px, rgb(195, 211, 111) 0.282949px 3.98998px 0px, rgb(195, 211, 111) -0.712984px 3.93594px 0px, rgb(195, 211, 111) -1.66459px 3.63719px 0px, rgb(195, 211, 111) -2.51269px 3.11229px 0px, rgb(195, 211, 111) -3.20457px 2.39389px 0px, rgb(195, 211, 111) -3.69721px 1.52664px 0px, rgb(195, 211, 111) -3.95997px 0.56448px 0px, rgb(195, 211, 111) -3.97652px -0.432781px 0px, rgb(195, 211, 111) -3.74583px -1.40313px 0px, rgb(195, 211, 111) -3.28224px -2.28625px 0px, rgb(195, 211, 111) -2.61457px -3.02721px 0px, rgb(195, 211, 111) -1.78435px -3.57996px 0px, rgb(195, 211, 111) -0.843183px -3.91012px 0px, rgb(195, 211, 111) 0.150409px -3.99717px 0px, rgb(195, 211, 111) 1.13465px -3.8357px 0px, rgb(195, 211, 111) 2.04834px -3.43574px 0px, rgb(195, 211, 111) 2.83468px -2.82216px 0px, rgb(195, 211, 111) 3.44477px -2.03312px 0px, rgb(195, 211, 111) 3.84068px -1.11766px 0px, rgb(195, 211, 111) 3.9978px -0.132717px 0px;
  text-align: center;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--address a {
  font-weight: bold;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox {
  flex: 1;
  text-align: center;
  line-height: 1.5;
  margin: 1.5rem 0;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox p {
  font-weight: 500;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox a {
  display: inline-block;
  margin: 0.5rem 0.5rem;
  padding: 10px;
  color: #EACEFC;
  border: 2px solid #C3D36F;
  text-decoration: none;
  font-size: 2rem;
  background-color: #C3D36F;
  font-weight: bold;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3960784314);
  transition: background-color 0.5s ease, color 0.5s ease;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox a i {
  margin-right: 0.5rem;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox a:hover {
  background-color: #fff;
  border: 2px solid #C3D36F;
  color: #C3D36F;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--business_hours {
  text-align: center;
  margin: 0.5rem 0 1rem;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--business_hours h3 {
  font-size: 1.5rem;
  margin: 0.5rem 0;
  font-weight: bold;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--business_hours p {
  font-size: 1.5rem;
  font-weight: 500;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contact-page {
  margin: 1.5rem 0 0rem;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
  border: 1px solid #4e5c07;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.5rem 1rem;
  transition: all 0.5s ease;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--contact-page:hover {
  color: #F4F6F6;
  border-color: #F4F6F6;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--link {
  display: flex;
  gap: 1rem;
  margin: 1rem auto;
  width: -moz-fit-content;
  width: fit-content;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--link a {
  color: #4e5c07;
  transition: background-color 0.5s ease, color 0.5s ease;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--link a i {
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  margin-right: 0.5rem;
}
#footer .footer-section .footer__warp .content-left .footer__warp--box--link a:hover {
  color: #FAD975;
}
#footer .footer-section .footer__warp .content-right {
  width: 50%;
}
#footer .footer-section .footer__warp .content-right .map {
  margin: 2rem auto;
}
#footer .footer-section .footer__warp .content-right .map iframe {
  width: 100%;
  max-width: 1024px;
  aspect-ratio: 2/1;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}
#footer .footer-section .footer__nav {
  width: 100%;
  text-align: center;
  padding: 1rem 0;
}
#footer .footer-section .footer__nav--warp {
  max-width: 800px;
  margin: 0 auto;
}
#footer .footer-section .footer__nav--warp nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
  gap: 1rem;
}
#footer .footer-section .footer__nav--warp nav ul li {
  padding: 0.5rem 1rem;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#footer .footer-section .footer__nav--warp nav ul li a {
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.1rem);
  text-transform: uppercase;
  color: #4e5c07;
  text-decoration: none;
  font-weight: 500;
  transition: background-color 0.5s ease, color 0.5s ease;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#footer .footer-section .footer__nav--warp nav ul li a span {
  font-size: clamp(0.6rem, 0.56rem + 0.2vw, 0.8rem);
  line-height: clamp(0.4rem, 0.36rem + 0.2vw, 0.6rem);
  font-weight: normal;
  display: block;
  padding-top: 10px;
}
#footer .footer-section .footer__nav--warp nav ul li a:hover {
  color: #EACEFC;
}
#footer .footer__copy {
  padding: 1rem 0;
  text-align: center;
  color: #fff;
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 1rem);
  line-height: 1.5;
  background-color: #EACEFC;
  font-weight: bold;
}
#footer .footer__copy br {
  display: none;
}
@media (max-width: 768px) {
  #footer .footer__copy {
    padding-bottom: 80px;
  }
}
@media (max-width: 1024px) {
  #footer .footer__copy {
    padding-bottom: 80px;
  }
}
#footer .pagetop {
  position: fixed;
  bottom: 67px;
  right: 20px;
  z-index: 1000;
}
#footer .pagetop a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  color: #fff;
  background-color: #fbffe8;
  border-radius: 50%;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  font-size: 1.2rem;
}
#footer .pagetop a:hover {
  background-color: #F4F6F6;
  color: #FAD975;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  transform: translateY(-5px);
}

@media screen and (max-width: 1107px) {
  #footer .footer-section {
    flex-direction: column;
    align-items: center;
  }
  #footer .footer-section .footer__warp .footer__warp--box {
    flex-direction: column;
  }
  #footer .footer-section .footer__warp .footer__warp--box--logo {
    margin-bottom: 0.5rem;
  }
  #footer .footer-section .footer__warp .footer__warp--box--logo figure {
    margin: 0;
  }
  #footer .footer-section .footer__warp .footer__warp--box--address p {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  #footer .footer-section .footer__warp {
    width: 100%;
  }
  #footer .footer-section .footer__warp .content-left {
    width: 80%;
    margin: auto;
  }
  #footer .footer-section .footer__warp .content-right {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  #footer .footer-section .footer__warp {
    width: 100%;
  }
  #footer .footer-section .footer__warp .content-left {
    flex-direction: column;
  }
  #footer .footer-section .footer__warp .content-right {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  #footer .footer-section .footer__nav {
    padding: 1rem 0 3rem;
  }
  #footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox a {
    font-size: 1rem;
  }
  #footer .footer-section .footer__warp .content-left .footer__warp--box--contactbox p span {
    display: inline-block;
  }
  #footer .footer-section .footer__warp .content-left .footer__warp--box--address p {
    font-size: 1rem;
  }
  #footer .pagetop {
    bottom: 67px;
  }
  #footer .footer-section .footer__warp .content-left .footer__warp--box--business_hours h3 {
    font-size: 1.2rem;
  }
  #footer .footer-section .footer__warp .content-left .footer__warp--box--business_hours p {
    font-size: 1rem;
  }
}
@media screen and (max-width: 1200px) and (-webkit-min-device-pixel-ratio: 2) {
  #footer .footer-section .footer__warp--logo .text {
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
  }
  #footer .footer-section .footer__nav--warp nav ul li a {
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
  }
}/*# sourceMappingURL=style.css.map */