@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;
  }
}
#subslider {
  overflow: hidden;
  /* スライドの動き等速 */
}
#subslider .subslider_wrap {
  overflow: hidden;
  width: 90%;
  margin: 0 auto;
}
#subslider .subswiper {
  margin: 30px 0 30px;
}
#subslider li {
  margin: 0 10px 0 0;
}
#subslider li img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 5/4;
  border-radius: 20px;
}
#subslider li img img:hover {
  opacity: 0.5;
  transition: 0.4s;
}
#subslider li p {
  font-size: 13px;
  margin-top: 5px;
}
#subslider .swiper-wrapper {
  transition-timing-function: linear;
}

@media screen and (max-width: 480px) {
  #subslider {
    /* スライドの動き等速 */
  }
  #subslider li {
    margin: 0 10px 0 0;
  }
  #subslider li img {
    height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    aspect-ratio: 3/2;
  }
  #subslider li p {
    font-size: 13px;
    margin-top: 5px;
  }
  #subslider .swiper-wrapper {
    transition-timing-function: linear;
  }
}
#overview .section_inner {
  padding: 0 0 0 5rem;
}
#overview .section_inner p {
  font-weight: 500;
  line-height: 2;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
  padding-top: 20px;
}
#overview .section_inner p span {
  display: inline-block;
}
#overview .section_inner p span br {
  display: none;
}
#overview .section_inner p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}

@media screen and (max-width: 1280px) {
  #overview .section_inner {
    width: 80%;
    padding: 0;
    margin: auto;
  }
  #overview .section_inner .big {
    font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  }
  #overview .section_inner p span {
    display: inline-block;
  }
}
@media screen and (max-width: 768px) {
  #overview .section {
    padding: 0 1rem;
  }
  #overview .section_inner {
    width: 90%;
    padding: 0;
    margin: auto;
  }
  #overview .section_inner .big {
    font-size: clamp(1.2rem, 1.16rem + 0.2vw, 1.4rem);
  }
  #overview .section_inner p span {
    display: inline-block;
  }
}
@media screen and (max-width: 480px) {
  #overview .section {
    padding: 0 1rem;
  }
  #overview .section_inner {
    width: 100%;
    padding: 0;
    margin: auto;
  }
  #overview .section_inner p span {
    font-size: 1rem;
  }
  #overview .section_inner p span br {
    display: block;
  }
}
@media screen and (max-width: 400px) {
  #overview .section {
    padding: 0 1rem;
  }
  #overview .section_inner {
    width: 100%;
    padding: 0;
    margin: auto;
  }
  #overview .section_inner p span {
    font-size: 1rem;
  }
  #overview .section_inner p span br {
    display: none;
  }
}
#purpose .section_inner {
  padding: 0 0 0 5rem;
}
#purpose .section_inner p {
  font-weight: 500;
  line-height: 1.8;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
  padding-top: 20px;
}
#purpose .section_inner p span {
  display: inline-block;
}
#purpose .section_inner p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}

@media screen and (max-width: 1280px) {
  #purpose .section_inner {
    padding: 0;
    width: 90%;
    margin: 0 auto;
  }
}
#incentive .section_inner {
  padding: 0 40px 20px;
}
#incentive .section_inner p {
  font-weight: 500;
  line-height: 1.8;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#incentive .section_inner p span {
  display: inline-block;
}
#incentive .section_inner p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#incentive .section_wrap {
  background-color: #fff;
  width: 100%;
  margin: 20px auto;
  padding: 20px 40px;
}
#incentive .section_wrap p {
  font-weight: 500;
  line-height: 1.8;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#incentive .section_wrap p span {
  display: inline-block;
}
#incentive .section_wrap p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#incentive .section table {
  background-color: #fff;
  width: 100%;
  margin: auto;
}
#incentive .section table tbody .tr-ttl {
  background-color: #C3D36F;
}
#incentive .section table tbody .tr-ttl th {
  font-weight: 700;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
}
#incentive .section table tbody .tr-ttl td {
  font-weight: 700;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
}
#incentive .section table tbody tr {
  border: 1px solid black;
}
#incentive .section table tbody tr th {
  padding: 10px;
  border-right: 1px solid black;
  font-weight: 400;
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 1rem);
}
#incentive .section table tbody tr td {
  padding: 10px;
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 1rem);
}

@media screen and (max-width: 768px) {
  #incentive .section table tbody .tr-ttl th span {
    display: inline-block;
  }
  #incentive .section table tbody .tr-ttl td span {
    display: inline-block;
  }
}
@media screen and (max-width: 480px) {
  #incentive .section_inner {
    padding: 0 0 20px;
  }
  #incentive .section_wrap {
    padding: 20px 10px;
  }
  #incentive .section table tbody .tr-ttl th span {
    display: inline-block;
  }
  #incentive .section table tbody .tr-ttl td span {
    display: inline-block;
  }
}
#margin {
  padding-top: 0;
}
#margin .section {
  padding-top: 0;
}
#margin .section_inner {
  padding: 0 40px 20px;
}
#margin .section_inner p {
  font-weight: 500;
  line-height: 1.8;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#margin .section_inner p span {
  display: inline-block;
}
#margin .section_inner p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#margin .section_wrap {
  background-color: #fff;
  width: 100%;
  margin: 20px auto;
  padding: 20px 40px;
}
#margin .section_wrap p {
  font-weight: 500;
  line-height: 1.8;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#margin .section_wrap p span {
  display: inline-block;
}
#margin .section_wrap p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#margin .section table {
  background-color: #fff;
  width: 100%;
  margin: auto;
}
#margin .section table tbody .tr-ttl {
  background-color: #FAD975;
  font-weight: 700;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.2rem);
}
#margin .section table tbody tr {
  border: 1px solid black;
}
#margin .section table tbody tr th {
  padding: 10px;
  border-right: 1px solid black;
  font-weight: 400;
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 1rem);
}
#margin .section table tbody tr td {
  padding: 10px;
  font-size: clamp(0.8rem, 0.76rem + 0.2vw, 1rem);
  border: 1px solid black;
}

@media screen and (max-width: 768px) {
  #margin .section table tbody .tr-ttl span {
    display: inline-block;
  }
  #margin .section table tbody .tr-ttl td span {
    display: inline-block;
  }
  #margin .section table tbody tr td {
    padding: 8px;
  }
  #margin .section table tbody tr td span {
    display: inline-block;
  }
}
@media screen and (max-width: 480px) {
  #margin .section_wrap {
    padding: 20px 10px;
  }
  #margin .section table tbody .tr-ttl span {
    display: inline-block;
  }
  #margin .section table tbody .tr-ttl td span {
    display: inline-block;
  }
  #margin .section table tbody tr td {
    padding: 8px;
  }
  #margin .section table tbody tr td span {
    display: inline-block;
  }
}
#sales {
  padding-top: 0;
}
#sales .section_inner {
  padding: 0 0 0 5rem;
}
#sales .section_inner .big {
  margin-top: 20px;
  margin-bottom: 20px;
}
#sales .section_inner .big span {
  display: inline-block;
}
#sales .section_inner p {
  font-weight: 500;
  line-height: 1.8;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#sales .section_inner p span {
  display: inline-block;
}
#sales .section_inner p .small {
  font-size: clamp(0.7rem, 0.66rem + 0.2vw, 0.9rem);
}
#sales .section ol {
  counter-reset: list;
  list-style-type: none;
  padding: 0;
  width: 90%;
  margin: 40px auto 0;
}
#sales .section ol h3 {
  font-weight: 700;
  font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
}
#sales .section ol li {
  position: relative;
  padding: 0 0 0 30px;
  margin: 40px 0 40px 0px;
  font-weight: bold;
  line-height: 29px;
  border: dashed 1px transparent;
  transition: 0.3s;
}
#sales .section ol li::before {
  counter-increment: list;
  content: counter(list);
  font-size: 20px;
  position: absolute;
  left: -25px;
  width: 40px;
  height: 40px;
  text-align: center;
  color: #fff;
  line-height: 40px;
  background: #C3D36F;
  border-radius: 50%;
  top: 0;
}
#sales .section ol li p {
  font-weight: 500;
  transform: rotate(0.05deg);
  transform: skewX(0.03deg);
}
#sales .section ol li p span {
  font-weight: 700;
  font-size: 24px;
  position: relative;
  margin-right: 30px;
  color: #fff;
}
#sales .section ol li p span::after {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  top: -3px;
  left: -13px;
  background-color: rgb(195, 211, 111);
  z-index: -1;
  border-radius: 50%;
}

@media screen and (max-width: 1280px) {
  #sales .section_inner {
    width: 70%;
    margin: 0 auto;
    padding: 20px 0;
  }
  #sales .section ol {
    width: 80%;
    margin: 0 auto;
    padding: 20px 0 40px 20px;
  }
}
@media screen and (max-width: 1024px) {
  #sales .section_inner {
    width: 70%;
    margin: 0 auto;
    padding: 20px 0;
  }
  #sales .section ol {
    width: 98%;
    margin: 0 auto;
    padding: 20px 0 40px 20px;
  }
}
@media screen and (max-width: 768px) {
  #sales .section_inner {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
  }
  #sales .section_inner .big {
    font-size: clamp(1.1rem, 1.06rem + 0.2vw, 1.3rem);
  }
  #sales .section ol {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0 0 20px;
  }
  #sales .section ol li {
    margin: 20px 0 40px 0px;
  }
}
#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 */