@charset "utf-8";
/*----------------------------------------------------
	カスタムプロパティ
----------------------------------------------------*/
:root {
  --mainSize: 1100; /*デザインのアートボードサイズ*/
  --mainColor: #492d1a;
  --subColor: #3a6b32;
  --grayColor: #edeae8;
  --beigeColor: #f9f5f2;
}

/*----------------------------------------------------
	フォントサイズ設定
----------------------------------------------------*/
header,
footer { font-size: clamp(1.3rem, 100vw * 16 / var(--mainSize), 1.6rem); }

/*----------------------------------------------------
	ボックスサイズ設定
----------------------------------------------------*/
.main { width: min(100%, var(--mainSize) * 1px); margin-inline: auto; line-height: 1.8; }
.wrap { width: min(100% - 2rem, 1100px); margin-inline: auto; }
.wrapSmall { width: min(100% - 2rem, 800px); margin-inline: auto; }
.wrapCenter { max-inline-size: max-content; margin-inline: auto; }
.inner { padding: 5em 0; }

/*----------------------------------------------------
	header
----------------------------------------------------*/
.header__inner { width: min(100% - 4em, 1100px); margin-inline: auto; }
#check { display: none; }

.headerTitle__point {
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(1.4rem, 100vw * 20 / var(--mainSize), 2.0rem);
  color: #fff;
  line-height: 1;
  background: var(--subColor);
  padding: .3em 1em;
  border-radius: 50vh;
  display: inline-block;
  margin-right: .5em;
}

@media (min-width: 768px) { /* PC */
.header__inner { padding: 2.2em 0 0; display:flex; align-items: center; justify-content: space-between; }
.header__link { display: block; margin-top: -60px; padding-top: 60px; } /*pc 追従ヘッダーの高さ*/
.headerLogo { width: 15%; }

.headerTitle { margin-right: auto; margin-left: .5em; width: 47%; }
.headerTitle__sitename {
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(2.4rem, 100vw * 29 / var(--mainSize), 2.9rem);
  font-weight: normal;
  color: var(--mainColor);
  margin-bottom: .4em;
}
.headerTitle__sitesub {
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(1.3rem, 100vw * 15 / var(--mainSize), 1.5rem);
  color: var(--subColor);
  line-height: 1.8;
  margin-bottom: .6em;
}

.headerNav__button { display: flex; justify-content: flex-end; align-items: center; margin-top: 1em; }

.headerButton { margin-top: auto; width: 38%; }
.buttonWeb { margin-bottom: 1em; }
.buttonSav__list { display: flex; align-content: center; }
.buttonSav__item { list-style: none; width: 33%; text-align: center; background: var(--grayColor); padding: .9em 1em; border-radius: .3em; margin-left: .5em; }
.buttonSav__link {
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(1.3rem, 100vw * 15 / var(--mainSize), 1.5rem);
  color: var(--mainColor);
}

.nav { position: sticky; top: 0; padding-bottom: 1.2em; z-index: 100; background: #fff; }
.nav__inner { width: min(100% - 4em, 1100px); height: 60px; margin-inline: auto; background: #fff; padding: 1.9em 0; }
.nav__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(1.5rem, 100vw * 18 / var(--mainSize), 1.8rem);
}
.nav__item.-main1 { width: 16%; }
.nav__item.-main2 { width: 40%; }
.nav__item.-main3 { width: 25%; }
.nav__item.-main4 { width: 19%; }
.nav__item.-sub { display: none; }
.nav__item {
  position: relative;
  z-index: 1;
  border-left: var(--mainColor) 1px solid;
  width: auto;
  text-align: center;
  padding: .2em auto;
  padding-left: clamp(.1em, 1vw, 3em);
  padding-right: clamp(.1em, 1vw, 3em);
}
.nav__item:first-child { display: none; }
.nav__item:nth-child(5) { border-right: var(--mainColor) 1px solid; }
.nav__item::after {
  content: '';
  position: absolute;
  bottom: -.5em;
  left: 15%;
  width: 70%;
  height: 2px;
  background: var(--subColor);
  transition: all .3s;
  transform: scale(0, 1);
  transform-origin: center top;
}
.nav__item:hover::after { transform: scale(1, 1); }
.nav__item:hover .nav__sublist { visibility: visible; opacity: 1; }
.nav__link { color: var(--mainColor); text-decoration: none; display: block; }
.nav__link:hover { color: var(--mainColor); }

.nav__sublist { position: absolute; top: 100%; left: 0; margin-top: 1em; display: flex; flex-direction: column; visibility: hidden; opacity: 0; transition: .2s ease-in-out; background: var(--subColor); border: #fff 1px solid; }
.nav__sublink { color: #fff; padding: 1.2em; text-decoration: none; display: block; text-align: left; }
.nav__sublink:hover { color: #9cb598; }
.nav__subitem { list-style: none; min-width: 200px; white-space: nowrap; }



.nav__sublink::before {
  content: '';
  background: url("../images/icon_nav__sublink.png") no-repeat center / contain;
  display: inline-block;
  margin-right: .2em;
  width: 22px;
  height: 19px;
}
}
@media (max-width: 767px) { /* SP */
.header__link { display: block; margin-top: -100px; padding-top: 100px; }/*sp 追従ヘッダーの高さ*/
.headerLogo { width: 100%; text-align: center; margin-bottom: 1em; padding-top: 1em; }
.headerTitle { text-align: center; }
.headerTitle__sitename,
.headerTitle__sitesub { font-family: YuMincho, Yu Mincho, serif; line-height: 1.5; }
.headerTitle__sitesub { margin-bottom: 1em; }
.headerTitle__point { margin: 0 .2em 1em; }
.headerNav__button { display: none; }
.buttonWeb { display: none; }
.buttonSav__list { display: none; }
  
.nav__link { color: #fff; text-decoration: none; display: block; font-family: YuMincho, Yu Mincho, serif; }
.nav__list { width: 100vw; height: 100vh; position: fixed; top: 0; right: -100%; z-index: 2; background: rgba(0,0,0,0.8); list-style: none; text-align: center; }
.nav__item:first-child { margin: 2em 0 1em; }
.nav__item { font-size: 2.0rem; padding: .7em 0; }
.nav__sublink { font-size: 1.6rem; margin-top: 1.8em; color: #fff; text-decoration: none; display: block; font-family: YuMincho, Yu Mincho, serif; }
.nav__subitem { list-style: none; }
  
.nav__spButton { background: var(--mainColor) url("../images/btn.png") no-repeat; display: block; width: 50px; height: 50px; top: 10px; right: 10px; cursor: pointer; z-index: 200; position: fixed; }

#check:checked ~ .nav__list { right: 0; transition: .4s; }
#check:checked ~ .nav__spButton { background-position: -50px 0; z-index: 300; }
}

.buttonWeb__reserve {
  font-family: YuMincho, Yu Mincho, serif;
  padding: .9em;
  background: var(--subColor);
  border: 1px solid transparent;
  color: #fff;
  font-size: clamp(1.8rem, 100vw * 21 / var(--mainSize), 2.1rem);
  text-align: center;
  transition: .25s;
  border-radius: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(175px, 100%);
}
.buttonWeb__reserve:focus,
.buttonWeb__reserve:hover {
  background: #fff;
  border-color: currentColor;
  color: var(--subColor);
}
.buttonWeb__reserve::before {
  content: '';
  background: url("../images/icon_buttonWeb__reserve.png") no-repeat center / contain;
  display: inline-block;
  margin-right: .2em;
  width: 22px;
  height: 19px;
}
.buttonWeb__reserve:hover::before {
  background: url("../images/icon_buttonWeb__reserve_on.png") no-repeat center / contain;
}
.buttonWeb__reserve.-right { margin-left: auto; }
.buttonWeb__reserve.-left { margin-right: 1em; }

/*----------------------------------------------------
	pageTop
----------------------------------------------------*/
.pageTop { text-align: center; margin: 1em 0; }

/*----------------------------------------------------
	footer
----------------------------------------------------*/
.footer__inner { width: min(100% - 4em, 1170px); margin-inline: auto; clear: both; }
footer { background: #f0e9e1; padding: 3em 0; font-family: YuMincho, Yu Mincho, serif; }

.footerAdd__sitename {
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(2.4rem, 100vw * 29 / var(--mainSize), 2.9rem);
  font-weight: normal;
  color: var(--mainColor);
  margin-bottom: .4em;
}
.footerAdd__sitesub {
  font-family: YuMincho, Yu Mincho, serif;
  font-size: clamp(1.3rem, 100vw * 15 / var(--mainSize), 1.5rem);
  color: var(--mainColor);
  line-height: 1.8;
  margin-bottom: .6em;
}
.footerAdd__tel { font-size: clamp(2.9rem, 100vw * 34 / var(--mainSize), 3.4rem); }
.footerNav__list { list-style: none; }
.footerNav__item { position: relative; }
.footerNav__item::before { content: '—'; position: absolute; top: 0; left: 0; }
.footerNav__link { display: block; color: var(--mainColor); text-decoration: none; padding: 0 1.5em 1em; }
.footerNav__sublist { list-style: none; margin-top: .5em; }
.footerNav__subitem { line-height: 1.2; }
.footerNav__sublink { text-decoration: none; display: block; font-size: 14px; color: var(--mainColor); padding: 0 1.5em 1em; }
.footerNav__button { display: flex; justify-content: flex-start; align-items: center; margin-top: 1em; }
/*.footerContact { background: var(--subColor) url("../images/title_back.jpg") no-repeat center / auto 100%; font-family: YuMincho, Yu Mincho, serif; text-align: center; font-size: 2.0rem; font-weight: bold; position: fixed; bottom: 0; left: 0; width: 100%; padding: 1.5em; overflow: hidden; z-index: 100; }
.footerContact a { color: #fff; }
.footerContact::before {
  content: '';
  background: url("../images/icon_buttonWeb__reserve.png") no-repeat center / contain;
  display: inline-block;
  margin-right: .2em;
  width: 22px;
  height: 19px;
}*/
.footerContact { display: flex; text-align: center; position: fixed; bottom: 0; left: 0; width: 100%; overflow: hidden; z-index: 100; }
.footerContact__web { width: 50%; background: var(--subColor); }
.footerContact__line { width: 50%; background: #01c75d; }

@media (min-width: 768px) { /* PC */
.footer__inner { display:flex; align-items: flex-start; justify-content: space-between; }
.footerLogo { width: 12%; }
.footerAdd { width: 40%; }
.footerNav { width: 45%; }
.footerNav__wrap { display: flex; }
.footerContact { display: none; }
}
@media (max-width: 767px) { /* SP */
footer { padding-bottom: 8em; }
.footerLogo { text-align: center; margin-bottom: 2em; }
.footerAdd { text-align: center; }
.footerNav { margin-top: 2em; }
}

/*----------------------------------------------------
	line
----------------------------------------------------*/
hr { height: 0; border: 0; border-top: 1px solid #000; margin: 5em 0; }

/*----------------------------------------------------
	link
----------------------------------------------------*/
a { text-decoration: none; color: var(--mainColor); }

/*----------------------------------------------------
	共通タイトル
----------------------------------------------------*/
/*タイトル*/
.title { background: var(--subColor) url("../images/title_back.jpg") no-repeat center / auto 100%; }
.title__inner { width: min(100% - 4em, var(--mainSize)); margin-inline: auto; padding: 2.5em; }
.title__text {
  text-align: center;
  color: #fff;
  font-weight: normal;
  font-size: clamp(2.4rem, 100vw * 29 / var(--mainSize), 2.9rem);
  font-family: YuMincho, Yu Mincho, serif;
  line-height: 1.3;
}

/*----------------------------------------------------
	back
----------------------------------------------------*/
.full { margin: 0 calc(50% - 50vw); width: 100vw; } /*全幅*/
.fullBack { margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); width: 100vw; } /*背景全幅*/
.fullRight { margin-right: calc(50% - 50vw); } /*右側へ要素を広げる*/
.fullLeft { margin-left: calc(50% - 50vw); } /*左側へ要素を広げる*/
.fullBoxRight { flex: 1; margin-right: calc(50% - 50vw); } /*右側へ要素を広げる*/
.fullBoxLeft { flex: 2; margin-left: calc(50% - 50vw); } /*左側へ要素を広げる*/

.-bgBrown { background: #f0e9e1; }
.-bgGreen { background: url("../images/green_back.jpg") repeat; }
.-bgDarkgreen { background: #d4dcca; }
