@charset "UTF-8";
body {
  margin-top: 64px;
}
#wrapper {
  margin:0 auto;
  overflow-y: hidden;
  background: url("/img/common/bg01.png") repeat 0 0;
  position: relative;
}
.inner {
	width:95%;
	margin:0 auto;
	position:relative;
}
.font2 {
  font-family: senobi-gothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}


/*menuボタン*/
.openbtn{
  position: absolute;
  background:#F09F20;
  cursor: pointer;
  width: 50px;
  height:50px;
  border-radius: 5px;
	top: 50%;
	right: 1.5%;
	-webkit-transform: translate(0%, -50%);
	-moz-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
	-o-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.openbtn .openbtn-area{
  transition: all .4s;
}

.openbtn span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background: #fff;
  width: 45%;
}

.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 .openbtn-area{
  transform: rotateY(-360deg);
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

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

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}

.header {
  background-color: #FFF9F0;
  filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.16));
  position: fixed;
  top:0;
  left:0;
  right:0;
  z-index: 100;
}
.header .inner {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-logo {
  display: block;
  width: 50%;
  padding-right: 3rem;
}
.header-logo img {
  display: block;
  width:100%;
}

.main_visual {
  background: 
    url("/img/top/img02.png") no-repeat left 15% top 84%,
    url("/img/top/img01.png") no-repeat right -45% bottom 26%;
  background-size: 33%, 72%;
}
.main_visual .inner {
  height: calc(100vh - 64px);
  height: calc(100svh - 64px);
  min-height: 60rem;
  max-height: 70rem;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
}
.mv-mt {
  margin: 3em 0 1em;
}
.main_visual .htag1 {
  font-size: 2.7rem;
}
.main_visual .htag2 {
  font-size: 3.4rem;
  line-height: 1.8;
}
.main_visual .htag2 span.num {
  font-size: 4.4rem;
}
span.marker1 {
  background: -webkit-linear-gradient(transparent 60%, #FFF4B9 60%);
  background: -o-linear-gradient(transparent 60%, #FFF4B9 60%);
  background: linear-gradient(transparent 60%, #FFF4B9 60%);
}

.main_visual .htag1,
.main_visual .htag2 {
  text-align: center;
  font-weight: normal;
}
.mv-text {
  margin: 0 3%;
}
.mv-text dl {}
.mv-text dt {
  font-size: 2.1rem;
  margin-bottom: 1.6rem;
}
.mv-text dd {}
.mv-text dd span {
  color:#fff;
  display: inline-block;
  font-size: 2.2rem;
  border-radius: 0.4rem;
  background-color: #8d6632;
  padding:0.3rem 0.8rem;
}
.mv-text dd ~ dd {
  margin-top:0.8rem;
}
.mv-text .ptag {
  line-height: 1.375;
  font-size: 1.7rem;
  margin-top: 1.6rem;
}
.scroll {
  display: block;
  margin: auto 0 1rem;
  text-align: center;
}
.scroll img {
  width:16%;
}

section {
  margin: 0;
  padding:10.4rem 0 11.2rem;
  position: relative;
}
section:nth-of-type(2n+1) {
  background-color:rgba(250,235,205,0.3);
}
section::after {
  content: "";
  display: block;
  width: 30rem;
  height:3.5rem;
  background: url("/img/common/line01.svg") no-repeat 0 0 / cover;
  position: absolute;
  bottom:0;
  left: 50%;
  -webkit-transform: translate(-50%, 20%);
  -moz-transform: translate(-50%, 20%);
  -ms-transform: translate(-50%, 20%);
  -o-transform: translate(-50%, 20%);
  transform: translate(-50%, 20%);
  z-index: 10;
}

.title1 {
  text-align: center;
  margin-bottom: 4.8rem;
}
.title1 span {
  display: inline-block;
  background-color: #8d6632;
  font-size:2.6rem;
  color: #fff;
  padding: 0.15em 1.2em;
  position: relative;
  font-weight: bold;
}
.title1 span::before,
.title1 span::after {
  content: "";
  display: block;
  width:4.2rem;
  height: 7.2rem;
  background: url("/img/common/title01.svg") no-repeat 0 0;
  background-size: cover;
  position: absolute;
  top: 50%;
}
.title1 span::before {
  left: 0;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.title1 span::after {
  right: 0;
  -webkit-transform: translate(50%, -50%);
  -moz-transform: translate(50%, -50%);
  -ms-transform: translate(50%, -50%);
  -o-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}

.price-table table {
  width:100%;
}
.price-table table th,
.price-table table td {
  text-align: center;
  font-size: 1.8rem;
  padding:0.3em 0;
}
.price-table table th {
  background-color: #8d6632;
  color: #fff;
}
.price-table table th span {
  font-size: 1.4rem;
  display: inline-block;
  margin-left: 0.3rem;
}
.price-table table th + th {
  border-left: 1px dotted #fff; 
}
.price-table table td {
  font-size: 2rem;
  font-weight: bold;
}
.price-table table td:nth-of-type(1) {
  border-right: 1px dotted #D6BA95;
}
.price-table table th:first-child {
  border-bottom: 1px dotted #D6BA95;
}
.price-table table tr:last-of-type th:first-child {
  border-bottom: 0px;
}
.price-table table tr ~ tr td {
  border-bottom: 1px dotted #D6BA95;
}
.price-table table tr:last-of-type td {
  border-bottom: 0px;
}

.subtitle1 {
  font-size: 2rem;
  margin-bottom: 1.6rem;
}
.subtitle1::before {
  content: "○";
  display: inline-block;
  margin-right: 0.3rem;
}
.subtitle1 span {
  display: block;
  font-size: 1.4rem;
  font-weight: normal;
  margin: 0.3rem 0 0 2.3rem;;
}

.price-table + .subtitle1 {
  margin-top:4.8rem;
}

.price-other {
  margin-top: 4.8rem;
}
.price-other dl {}
.price-other dt {
  font-size: 2rem;
  margin-bottom: 1.2rem;
  font-weight: bold;
}
.price-other dt::before {
  content: "○";
  display: inline-block;
  margin-right: 0.3rem;
}
.price-other dd {
  font-size: 1.5rem;
  line-height: 1.3;
  margin: 0.6rem 0;
  text-indent: -1em;
  padding-left: 1em;
}
.price-other dd::before {
  content: "・";
}

.flow-wrap {}
.flow-wrap dl {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 3rem;
}
.flow-wrap dl:last-of-type {
  margin-bottom: 0;
}
.flow-wrap dl::after {
  content: "";
  width:4rem;
  height: 1.6rem;
  display:block;
  background: url("/img/common/arrow01.svg") no-repeat 0 0 / cover;
  position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 150%);
	-moz-transform: translate(-50%, 150%);
	-ms-transform: translate(-50%, 150%);
	-o-transform: translate(-50%, 150%);
	transform: translate(-50%, 150%);
}
.flow-wrap dl:last-of-type::after {
  display: none;
}
.flow-wrap dt {
  background-color: #8d6632;
  color: #fff;
  font-size: 2.2rem;
  padding: 0.4rem 1rem;
  border-radius:0.4rem 0.4rem 0 0;
}
.flow-wrap dt span {
  font-size: 1.8rem;
}
.flow-wrap dd {
  background-color: #fff;
  border: 1px solid #8d6632;
  border-top: 0px;
  border-radius:0 0 0.4rem 0.4rem;
  padding: 0.6rem 1.5rem;
  font-size:1.8rem;
  line-height: 1.4;
}
.flow-wrap dd a {
  color: #8d6632;
}

#menu {
  border-top: 1px solid #e0d0bc;
  border-bottom: 1px solid #B79B75;
  background-color: #fff;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s linear;
  position: absolute;
  top:-2rem;
  border-radius: 0 0 0.6rem 0.6rem;
}
.open #menu {
  height: auto;
  max-height: calc(100vh - 64px);
  max-height: calc(100svh - 64px);
  opacity: 1;
  overflow: scroll;
  position: relative;
  top:0;
}
.open .header {
  border-radius: 0 0 0.6rem 0.6rem;
}
.bg01 {
  opacity: 0;
  z-index: 10;
}
.open .bg01 {
  position: fixed;
  display: block;
  /*background-color: rgba(0,0,0,0.5);*/
  background:#392307;
  opacity: 0.8;
  filter: alpha(opacity = 80);
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index: 10;
  transition: all 0.2s linear;
}

#menu ul {
  padding:2rem 5%;
}
#menu li {
  list-style-type: none;
}
#menu li a {
  display: block;
  text-decoration: none;
  padding:0.8rem 5%;
  border-bottom: 1px dotted #8d6632;
  text-align: center;
  font-size: 2rem;
  color: #8d6632;
  font-weight: bold;
}
#menu li:last-of-type a {
  border-bottom: 0px;
}
.menu-tel {
  text-align: center;
  background-color: #F6EADA;
  padding: 3rem 0;
}
.menu-tel .p01 {
  font-weight: bold;
  font-size: 1.7rem;
}
.menu-tel a {
  font-weight: bold;
  text-decoration: none;
  color: #8d6632;
  display: block;
}
.menu-tel a::before {
  font-family: "icomoon";
  font-weight: normal;
  display: inline-block;
  margin-right: 0.8rem;
  font-size: 84%;
}
.menu-tel a.kotei {
  font-size: 3.4rem;
  margin: 0.4rem 0;
}
.menu-tel a.kotei::before {
  content: "\f5f5";
}
.menu-tel a.mobile {
  font-size: 2.8rem;
  margin: 0.4rem 0;
}
.menu-tel a.mobile::before {
  content: "\eb04";
}

.menu-tel .p02 {
  font-size: 1.6rem;
}
.menu-tel .p03 {
  font-size: 1.4rem;
  margin: 3rem 0 0;
  line-height: 1.4;
}

.bh-wrap {
  display: flex;
  justify-content: space-between;
}
.bh-wrap img {
  width:40%;
}
.bh-wrap dl {
  width:55%;
}
.bh-wrap dt,
.bh-wrap dd {
  font-size: 1.6rem;
}
.bh-wrap dt {
  font-weight: bold;
  font-size: 2.1rem;
}
.bh-wrap dd {}

.bh-wrap + .subtitle1 {
  margin-top:4.8rem;
}

.akiwaku-wrap {}
.akiwaku-wrap table caption {
  text-align: center;
  font-size: 5rem;
  line-height: 1.1;
  padding-bottom: 0.2em;
  font-family: senobi-gothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: -1rem;
  margin-right: 1rem;
}
.akiwaku-wrap table caption span {
  display: block;
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: 0;
  margin-right: -1rem;
}
.akiwaku-wrap table {
  width:100%;
  border-top: 1px dotted #DECCB2;
  border-left: 1px dotted #DECCB2;
}
.akiwaku-wrap table tr th {
  color: #fff;
  background-color: #C2A884;
}
.akiwaku-wrap table tr th:nth-of-type(1) {
  background-color: #E5AFBA;
}
.akiwaku-wrap table tr th:nth-of-type(2),
.akiwaku-wrap table tr th:nth-of-type(3),
.akiwaku-wrap table tr th:nth-of-type(4),
.akiwaku-wrap table tr th:nth-of-type(5) {
  border-right: 1px dotted #fff;
}
.akiwaku-wrap table tr th:nth-of-type(7) {
  background-color: #AFC9E5;
  border-right: 1px dotted #DECCB2;
}
.akiwaku-wrap table tr th,
.akiwaku-wrap table tr td {
  text-align: center;
  font-size: 2.2rem;
}
.akiwaku-wrap table tr td {
  padding: 0;
  position: relative;
  text-align: center;
  border-bottom: 1px dotted #DECCB2;
  border-right: 1px dotted #DECCB2;
  background-color: #fff;
}
.akiwaku-wrap table tr td span:nth-of-type(1) {
  font-size: 4.5rem;
  font-weight: bold;
  opacity: 0.4;
}
.akiwaku-wrap table tr td span:nth-of-type(2) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size: 1.8rem;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.akiwaku-wrap table tr td.blank span:nth-of-type(2) {
  opacity: 0.4;
}
.akiwaku-wrap table tr td.lm.blank span:nth-of-type(2) {
  opacity: 0.1;
}
#cl span.maru {
  color: #5FB71A;
}
#cl span.sankaku {
  color: #ACACAC;
}
#cl span.batsu {
  color: #B02A2A;
}
.akiwaku-wrap table tr td.blank span.maru,
.akiwaku-wrap table tr td.blank span.sankaku,
.akiwaku-wrap table tr td.blank span.batsu {
  opacity: 0 !important;
}

/* カレンダースライダーのボタンテキストを動的に制御 */
.akiwaku-wrap .slick-prev:before {
  content: var(--prev-content, '≪') !important;
}

.akiwaku-wrap .slick-next:before {
  content: var(--next-content, '≫') !important;
}

.akiwaku-wrap table tr td.today::before {
  content: "Today";
  font-size: 1rem;
  color: #EDA400;;
  top:0;
  right:0;
  bottom:0;
  left:0;
  position: absolute;
  border: 3px solid #EDA400;
  background-color: #FFFCF6;
  font-weight: bold;
  display: flex;
  align-items: end;
  justify-content: center;
}

.p03 {
  font-size: 1.5rem;
  margin: 0.5em 0 0;
  line-height: 1.6;
}
.p03 a {
  color: #8d6632; 
}
.p04 {
  text-align: center;
  font-size: 1.6rem;
  position: relative;
  top:-1em;
}
.futo {
  font-weight: bold;
}

.mark-setsumei {
  display: flex;
  justify-content: center;
}
.mark-setsumei li {
  list-style-type: none;
  margin: 0.6rem 0.8rem 0;
  font-size: 1.6rem;
}
.mark-setsumei span {
  font-weight: bold;
  opacity: 0.8;
}

.yoyaku-wrap .menu-tel {
  padding:1em 0 4em;
  background-color:inherit;
}
.yoyaku-wrap .menu-tel .p01 {
  font-size: 2rem;
}
.yoyaku-wrap .menu-tel .p02 {
  font-size: 1.8rem;
}

.line-yoyaku {
  width:90%;
  margin:0 auto;
}
.line-yoyaku .p01 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.6em;
  color: #17AF04;
}
.line-yoyaku .flow-wrap dt {
  background-color: #17AF04;
}
.line-yoyaku .flow-wrap dd {
  border: 1px solid #17AF04;
}
.line-yoyaku .flow-wrap dl::after {
  background: url(/img/common/arrow02.svg) no-repeat 0 0 / cover;
}
.line-yoyaku .flow-wrap dd a.line-btn {
  display: block;
  text-align: center;
  margin-top:0.8rem;
}


#footer {
  margin: 0;
  padding:8rem 0 0;
  text-align: center;
  background-color: #fffcf9;
}
.footer-logo {
  display: inline-block;
  width: 45%;
}
.footer-logo img {
  display: block;
  width: 100%;
}
.footer-copyright {
  margin-top: 7rem;
  background-color: #8d6632;
  color: #fff;
  font-size: 1.3rem;
  padding:0.3em 0;
}


/* 月別表示制御はJavaScriptで動的に行うため、CSSでの制御は削除 */
/* .m1 .cm12,
.m2 .cm1,
.m3 .cm2,
.m4 .cm3,
.m5 .cm4,
.m6 .cm5,
.m7 .cm6,
.m8 .cm7,
.m9 .cm8,
.m10 .cm9,
.m11 .cm10,
.m12 .cm11 {
  display: none !important;
} */


body.kaso .section01 {
  padding-top:3.4rem;
}

.about-table {}
.about-table table {
  width:100%;
}
.about-table table th,
.about-table table td {
  padding:0.5em 1em;
}
.about-table table th {
  background-color: #8d6632;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  vertical-align: middle;
  white-space: nowrap;
}
.about-table table td span {
  font-size: 1.4rem;
  display: inline-block;
}
.about-table table th + th {
  border-left: 1px dotted #fff; 
}
.about-table table td {
  font-size: 1.6rem;
  border-bottom: 1px dotted #D6BA95;
  text-align: left;
  background-color: #fff;
}
.about-table table td:nth-of-type(1) {
}
.about-table table th {
  border-bottom: 1px dotted #D6BA95;
}
.about-table table tr:last-of-type th:first-child {
  border-bottom: 0px;
}
.about-table table tr:last-of-type td {
  border-bottom: 0px;
}

.back-btn {
  text-align: center;
  margin: 4rem 0 0;
}
.back-btn a {
  display: inline-block;
  background-color: #F09F20;
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 2rem;
  text-decoration: none;
  border-radius: 30rem;
  -webkit-border-radius: 30rem;
  -moz-border-radius: 30rem;
  padding:0.4em 3em;
}
.back-btn a::before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  font-weight: normal;
  content: "\f0cb";
  margin: 0 1em 0 -1em;
}



.staff-wrap {}
.staff-box {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  align-items: center;
  background-color: #fff;
  border-radius: 1rem;
  margin-bottom:1.5rem;
  box-shadow: 2px 2px 5px #ddd; 
  text-decoration: none;
  color: inherit;
  position: relative;
}
.staff-box img {
  width: 40%;
  align-self: end;
}
.staff-box dl {
  width: 60%;
}
.staff-box dt {
  font-weight: bold;
  font-size: 2.1rem;
  border-bottom: 2px dotted #8d6632;
}
.staff-box dd {
  font-size: 1.5rem;
  padding-right: 1em;
  line-height: 1.3;
  margin-top:1.4em;
}
.staff-box dd span {
  color: #8d6632;
  border: 1px solid #8d6632;
  display: inline-block;
  border-radius: 0.5rem;
  padding: 0.1em 1em;
  font-size:1.4rem;
  margin-bottom: 0.3em;
  font-weight: bold;
}
.staff-box::after {
  content: "more ≫";
  position: absolute;
  right:1rem;
  bottom:0.5rem;
  font-weight: bold;
  color: #F09F20;
}


/*.staff-wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  align-items: center;
  margin-bottom:1.5rem;
  flex-wrap: wrap;
}
.staff-box {
  width:48%;
  background-color: #fff;
  box-shadow: 2px 2px 5px #ddd;
  border-radius: 2rem;
}
.staff-box img {
  width: 100%;
}
.staff-box .staff-name {
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}
.staff-box dd {
  font-size: 1.4rem;
  padding-right: 1em;
  line-height: 1.3;
  margin-top:0.5em;
}
.staff-box dd span {
  background-color: #8d6632;
  color: #fff;
  display: inline-block;
  border-radius: 0.5rem;
  padding: 0.2em 1em;
  font-size:1.2rem;
  margin-bottom: 0.3em;
}
*/

#cboxTopLeft,
#cboxTopRight,
#cboxTopCenter,
#cboxMiddleLeft,
#cboxMiddleRight,
#cboxBottomLeft,
#cboxBottomCenter,
#cboxBottomRight {
  background: none !important;
}
#cboxContent {
  background: none !important;
}


.staff-modal {}
.staff-modal .fukidashi {
  font-size: 1.9rem;
  color: #8d6632;
  font-weight: bold;
  text-align: left;
  background-color: #fff;
  border-radius: 200rem;
  padding:2rem 4rem;
  position: relative;
}
.staff-modal .fukidashi::before {
  position: absolute;
  bottom: -14px;
  width: 30px;
  height: 15px;
  background-color: #fff;
  clip-path: polygon(100% 0, 22% 0, 0 100%);
  left: 60%;
  content: '';
}
.staff-modal .fukidashi span {
  color: #8d6632;
  border: 1px solid #8d6632;
  display: inline-block;
  border-radius: 0.5rem;
  padding: 0.1em 1em;
  font-size:1.4rem;
  margin-bottom: 0.3em;
  font-weight: bold;
}
.staff-modal img {
  width:70%;
  margin: 0 auto;
  display: block;
}
.staff-name {
  text-align: center;
  color: #fff;
  font-size:1.6rem;
  font-weight: bold;
  margin-top: 0.4em;
}
.staff-word {
  text-align: center;
  color: #fff;
  font-size:1.6rem;
  font-weight: bold;
  margin-top: 0.8em;
}
.staff-word span.title {
  border: 1px solid #fff;
  border-radius: 0.5rem;
  padding: 0.1em 1em;
  font-size:1.4rem;
  margin:0 0 0.3em;
  font-weight: bold;
}
.staff-word span.text {
  display: inline-block;
  color: #fff;
  font-size:1.6rem;
  font-weight: bold;
  text-align: left;
}

#cboxClose::before {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  font-weight: normal;
  content: "\fb60";
  color: #fff;
  font-size: 2.6rem;
}
#cboxWrapper,
#colorbox,
#cboxContent {
  overflow: visible !important;
}
#cboxClose {
  bottom: auto !important;
  top: -4rem !important;
}

#summertime {
  display: none;
}
#summertime.m7,
#summertime.m8,
#summertime.m9 {
  display: block;
}
