/*============================
setting
============================*/
.li-no {
line-height: 100%;
}

.sub__inner {
max-width: 1280px;
padding-top: 80px;
padding-bottom: 80px;
width: 92%;
margin: 0 auto;
}

.sub__inner-large {
max-width: 1400px;
padding-top: 80px;
padding-bottom: 80px;
width: 92%;
margin: 0 auto;
}

.bg {
background: #f3f8f5;
}

.spbr br {
display: block;
}

.pc__br br {
display: none;
}

.ta-c {
text-align: center;
}

.ta-c02 {
text-align: left;
}


@media screen and (min-width: 768px) {

.sub__inner,
.sub__inner-large {
  padding-top: 100px;
  padding-bottom: 100px;
  width: 94%;
}

.spbr br {
  display: none;
}

.pc__br br {
  display: block !important;
}

.ta-c02 {
  text-align: center;
}
}

@media screen and (min-width: 1024px) {

.sub__inner,
.sub__inner-large {
  padding-top: 120px;
  padding-bottom: 120px;
  width: 96%;
}
}

/*============================
sub-visual
============================*/
.kv {
margin-top: 52px;
position: relative;
}

.sub-mv img {
height: 200px;
object-fit: cover;
}

.sub-mv__img {
position: relative;
/* margin-bottom: 2%; */
}

@media screen and (min-width: 768px) {
.kv {
  margin-top: 62px;
  padding: 0 0 0 21.4%;
}

.sub-mv img {
  height: 350px;
}
}

@media screen and (min-width:1200px) {
.kv {
  margin-top: 100px;
}

.sub-mv img {
  height: 450px;
}
}

.page-title {
position: absolute;
top: 50%;
left: 5%;
transform: translateY(-50%);
color: #034e21;
}

.page-title .font-en {
display: block;
font-size: 32px;
line-height: 1em;
margin-bottom: 10px;
color: #034e21;
mix-blend-mode: soft-light;
opacity: .6;
}

.page-title .font-jp {
display: block;
line-height: 1.3em;
font-size: 20px;
}

@media screen and (min-width: 768px) {
.page-title .font-en {
  font-size: 50px;
  margin-bottom: 20px;
}

.page-title .font-jp {
  font-size: 30px;
}
}

@media screen and (min-width:1180px) {
.page-title .font-en {
  font-size: 68px;
}

.page-title .font-jp {
  font-size: 36px;
}
}

/*============================
breadcrumb
============================*/

.breadcrumb {
font-weight: normal;
margin-bottom: 0 !important;
background: none;
}

.breadcrumb .inner {
max-width: 1400px;
width: 96%;
}

.breadcrumb p {
font-size: 12px;
}

.breadcrumb a {
color: #bdbdbd;
}

/*============================
cmn
============================*/

.sub_link a {
color: #034e21;
text-decoration: underline;
}

.flex__text {
width: 100%;
}

.flex__img {
width: 100%;
margin-bottom: 30px;
text-align: center;
}

@media screen and (min-width: 768px) {
.flex__text {
  width: 48%;
}

.flex__img {
  width: 48%;
  margin-bottom: 0;
}

}

/* ------  btn ------ */

.btn_cmn a {
display: block;
position: relative;
white-space: nowrap;
max-width: 330px;
margin: 0 auto;
}

.btn_cmn .txt {
width: 100%;
line-height: 43px;
border: solid 1px #c5a204;
background: #c5a204;
color: #fff;
text-align: center;
letter-spacing: .04em;
padding: 0 1em;
transition: .3s ease-out;
position: relative;
}

.btn_cmn a:hover .txt {
background: #fff;
color: #c5a204;
}

.btn_wrap {
flex-direction: column;
row-gap: 20px;
column-gap: 30px;
}

@media screen and (min-width:768px) {
.btn_cmn .txt {
  line-height: 53px;
}
}

@media screen and (min-width:1025px) {
.btn_cmn .txt {
  line-height: 58px;
}

.btn_wrap {
  flex-direction: row;
  column-gap: 30px;
}


}


/* -----Table----- */
.table {
max-width: 1080px;
width: 100%;
margin-inline: auto;
}

.table .tr {
display: flex;
flex-direction: column;
justify-content: flex-start;
}

.table .tr:first-of-type {
border-top: 1px solid #034e21;
}

.table .th {
width: 100%;
padding: 10px 15px 10px 15px;
line-height: 1.6;
text-align: center;
background: #034e21;
border-bottom: 1px solid #034e21;
color: #fff;
}

.table .tr:last-of-type .th {
border-bottom: 1px solid #034e21;
}

.table .td {
width: 100%;
padding: 10px 15px 10px 15px;
line-height: 1.6;
border-bottom: 1px solid #034e21;
border-right: 1px solid #034e21;
border-left: 1px solid #034e21;
}

@media screen and (min-width: 768px) {
.table .tr {
  flex-direction: row;
}

.table .th {
  text-align: left;
  width: 30%;
  padding: 20px;
  border-right: 1px solid #034e21;
  border-bottom: 1px solid #fff;
}

.table .td {
  width: 70%;
  padding: 20px;
  border-left: none;
}
}

/*============================
title
============================*/

.sub__ttl01 {
position: relative;
line-height: 1;
white-space: nowrap;
letter-spacing: .04em;
padding-bottom: 15px;
}

.sub__ttl01::after {
content: "";
position: absolute;
width: 50px;
height: 1px;
background: #034e21;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}

.sub__ttl01 img {
margin: 0 auto 10px;
width: 100px;
}

.sub__ttl01 .font-en {
font-size: 30px;
margin-bottom: 10px;
letter-spacing: .04em;
line-height: 1;
color: #034e21;
}

.sub__ttl01 .font-jp {
font-size: 16px;
line-height: 1.4;
}

.sub__ttl02 {
position: relative;
line-height: 1;
letter-spacing: .04em;
padding-bottom: 10px;
border-bottom: 2px solid #c5a204;
}

.sub__ttl02::before {
content: "";
position: absolute;
width: 100%;
height: 1px;
background: #c5a204;
left: 0;
bottom: -5px;
}

.sub__ttl02 .font-en {
font-size: 40px;
color: #c5a204;
opacity: .1;
position: absolute;
bottom: -.1em;
left: 0;
}

.sub__ttl02 .font-jp {
font-size: 16px;
position: relative;
line-height: 1.5;
}


.sub__ttl02 .font-jp strong {
font-weight: normal;
display: block;
}

.sub__ttl03 {
position: relative;
padding-bottom: 20px;
}

.sub__ttl03::after {
position: absolute;
content: "";
width: 60px;
height: 1px;
background: #9a9066;
bottom: 0;
left: 50%;
transform: translateX(-50%);
}

.sub__ttl03 .font-jp {
font-size: 18px;
color: #9a9066;
}

@media screen and (min-width: 768px) {
.sub__ttl01 img {
  margin: 0 auto 15px;
  width: 120px;
}

.sub__ttl01 .font-en {
  font-size: 40px;
}

.sub__ttl01 .font-jp {
  font-size: 18px;
}

.sub__ttl02 .font-en {
  font-size: 50px;
}

.sub__ttl02 .font-jp {
  font-size: 18px;
}

.sub__ttl02 .font-jp br {
  display: none;
}

.sub__ttl03 .font-jp {
  font-size: 22px;
}
}


@media screen and (min-width: 1180px) {
.sub__ttl01 img {
  margin: 0 auto 20px;
  width: 174px;
}

.sub__ttl01 .font-en {
  font-size: 50px;
}

.sub__ttl01 .font-jp {
  font-size: 20px;
}

.sub__ttl02 .font-en {
  font-size: 70px;
}

.sub__ttl02 .font-jp {
  font-size: 22px;
}

.sub__ttl03 .font-jp {
  font-size: 30px;
}
}

/* anker link */
.anker__items {
row-gap: 10px;
column-gap: 1%;
}

.anker__item {
width: 100%;
max-width: 320px;
position: relative;
}

.anker__item a {
display: block;
text-align: center;
height: 38px;
border: solid 1px #c5a204;
color: #c5a204;
transition: .5s
}

.anker__item a p {
line-height: 38px;
}

@media screen and (min-width:499px) {
.anker__items {
  column-gap: 1%;
}
}

@media screen and (min-width:1180px) {
.anker__item {
  width: 32%;
}

.anker__item a {
  height: 50px;
}

.anker__item a p {
  line-height: 50px;
}
}


/*============================
imgarea
============================*/
.imgarea {
row-gap: 20px;
}

.imgarea .img {
width: 100%;
}

@media screen and (min-width: 768px) {
.imgarea .img {
  width: 33%;
}

}

/*============================
sub-concept
============================*/

.flex__item {
position: relative;
}

.flex__item::before {
position: absolute;
content: "";
width: 75%;
height: 80%;
background: #f3f8f5;
right: -4%;
bottom: -50px;
z-index: -1;
}

.flex__item.row-reverse::before {
right: auto;
left: -18%;
}

.flex__item .flex__img {
position: relative;
}

.flex__item .flex__text {
width: 100%;
padding: 30px 14px;
background: rgba(255, 255, 255, .8);
position: relative;
z-index: 2;
}

.flex__item .flex__text::before {
content: "";
position: absolute;
width: 80px;
height: 43px;
background: url(../images/ttl_ico02.png) no-repeat;
background-size: contain;
right: -10px;
top: -15px;
}

.flex__item.row-reverse .flex__text::before {
background: url(../images/ttl_ico.png) no-repeat;
background-size: contain;
right: auto;
top: -20px;
left: -10px;
}

@media screen and (min-width: 768px) {
.flex__item::before {
  right: -18%;
}

.flex__item .flex__text {
  width: 60%;
  margin-left: -10%;
  padding: 50px 10px;
}

.flex__item.row-reverse .flex__text {
  margin-left: 0;
  margin-right: -10%;
}

.flex__item .flex__text::before {
  width: 110px;
  height: 60px;
  right: -20px;
  top: -20px;
}

.flex__item.row-reverse .flex__text::before {
  left: -20px;
  top: -30px;
}

}

@media screen and (min-width: 1180px) {
.flex__item .flex__text {
  width: 60%;
  margin-left: -10%;
  padding: 50px 30px;
}

.flex__item .flex__text::before {
  width: 128px;
  height: 69px;
  right: -30px;
}

.flex__item.row-reverse .flex__text::before {
  left: -30px;
}
}

/*============================
sub-menu
============================*/

.menu__ul {
padding: 30px 20px;
background: rgba(255, 255, 255, .8);
position: relative;
box-shadow: 0px 3px 20px rgba(175, 213, 163, .38);
}

.menu__ul::before {
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 10px;
left: 10px;
background: #f3f8f5;
z-index: -1;
}

.menu__ul .li {
padding: 20px 0;
border-bottom: 1px solid #034e21;
}

.menu__ul .li:not(:last-of-type) {
margin-bottom: 20px;
}

.menu__text {
width: 100%;
margin-bottom: 20px;
}

.option .menu__text {
margin-bottom: 0;
}

.option .menu__price {
width: 100%;
}

.menu__title {
font-size: 16px;
margin-bottom: 15px;
position: relative;
padding-left: 1.3rem;
line-height: 1.6;
letter-spacing: 0.075em;
}

.menu__title::before {
content: "";
position: absolute;
width: 6px;
height: 6px;
background: #034e21;
border-radius: 50%;
top: 12px;
left: 0;
}

.menu__p {
font-size: 14px;
letter-spacing: 0.075em;
}

.menu__price {
width: 100%;
text-align: right;
font-size: 14px;
color: #034e21;
line-height: 1.3;
}

.option .menu__price {
width: 100%;
}

.menu__price span {
font-size: 14px !important;
}

.menu__price em {
font-style: normal;
font-size: 14px;
color: #191919;
display: block;
margin-bottom: 5px;
}

.menu__price strong {
font-size: 22px;
}

@media screen and (min-width: 768px) {
.menu__ul {
  padding: 30px;
}


.menu__title {
  font-size: 18px;
}

.menu__price span {
  font-size: 16px !important;
}


.menu__price em br {
  display: none;
}
}


@media screen and (min-width: 1024px) {
.menu__text {
  width: 75%;
  padding-left: 15px;
  margin-bottom: 0;
}

.option .menu__text {
  width: 68%;
}

.menu__price {
  width: 23%;
  padding-right: 15px;
}

.option .menu__price {
  width: 30%;
}
}


@media screen and (min-width: 1080px) {
.menu__ul {
  padding: 50px;
}

.menu__title {
  font-size: 20px;
}

.menu__price {
  font-size: 16px;
}

.menu__price em {
  font-style: normal;
  font-size: 15px;
}

.menu__price strong {
  font-size: 24px;
}
}

/*============================
sub-case
============================*/

.sub-case .sub__ttl02 {
border-bottom: 2px solid #034e21;
}

.sub-case .sub__ttl02::before {
background: #034e21;
}

.sub-case .sub__ttl02 .font-en {
color: #034e21;
}

.case__item .flex__img {
width: 100%;
}

.case__item .flex__text {
width: 100%;
padding: 30px 5px 20px;
background: rgba(255, 255, 255, .8);
position: relative;
box-shadow: 0px 3px 20px rgba(175, 213, 163, .38);
}

.case__item .flex__text::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 10px;
left: 10px;
background: #f3f8f5;
z-index: -1;
}

.case__item .flex__imgbox {
flex-direction: column;
row-gap: 10px;
}

.case__item .flex__imgbox img {
width: 100%;
}


@media screen and (min-width: 768px) {

.case__item .flex__text {
  padding: 50px 20px 30px;
}


.case__item .flex__img {
  width: 30%;
}

.case__item .flex__text {
  width: 65%;
}

}


@media screen and (min-width: 1024px) {
.case__item .flex__text {
  padding: 80px 20px 30px;
}
}

/*============================
sub-flow
============================*/

.flow__item {
padding: 30px 20px 20px;
background: rgba(255, 255, 255, .8);
position: relative;
box-shadow: 0px 3px 20px rgba(175, 213, 163, .38);
position: relative;
}

.flow__item::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 10px;
left: 10px;
background: #f3f8f5;
z-index: -1;
}

.flow__item .flex__img {
width: 100%;
}

.flow__item .flex__text {
width: 100%;
}

.flow__num {
font-size: 30px;
color: #034e21;
position: absolute;
top: -20px;
left: 10px;
}

.reserve__item {
padding: 10px;
border: 3px double #c5a204;
width: 100%;
margin: 0 auto;
}

.reserve__item .ta-c02 {
text-align: left;
}

.reserve__item:not(:last-of-type) {
margin-bottom: 30px;
}

.reserve__ttl {
font-size: 16px;
color: #c5a204;
text-align: center;
}



@media screen and (min-width: 768px) {
.flow__item {
  padding: 50px 30px;
}

.flow__item .flex__img {
  width: 33%;
}

.flow__item .flex__text {
  width: 65%;
}

.flow__num {
  font-size: 50px;
  top: -40px;
  left: 30px;
}

.reserve__item {
  width: 90%;
}

.reserve__ttl {
  font-size: 18px;
}

.reserve__ttl br {
  display: none;
}

}


@media screen and (min-width: 1024px) {
.reserve__item .ta-c02 {
  text-align: center;
}
}

/*============================
sub-faq
============================*/

.faq__item {
border: 1px solid #034e21;
}

.faq__item:not(:last-of-type) {
margin-bottom: 30px;
}

.faq__q {
padding: 10px;
background: #034e21;
color: #fff;
}

.faq__q p {
position: relative;
padding-left: 20px;
}

.faq__q p::before {
content: "Q.";
position: absolute;
font-family: "Cormorant", serif;
color: #fff;
font-size: 16px;
top: 0;
left: 0;
}

.faq__a {
padding: 10px;
}

.faq__a p {
position: relative;
padding-left: 20px;
}

.faq__a p::before {
content: "A.";
position: absolute;
font-family: "Cormorant", serif;
color: #034e21;
font-size: 16px;
top: 0;
left: 0;
}

@media screen and (min-width: 768px) {
.faq__q {
  padding: 20px;
}

.faq__a {
  padding: 20px;
}

.faq__item:not(:last-of-type) {
  margin-bottom: 50px;
}

.faq__q p::before,
.faq__a p::before {
  font-size: 20px;
  top: -3px;
}

.faq__q p,
.faq__a p {
  padding-left: 30px;
}
}

/*============================
sub-info
============================*/

.g-map iframe {
width: 100%;
height: 350px;
}

.flex__imgbox {
display: flex;
column-gap: 20px;
align-items: flex-start;
justify-content: space-between;
}

.flex__imgbox img {
width: 48%;
object-fit: contain;
}

.sub-info .flex__img {
width: 100%;
}

.sub-info .flex__item .flex__text {
width: 100%;
margin-left: 0;
}

.sub-info .flex__item.flex__item.row-reverse .flex__text {
margin-right: 0;
}

@media screen and (min-width: 768px) {
.g-map iframe {
  height: 450px;
}

.flex__imgbox {
  justify-content: flex-start;
}

}


@media screen and (min-width: 1024px) {
.sub-info .flex__img {
  width: 46%;
}

.sub-info .flex__item .flex__text {
  width: 63%;
  margin-left: -10%;
}

.sub-info .flex__item.flex__item.row-reverse .flex__text {
  margin-right: -10%;
  margin-left: 0;
}

}


@media screen and (min-width: 1080px) {
.sub-info .flex__img {
  width: 48%;
}

.sub-info .flex__item .flex__text {
  width: 60%;
}

}

/*============================
sub-privacy
============================*/

.privacy__item:not(:last-of-type) {
margin-bottom: 30px;
}


@media screen and (min-width: 768px) {
.privacy__item:not(:last-of-type) {
  margin-bottom: 50px;
}
}
.c9335{
  max-width: 25%;
}
.c9335 img{
  aspect-ratio: 295 / 300;
  width: 100%;
  height: 100%;
  object-fit: cover;
}