@charset "UTF-8";

/* =========================
   PLAN LIST
========================= */
.plan-list{
  padding: 80px 0 120px;
}

.plan-list-inner{
  max-width: 1120px;
  margin: 0 auto;
}

.plan-list-head{
  margin: 0 auto 56px;
  text-align: center;
  color: #65764a;
}

.plan-list-title{
  margin: 0;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 2.75rem; /* 44px */
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #65764a;
}

.plan-category{
  margin: 0 0 40px;
  padding-top: 120px;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #65764a;
  border-bottom: 1px solid #8a9870;
}
.plan-category-top{
  padding-top: 0 !important;
}




.plan-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px 48px;
}

.plan-card-link{
  display: block;
  text-decoration: none;
  color: inherit;
}

.plan-card-image{
  aspect-ratio: 1.68 / 1;
  overflow: hidden;
  background: #f3f3f0;
}

.plan-card-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.plan-card-body{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  padding: 24px 0 0;
}

.plan-card-main{
  position: relative;
  flex: 1;
  min-height: 100px;
  padding-left: 20px;
  display: flex;
  align-items: flex-end;
}

.plan-card-main::before{
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 1px;
  height: 100px;
  background: #8a9870;
}

.plan-card-category{
  margin: 0 0 16px;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
}

.plan-card-title{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-weight: 400;
  line-height: 1;
  position: relative;
}

.plan-card-title .kana{
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  color: #65764a;
  text-align: center;
  width: 4rem;
}

.plan-card-title .kanji{
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #65764a;
}
.plan-card-title .cat{
  padding: 4px 2px;
  font-size: 0.875rem;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  width: 3rem;
  line-height: 1.4;
  background: #A89A6C;
  position: absolute;
  bottom: 0;
  right: -3.5rem;
}


.plan-card-price-area{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-shrink: 0;
}

.plan-card-price{
  display: flex;
  align-items: center;
  gap: 10px;
}

.plan-card-price .label{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 64px;
  padding: 4px 4px;
  background: #d9d9d3;
  font-size: 0.6875rem;
  line-height: 1.4;
  letter-spacing: 0;
  color: #333;
  text-align: center;
}

.plan-card-price .price{
  margin: 0;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 1.25rem;
  line-height: 1;
  color: #333;
  white-space: nowrap;
}

.plan-card-price .num{
  font-size: 4rem;
  letter-spacing: 0.01em;
}
.plan-card-price .num .small{
  font-size: 1.75rem;
}

.plan-card-price .tax{
  display: inline-block;
  margin-left: 0px;
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: -0.1em;
}

.plan-card-capacity{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  min-height: 78px;
  padding: 10px 10px;
  background: #65764a;
  color: #fff;
  text-align: center;
}

.plan-card-capacity .cap-label{
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.plan-card-capacity .cap-num{
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 3rem;
  line-height: 1;
}
.plan-card-capacity .cap-num.hitori{
  font-size: 1rem;
  line-height: 1.4;
}
.plan-card-capacity .cap-unit{
  margin-left: 4px;
  font-size: 1rem;
}

/* hover */
.plan-card-link:hover .plan-card-image img{
  transform: scale(1.03);
}

.plan-card-link:hover .plan-card-category,
.plan-card-link:hover .plan-card-title .kana,
.plan-card-link:hover .plan-card-title .kanji{
  color: #65764a;
}

/* =========================
   MULTI PRICE
========================= */
.plan-card-price-area.is-multi{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.plan-card-price-row{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.plan-card-price-row .plan-card-price{
  flex: 1;
}

.plan-card-price-row .plan-card-capacity{
  flex-shrink: 0;
}


.plan-card-body:has(.plan-card-price-area.is-multi){
  align-items: flex-start;
}

.plan-card-body:has(.plan-card-price-area.is-multi) .plan-card-main{
  align-items: flex-start;
  padding-top: 6px;
}



/* =========================
   TABLET
========================= */
@media (max-width: 1200px){
  .plan-list-inner{
    padding: 0 40px;
  }
  
  .plan-grid{
    gap: 48px 32px;
  }

  .plan-card-body{
    flex-direction: column;
    align-items: flex-start;
  }

  .plan-card-price-area{
    width: 100%;
    justify-content: space-between;
  }

  .plan-card-price .num{
    font-size: 3.375rem;
  }


  .plan-card-capacity .cap-num{
    font-size: 2.5rem;
  }
}

/* =========================
   SP
========================= */
@media (max-width: 900px){
  .plan-list{
    padding: 56px 0 72px;
  }

  .plan-list-inner{
    padding: 0 20px;
  }
  .plan-list-head{
    margin-bottom: 32px;
  }

  .plan-list-title{
    font-size: 2rem; /* 32px */
  }
  
  .plan-category{
    margin: 0 0 30px;
    padding-top:80px;
    font-size: 1.375rem;
    letter-spacing: 0;
  }
  
  .plan-grid{
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .plan-card-body{
    gap: 10px;
    padding-top: 10px;
  }

  .plan-card-main{
    width: 100%;
    min-height: auto;
    align-items: center;
    padding-left: 0;
    padding-bottom: 8px;
    text-align: center;
  }

  .plan-card-main::before{
    top: 4px;
    height: 1px;
    width: 100%;
    position: absolute;
    top: auto;
    left: 0;
    bottom: 0;
    opacity: 0.5;
  }

  .plan-card-category{
    margin-bottom: 10px;
    font-size: 0.9375rem;
    line-height: 1.7;
  }

  .plan-card-title{
    gap: 6px;
    align-items: center;
    width: 100%;
  }

  .plan-card-title .kana{
    font-size: 0.75rem;
    letter-spacing: 0;
    text-align: center;
    width: auto;
    min-width: 2.8125rem;
  }

  .plan-card-title .kanji{
    font-size: 2.8125rem;
  }
  
  .plan-card-title .cat{
  padding: 4px;
  font-size: 0.875rem;
  width: 3.8rem;
  position: absolute;
  bottom: 0;
  right: auto;
  left: 60%;
  }

  .plan-card-price-area{
    width: 100%;
    justify-content: space-between;
    align-items: stretch;
    gap: 12px;
  }

  .plan-card-price{
    flex: 1;
    gap: 8px;
  }

  .plan-card-price .label{
    min-width: 38px;
    min-height: 38px;
    font-size: 0.6875rem;
    letter-spacing: -0.04em;
  }

  .plan-card-price .price{
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: normal;
  }

  .plan-card-price .num{
    font-size: 3rem;
  }

  .plan-card-price .tax{
    font-size: 0.6875rem;
  }

  .plan-card-capacity{
    min-width: 58px;
    min-height: 58px;
    padding: 4px 4px;
  }

  .plan-card-capacity .cap-label{
    font-size: 0.6875rem;
  }

  .plan-card-capacity .cap-num{
    font-size: 1.875rem;
  }

  .plan-card-capacity .cap-unit{
    font-size: 0.6875rem;
  }
  
/* =========================
   MULTI PRICE
========================= */
  .plan-card-price-area.is-multi{
    gap: 10px;
  }

  .plan-card-price-row{
    gap: 10px;
  }
  
}




/* =========================
   price
========================= */
.plan-list .copy{
}
.price-cat{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4%;
  padding-top: 80px;
  margin-bottom: 40px;
}

.price-cat li{
  margin: 0;
  padding: 5%;
  text-align: left;
  box-sizing: border-box;
  border-radius: 1em;
  position: relative;
  height: 100%;
}

.price-cat li h3{
  margin: 0 0 0.5em;
  padding: 0 0 0 4.5em;
  font-size: 1.5rem;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-weight: 400;
  font-style: normal;
  position: relative;
}

.price-cat li .text{
  line-height: 2;
}

.price-cat li:nth-child(1){
  background: #F0F5EA;
}

.price-cat li:nth-child(1):before{
  position: absolute;
  top: -1em;
  left: 5%;
  content: "";
  width: 24%;
  height: 8em;
  background: url(../img/jumokusou/price1.svg) no-repeat 0 0;
  background-size: 100% auto;
}

.price-cat li:nth-child(1) h3{
  border-bottom: 1px solid #8AA86C;
}

.price-cat li:nth-child(2){
  background: #F5F2E5;
}

.price-cat li:nth-child(2) h3{
  border-bottom: 1px solid #A79A6C;
}

.price-cat li:nth-child(2):before{
  position: absolute;
  top: -1em;
  left: 5%;
  content: "";
  width: 24%;
  height: 8em;
  background: url(../img/jumokusou/price2.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.price-cat li h3{
margin: 0 0 0.5em;
padding: 0 0 0 5em;
font-size: 1.5rem;
font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
font-weight: 400;
font-style: normal;
position: relative;
}
.price-cat li .text{
}
.price-cat li:nth-child(1){
background: #F0F5EA;
}
.price-cat li:nth-child(1):before{
position: absolute;
top: -1em;
left: 5%;
content: "";
width: 21%;
height: 8em;
background: url(../img/jumokusou/price1.svg) no-repeat 0 0;
background-size: 100% auto;
z-index: 1;
}
.price-cat li:nth-child(1) h3{
border-bottom: 1px solid #8AA86C;
}
.price-cat li:nth-child(2){
margin-right: 0;
background: #F5F2E5;
}
.price-cat li:nth-child(2) h3{
border-bottom: 1px solid #A79A6C;
}
.price-cat li:nth-child(2):before{
position: absolute;
top: -1em;
left: 5%;
content: "";
width: 21%;
height: 8em;
background: url(../img/jumokusou/price2.svg) no-repeat 0 0;
background-size: 100% auto;
z-index: 1;
}

@media screen and (max-width: 1200px) {
    .price-cat li:nth-child(1):before,
    .price-cat li:nth-child(2):before{
    width: 23%;
    }
}
@media screen and (max-width: 900px) {
    .price-cat{
    grid-template-columns: 1fr;
    gap: 2em;
    margin-bottom: 16px;
    padding-top: 40px;
    }

    .price-cat li{
    width: 100%;
    }


    .price-cat li h3{
    font-size: 20px;
    }

    .price-cat li:before{
    width: 5em !important;
    height: 5em !important;
    }
    .price-cat li h3{
    font-size: 20px;
    }
    .price-cat li:before{
    width: 5.5em !important;
    height: 5.5em !important;
    }

}


/* =========================
   PRICE DETAIL
========================= */

.price-box{
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 44px;
  margin-top: 40px;
  align-items: stretch;
}

.price-item{
  border: 1px solid #65764a;
  background: #fff;
}

.price-title{
  background: #d5dbca;
  text-align: center;
  padding: 18px;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #333;
}

.price-content{
  padding: 48px 40px 40px;
  text-align: center;
}

.price-block{
  margin-bottom: 0;
}

.price-block br.sp{
  display: none;
}

.price-name{
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #333;
  margin-bottom: 10px;
}
.price-name .small{
font-size: 1.5rem;
}

.price-value{
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 1.375rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #333;
  margin-bottom: 0;
}

.price-note{
  margin-top: 14px;
  font-size: 0.95rem;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #333;
}

.price-border{
  height: 1px;
  background: #65764a;
  margin: 30px 0 30px;
}

/* 右側 */

.price-desc{
  margin: 26px 0 24px;
  text-align: center;
  font-size: 1rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #333;
}

.price-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding: 0 30px 18px;
}

.price-grid div{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #dddfd2;
  text-align: center;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 1.375rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
}

.price-footer{
  background: #dcd3ca;
  text-align: center;
  padding: 16px;
  margin: 0 30px 30px;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 1.375rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
}

/* 下の注意書き */
.price-bottom-note{
  margin-top: 26px;
  font-size: 0.95rem;
  line-height: 1.9;
  letter-spacing: 0.03em;
  color: #666;
  text-align: center;
}

/* =========================
   SP
========================= */

@media (max-width: 900px){

  .price-box{
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 28px;
  }

  .price-block br.sp{
    display: inline;
  }
  
  .price-title{
    padding: 14px 16px;
    font-size: 1.125rem;
    letter-spacing: 0.04em;
  }

  .price-content{
    padding: 30px 20px 28px;
  }

  .price-name{
    font-size: 1.875rem;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .price-name .small{
    font-size: 1.375rem;
  }

  .price-value{
    font-size: 1.25rem;
    line-height: 1.7;
  }

  .price-note{
    margin-top: 10px;
    font-size: 0.875rem;
    line-height: 1.8;
  }

  .price-border{
    margin: 28px 0 24px;
  }

  .price-desc{
    margin: 20px 0 18px;
    padding: 0 16px;
    font-size: 0.95rem;
    line-height: 1.8;
  }

  .price-grid{
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 0 20px 16px;
  }

  .price-grid div{
    min-height: 82px;
    padding: 12px 10px;
    font-size: 1rem;
    line-height: 1.5;
  }
  
  .price-footer{
    padding: 16px 12px;
    margin: 0 20px 20px;
    font-size: 1rem;
    line-height: 1.8;
  }

  .price-bottom-note{
    margin-top: 20px;
    font-size: 0.85rem;
    line-height: 1.8;
    text-align: left;
  }

}





/* =========================
   kofunbo
========================= */
#kofunbo.plan-list{
    padding-top: 120px;
    position: relative;
    background: #f2eee9;
    overflow: hidden;
}

.kofunbo-map{
  margin-top: 48px;
  text-align: center;
}

.kofunbo-map img{
  width: 100%;
  max-width: 900px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.kofunbo-map .map-text{
  margin-top: 24px;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
  text-align: left;
}

.kofunbo-feature-list{
  margin-top: 80px;
  display: grid;
  gap: 60px;
}
.kofunbo-feature-list .plan-category{
  margin-bottom: 0;
  padding-top: 0;
}

.kofunbo-feature{
  display: grid;
  grid-template-columns: 35.5% 1fr;
  align-items: stretch;
  background: transparent;
  background: url("../img/jumokusou/kofunbo_bg.jpg") center / cover no-repeat;
  }

.kofunbo-feature-image img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.kofunbo-feature-body{
  padding: 48px 54px;
}

.kofunbo-feature-body h3{
  margin: 0 0 24px;
  font-family: "Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN","游明朝",serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #65764a;
}

.kofunbo-feature-body p{
  margin: 0;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333;
}




@media (max-width: 900px){
#kofunbo.plan-list{
    padding-top: 80px;
}

  .kofunbo-map{
    margin-top: 32px;
  }

  .kofunbo-map .map-text{
    margin-top: 18px;
    font-size: 0.95rem;
    line-height: 1.9;
  }

  .kofunbo-feature-list{
    margin-top: 48px;
    gap: 32px;
  }

  .kofunbo-feature-list .plan-category{
    padding-top: 0;
  }
  .kofunbo-feature{
    grid-template-columns: 1fr;
  }

  .kofunbo-feature-body{
    padding: 28px 24px;
  }

  .kofunbo-feature-body h3{
    margin-bottom: 18px;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
  }

  .kofunbo-feature-body p{
    font-size: 0.95rem;
    line-height: 1.9;
  }

}






