@charset "utf-8";

/* ==========================================================================
   plan-archive
========================================================================== */
.plan-archive {
   margin-bottom: 17.614vw;
}

.plan-archive .plan-list-wrap {
   margin-top: 10.402vw;
}

.plan-archive .plan-list-wrap .plan-items .plan-item + .plan-item {
   margin-top: 1.387vw;
}
.plan-wrap .plan-item .plan-detail {
   justify-content: flex-end;
}
.plan-wrap .plan-item .plan-detail .btn-wrap {
   margin-top: 0;
   margin-bottom: 0;
}
/* ページャー */
.plan-archive .pagination {
   margin-top: 17.476vw;
}
.plan-archive .pagination .page-numbers {
   display: flex;
   justify-content: center;
}
.plan-archive .pagination .page-numbers li {
   font-size: 1.387vw;
   font-weight: bold;
   margin: 0 2.323vw;
}
.plan-archive .pagination .page-numbers li span {
   color: #878179;
}
.plan-archive .pagination .page-numbers li a {
   color: rgba(147, 132, 111, 0.5);
}
.plan-archive .pagination .page-numbers li a i {
   width: 3.082vw;
   height: 3.082vw;
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   background: url(../common/img/arrow-icon-b.svg) no-repeat;
   background-size: contain;
}
.plan-archive .pagination .page-numbers li a.prev i {
   transform: rotate(180deg);
}
@media screen and (min-width: 1442px) {
   .plan-archive {
      margin-bottom: 254px;
   }
   .plan-archive .plan-list-wrap {
      margin-top: 150px;
   }

   .plan-archive .plan-list-wrap .plan-items .plan-item + .plan-item {
      margin-top: 20px;
   }
   /* ページャー */
   .plan-archive .pagination {
      margin-top: 252px;
   }
   .plan-archive .pagination .page-numbers li {
      font-size: 20px;
      margin: 0 33.5px;
   }
   .plan-archive .pagination .page-numbers li a i {
      width: 44.44px;
      height: 44.44px;
   }
}

@media screen and (max-width: 750px) {
   .plan-archive {
      margin-bottom: 23.438vw;
   }
   .plan-archive .plan-list-wrap {
      margin-top: 10.402vw;
   }

   .plan-archive .plan-list-wrap .plan-items .plan-item + .plan-item {
      margin-top: 3.125vw;
   }
   .plan-wrap .plan-item .plan-detail .btn-wrap {
      margin-top: 3.067vw;
   }
   /* ページャー */
   .plan-archive .pagination {
      margin-top: 22.656vw;
   }
   .plan-archive .pagination .page-numbers li {
      font-size: 3.125vw;
      margin: 0 5.234vw;
   }
   .plan-archive .pagination .page-numbers li a i {
      width: 6.944vw;
      height: 6.944vw;
   }
}

/* ==========================================================================
   plan-detail
========================================================================== */
.plan-detail-wrap {
   margin: 10.402vw 0 6.935vw;
}

.plan-detail-wrap .plan-column {
   display: flex;
   grid-column-gap: 2.358vw;
}

.plan-detail-wrap .plan-column + .plan-column .plan-right {
   margin-top: 1.872vw;
   margin-bottom: 0;
}
.plan-detail-wrap .plan-column .plan-left,
.plan-detail-wrap .plan-column .plan-right {
   flex: 1;
}

.plan-detail-wrap .plan-column .plan-left .thumb-wrap {
   position: relative;
   width: 40.24vw;
   height: 25.52vw;
}
.plan-detail-wrap .plan-column .plan-left .thumb img {
   width: 100%;
   height: 25.52vw;
   object-fit: cover;
}
.plan-detail-wrap .plan-column .plan-item {
   padding: 1.387vw 0;
   border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.plan-detail-wrap .plan-column .plan-item:first-child {
   border-top: 1px solid rgba(0, 0, 0, 0.5);
   margin-top: 2.635vw;
}

.plan-detail-wrap .plan-column .plan-item .plan-item-title {
   font-size: 1.387vw;
   letter-spacing: 0.05em;
   font-weight: bold;
   color: #7E8B75;
}
.plan-detail-wrap .plan-column .plan-item .plan-item-detail {
   font-size: 1.248vw;
   font-weight: 400;
   line-height: 1.94;
}

.plan-detail-wrap .plan-column .plan-right {
   display: flex;
   flex-direction: column;
   margin-top: auto;
   margin-bottom: 0;
}
.plan-detail-wrap .plan-column .tag-wrap {
    display: flex;
    flex-wrap: wrap;
    grid-column-gap: 0.139vw;
    grid-row-gap: 0.139vw;
}
.plan-detail-wrap .plan-column .tag-wrap li {
    font-size: 0.971vw;
    line-height: 1.25;
    letter-spacing: 0;
    color: #FFFFFF;
    background-color: #94856F;
    border-radius: 0.208vw;
    padding: 0.277vw 0.693vw;
}

.plan-detail-wrap .plan-column h3 {
   font-size: 1.664vw;
   font-weight: 600;
   letter-spacing: 0.05em;
   line-height: 1.6;
   color: #7E8B75;
   padding: 1.387vw 0;
}
.plan-detail-wrap .plan-column .price-wrap {
   border-top: 1px solid rgba(0, 0, 0, 0.5);
   border-bottom: 1px solid rgba(0, 0, 0, 0.5);
   padding: 1.387vw 0;
}

.plan-detail-wrap .plan-column .price-wrap dl {
   display: flex;
   justify-content: space-between;
}
.plan-detail-wrap .plan-column .price-wrap dl dt {
   font-size: 1.248vw;
   font-weight: bold;
   color: #7E8B75;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item {
   display: flex;
   justify-content: space-between;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item + .price-item {
   margin-top: 0.971vw;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-title {
   font-size: 1.11vw;
   text-align: right;
   letter-spacing: 0.05em;
   line-height: 1.56;
   margin-right: 1.734vw;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-person {
   font-size: 3.467vw;
   font-weight: 500;
   letter-spacing: 0.05em;
   line-height: 0.8;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-person span {
   font-size: 1.664vw;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-rental {
   font-size: 1.664vw;
   font-weight: 500;
   letter-spacing: 0.05em;
   line-height: 0.8;
}
.plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-rental span {
   font-size: 1.664vw;
}
.plan-detail-wrap .plan-column .detail-wrap .detail-txt {
   font-size: 1.248vw;
   padding: 0 0 1.387vw;
}

.plan-detail-wrap .plan-column .teikyo-wrap {
   font-size: 1.248vw;
   line-height: 1.94;
   background-color: rgba(224, 218, 208, 0.3);
   padding: 1.664vw 1.734vw;
}
.plan-detail-wrap .plan-column .teikyo-wrap + div {
   margin-top: auto;
   margin-bottom: 0;
}
.plan-detail-wrap .plan-column .etc-wrap {
   margin-top: 2.219vw;
   border: 1px solid #7E8B75;
   display: flex;
   align-items: center;
}
.plan-detail-wrap .plan-column .etc-wrap .etc-img {
   width: 12.483vw;
   height: 10.402vw;
   object-fit: cover;
}
.plan-detail-wrap .plan-column .etc-wrap .etc-txt {
   font-size: 1.387vw;
   font-weight: bold;
   line-height: 1.75;
   color: #7E8B75;
   margin-left: 2.427vw;
}

.plan-detail-wrap .plan-btn-wrap {
   margin-top: 9.015vw;
}
.plan-detail-wrap .plan-btn-wrap p {
   font-size: 1.387vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   text-align: center;
   color: #7E8B75;
}

.plan-detail-wrap .plan-btn-wrap .btn.btn-green a {
   width: 27.254vw;
   height: 6.38vw;
   border-radius: 0.347vw;
   margin: 38px auto 0;
}
.plan-detail-wrap .btn-wrap {
   margin-top: 3.051vw;
   margin-bottom: 19.348vw;
   text-align: center;
}

.plan-detail-wrap .btn-wrap a {
   font-size: 1.387vw;
   font-weight: 500;
   line-height: 2;
   width: 27.254vw;
   height: 6.38vw;
   border-radius: 0.347vw;
   background-color: #E0DBD3;

   display: inline-flex;
   align-items: center;
   justify-content: center;
}
.thumb-wrap .thumb .slick-dots {
   display: inline-flex;
    position: absolute;
   bottom: 3.121vw;
   right: 7.212vw;
}
.thumb-wrap .thumb .slick-dots li {
   width: 0.624vw;
   height: 0.624vw;
   border-radius: 50em;
   margin: 0 0.312vw;
   background: #FFFFFF;
   cursor: pointer;
}

.thumb-wrap .thumb .slick-dots li.slick-active {
  background: #6B7762;
}
.thumb-wrap .thumb .slick-dots button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: -735.221vw;
}
.thumb-wrap .next-icon {
   width: 3.221vw;
   height: 3.221vw;

   cursor: pointer;
   position: absolute;
   bottom: 2.08vw;
   right: 2.08vw;
}
@media screen and (min-width: 1442px) {
   .plan-detail-wrap {
      margin: 150px 0 100px;
   }

   .plan-detail-wrap .plan-column {
      grid-column-gap: 34px;
   }
   .plan-detail-wrap .plan-column + .plan-column .plan-right {
      margin-top: 35px;
   }
   .plan-detail-wrap .plan-column .plan-left .thumb-wrap {
      width: 589px;
      height: 368px;
   }
   .plan-detail-wrap .plan-column .plan-left .thumb img {
      width: 100%;
      height: 368px;
      object-fit: cover;
   }
   .plan-detail-wrap .plan-column .plan-item {
      padding: 20px 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.5);
   }
   .plan-detail-wrap .plan-column .plan-item:first-child {
      border-top: 1px solid rgba(0, 0, 0, 0.5);
      margin-top: 38px;
   }

   .plan-detail-wrap .plan-column .plan-item .plan-item-title {
      font-size: 20px;
      letter-spacing: 0.05em;
      font-weight: bold;
      color: #7E8B75;
   }
   .plan-detail-wrap .plan-column .plan-item .plan-item-detail {
      font-size: 18px;
      font-weight: 400;
      line-height: 1.94;
   }

   .plan-detail-wrap .plan-column .plan-right {
      display: flex;
      flex-direction: column;
      margin-top: auto;
      margin-bottom: 0;
   }
   .plan-detail-wrap .plan-column .tag-wrap {
       display: flex;
       flex-wrap: wrap;
       grid-column-gap: 0.139vw;
       grid-row-gap: 0.139vw;
   }
   .plan-detail-wrap .plan-column .tag-wrap li {
       font-size: 14px;
       line-height: 1.25;
       letter-spacing: 0;
       color: #FFFFFF;
       background-color: #94856F;
       border-radius: 0.208vw;
       padding: 0.277vw 0.693vw;
   }

   .plan-detail-wrap .plan-column h3 {
      font-size: 24px;
      padding: 20px 0;
   }
   .plan-detail-wrap .plan-column .price-wrap {
      border-top: 1px solid rgba(0, 0, 0, 0.5);
      border-bottom: 1px solid rgba(0, 0, 0, 0.5);
      padding: 20px 0;
   }

   .plan-detail-wrap .plan-column .price-wrap dl {
      display: flex;
      justify-content: space-between;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dt {
      font-size: 18px;
      font-weight: bold;
      color: #7E8B75;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item {
      display: flex;
      justify-content: space-between;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item + .price-item {
      margin-top: 14px;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-title {
      font-size: 16px;
      text-align: right;
      letter-spacing: 0.05em;
      line-height: 1.56;
      margin-right: 25px;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-person {
      font-size: 50px;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 0.8;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-person span {
      font-size: 24px;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-rental {
      font-size: 24px;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 0.8;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-rental span {
      font-size: 24px;
   }
   .plan-detail-wrap .plan-column .detail-wrap .detail-txt {
      font-size: 18px;
      padding: 0 0 20px;
   }

   .plan-detail-wrap .plan-column .teikyo-wrap {
      font-size: 18px;
      line-height: 1.94;
      background-color: rgba(224, 218, 208, 0.3);
      padding: 24px 25px;
   }
   .plan-detail-wrap .plan-column .etc-wrap {
      margin-top: 32px;
      border: 1px solid #7E8B75;
      display: flex;
      align-items: center;
   }
   .plan-detail-wrap .plan-column .etc-wrap .etc-img {
      width: 180px;
      height: 150px;
      object-fit: cover;
   }
   .plan-detail-wrap .plan-column .etc-wrap .etc-txt {
      font-size: 20px;
      font-weight: bold;
      line-height: 1.75;
      color: #7E8B75;
      margin-left: 35px;
   }

   .plan-detail-wrap .plan-btn-wrap {
      margin-top: 130px;
   }
   .plan-detail-wrap .plan-btn-wrap p {
      font-size: 20px;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.05em;
      text-align: center;
      color: #7E8B75;
   }

   .plan-detail-wrap .plan-btn-wrap .btn.btn-green a {
      width: 393px;
      height: 92px;
      border-radius: 5px;
      margin: 38px auto 0;
   }
   .plan-detail-wrap .btn-wrap {
      margin-top: 44px;
      margin-bottom: 279px;
      text-align: center;
   }

   .plan-detail-wrap .btn-wrap a {
      font-size: 20px;
      font-weight: 500;
      line-height: 2;
      width: 393px;
      height: 92px;
      border-radius: 5px;
      background-color: #E0DBD3;

      display: inline-flex;
      align-items: center;
      justify-content: center;
   }
   .thumb-wrap .thumb .slick-dots {
      display: inline-flex;
       position: absolute;
      bottom: 45px;
      right: 104px;
   }
   .thumb-wrap .thumb .slick-dots li {
      width: 9px;
      height: 9px;
      border-radius: 50em;
      margin: 0 4.5px;
      background: #FFFFFF;
      cursor: pointer;
   }

   .thumb-wrap .thumb .slick-dots li.slick-active {
     background: #6B7762;
   }
   .thumb-wrap .thumb .slick-dots button {
     margin: 0;
     padding: 0;
     background: none;
     border: none;
     border-radius: 0;
     outline: none;
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     text-indent: -735.221vw;
   }
   .thumb-wrap .next-icon {
      width: 46.44px;
      height: 46.44px;

      cursor: pointer;
      position: absolute;
      bottom: 30px;
      right: 30px;
   }
}
@media screen and (max-width: 750px) {
   .inner {
      width: 86.4%;
   }
   .plan-detail-wrap {
      margin: 4.133vw 0 8.933vw;
   }

   .plan-detail-wrap .plan-column {
      flex-direction: column;
   }
   .plan-detail-wrap .plan-column + .plan-column {
      flex-direction: column-reverse;
   }
   .plan-detail-wrap .plan-column .plan-left .thumb {
      margin: 0 -6.7vw;
   }
   .plan-detail-wrap .plan-column .plan-left .thumb-wrap {
      width: 100%;
      height: 56.8vw;
   }
   .plan-detail-wrap .plan-column .plan-left .thumb img {
      width: 100%;
      height: 56.8vw;      
   }
   .plan-detail-wrap .plan-column .plan-left {
      margin-top: 6.563vw;
   }
   .plan-detail-wrap .plan-column .plan-item {
      padding: 3.125vw 0;
   }
   .plan-detail-wrap .plan-column .plan-item:first-child {
      margin-top: 0;
   }

   .plan-detail-wrap .plan-column .plan-item .plan-item-title {
      font-size: 3.125vw;
   }
   .plan-detail-wrap .plan-column .plan-item .plan-item-detail {
      font-size: 2.813vw;
   }

   .plan-detail-wrap .plan-column .plan-right {
      display: block;
   }
   .plan-detail-wrap .plan-column .tag-wrap {
      grid-column-gap: 0.3vw;
      grid-row-gap: 0.3vw;
      margin-top: 4.667vw;
   }
   .plan-detail-wrap .plan-column .tag-wrap li {
      font-size: 1.867vw;
      border-radius: 0.4vw;
      padding: 0.667vw 2vw;
   }

   .plan-detail-wrap .plan-column h3 {
      font-size: 3.75vw;
      padding: 3.125vw 0;
   }
   .plan-detail-wrap .plan-column .price-wrap {
      padding: 3.125vw 0;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dt {
      font-size: 2.813vw;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item + .price-item {
      margin-top: 2.188vw;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-title {
      font-size: 2.5vw;
      margin-right: 3.906vw;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-person {
      font-size: 7.813vw;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-person span {
      font-size: 3.75vw;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-rental {
      font-size: 3.75vw;
   }
   .plan-detail-wrap .plan-column .price-wrap dl dd .price-item .price-rental span {
      font-size: 3.75vw;
   }
   .plan-detail-wrap .plan-column .detail-wrap .detail-txt {
      font-size: 2.813vw;
      padding: 3.125vw 0;
   }

   .plan-detail-wrap .plan-column .teikyo-wrap {
      font-size: 2.813vw;
      padding: 3.75vw 3.906vw;
   }
   .plan-detail-wrap .plan-column .etc-wrap {
      margin-top: 5.781vw;
   }
   .plan-detail-wrap .plan-column .etc-wrap .etc-img {
      width: 28.125vw;
      height: 23.438vw;
   }
   .plan-detail-wrap .plan-column .etc-wrap .etc-txt {
      font-size: 3.125vw;
      margin-left: 4.844vw;
   }

   .plan-detail-wrap .plan-btn-wrap {
      margin-top: 6.563vw;
   }
   .plan-detail-wrap .plan-btn-wrap p {
      font-size: 3.125vw;
   }

   .plan-detail-wrap .plan-btn-wrap .btn.btn-green a {
      width: 61.406vw;
      height: 14.375vw;
      border-radius: 0.781vw;
      margin: 35px auto 0;
   }
   .plan-detail-wrap .btn-wrap {
      margin-top: 6.875vw;
      margin-bottom: 19.219vw;
   }

   .plan-detail-wrap .btn-wrap a {
      font-size: 3.125vw;
      width: 61.406vw;
      height: 14.375vw;
      border-radius: 0.781vw;
   }

   .thumb-wrap .thumb .slick-dots {
      bottom: 5.156vw;
      right: 16.25vw;
   }
   .thumb-wrap .thumb .slick-dots li {
      width: 1.406vw;
      height: 1.406vw;
      margin: 0 0.703vw;
   }
   .thumb-wrap .thumb .slide-item img {
       object-fit: cover;
       height: 49.375vw;
   }
   .thumb-wrap .next-icon {
      width: 7.031vw;
      height: 7.031vw;

      bottom: 2.5vw;
      right: 0;
   }
}