@media only screen and (max-width: 768px) {
  .p-plan {
    padding-bottom: 15.9090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan {
    padding-bottom: 110px;
  }
}
.p-plan .p-plan-tabs {
  border-bottom: 1px solid #000;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tabs {
    gap: 2.2727272727vw;
    margin-inline: -4.5454545455vw;
    padding-inline: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tabs {
    gap: 10px;
    padding-inline: 20px;
  }
}
.p-plan .p-plan-tab {
  width: 100%;
}
.p-plan .p-plan-tab a {
  border: 1px solid #000;
  display: grid;
  margin-bottom: -1px;
  place-content: center;
  position: relative;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tab a {
    height: 15.9090909091vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tab a {
    height: 60px;
  }
}
.p-plan .p-plan-tab a::before {
  background: #d7c18a;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  scale: 0 1;
  top: 0;
  transition: scale 0.3s ease-in-out;
  transform-origin: right;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tab a::before {
    height: 1.3636363636vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tab a::before {
    height: 6px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tab a:hover {
    border-bottom-color: #ffebe5;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tab a:hover::before {
    scale: 1 1;
    transform-origin: left;
  }
}
.p-plan .p-plan-tab a.is-active {
  border-bottom-color: #ffebe5;
}
.p-plan .p-plan-tab a.is-active::before {
  scale: 1 1;
}
.p-plan .p-plan-tab a span {
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tab a span {
    font-size: 3.6363636364vw;
    padding-left: 6.8181818182vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tab a span {
    font-size: 1.6rem;
    padding-left: 30px;
  }
}
.p-plan .p-plan-tab a.-time span {
  background: url("/rouge/_assets/plan/img/icon-hour.svg") no-repeat left center/20px;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tab a.-time span {
    background-size: 4.5454545455vw;
  }
}
.p-plan .p-plan-tab a.-purpose span {
  background: url("/rouge/_assets/plan/img/icon-purpose.svg") no-repeat left center/18px auto;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tab a.-purpose span {
    background-size: 4.0909090909vw auto;
  }
}
.p-plan .p-plan-tab-item {
  display: none;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-tab-item {
    padding-top: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-tab-item {
    padding-top: 30px;
  }
}
.p-plan .p-plan-tab-item.is-active {
  display: block;
}
.p-plan .p-plan-search {
  display: grid;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-search {
    gap: 2.2727272727vw;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 13.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-search {
    margin-bottom: 48px;
    padding-inline: 20px;
  }
}
.p-plan .p-plan-search-item a {
  background: #fff;
  border: 1px solid #ccaeac;
  transition: 0.3s ease-in-out;
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-search-item a:hover {
    background: #e0dbeb;
    border-color: #fff;
  }
}
.p-plan .p-plan-search-item a.is-active {
  background: #e0dbeb;
  border-color: #fff;
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-search-icon {
    width: 9.5454545455vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-search-icon img {
    height: auto;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-search-text {
    font-size: 3.1818181818vw;
    line-height: 1.42;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-search-text {
    font-size: 1.6rem;
    line-height: 1.75;
    text-align: center;
  }
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-search-text small {
    font-size: 2.7272727273vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-search-text small {
    font-size: 1.2rem;
  }
}
.p-plan .p-plan-main {
  display: grid;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-main {
    gap: 9.7727272727vw 4.5454545455vw;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-main {
    gap: 50px 77px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-main a:hover .p-plan-image img {
    scale: 1.1;
  }
}
.p-plan .p-plan-main .p-plan-image {
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-main .p-plan-image {
    margin-bottom: 2.2727272727vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-main .p-plan-image {
    margin-bottom: 10px;
  }
}
.p-plan .p-plan-main .p-plan-image img {
  height: auto;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.p-plan .p-plan-main .p-plan-name {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-main .p-plan-name {
    font-size: 3.6363636364vw;
    margin-bottom: 1.5909090909vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-main .p-plan-name {
    font-size: 2rem;
    margin-bottom: 7px;
  }
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-main .p-plan-text {
    font-size: 3.1818181818vw;
    line-height: 1.71;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-main .p-plan-text {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.p-plan .p-plan-page {
  border-block: 1px solid #ccaeac;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-page {
    font-size: 3.6363636364vw;
    height: 9.7727272727vw;
    margin-top: 18.1818181818vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-page {
    font-size: 1.6rem;
    height: 43px;
    margin-top: 80px;
  }
}
.p-plan .p-plan-pagination {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-pagination {
    margin-top: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-pagination {
    margin-top: 30px;
  }
}
.p-plan .p-plan-prev {
  margin-right: auto;
}
.p-plan .p-plan-prev .link_before {
  display: block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-prev .link_before {
    font-size: 3.6363636364vw;
    padding-left: 6.3636363636vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-prev .link_before {
    font-size: 1.6rem;
    padding-left: 28px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-prev .link_before::before {
    background: var(--red);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    scale: 0 1;
    transform-origin: right;
    transition: scale 0.3s ease-in-out;
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-prev .link_before:hover::before {
    scale: 1 1;
    transform-origin: left;
  }
}
.p-plan .p-plan-prev .link_before::after {
  background: #000;
  content: "";
  display: block;
  mask-image: url("/_assets/img/icon-arrow01.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  left: 0;
  rotate: 180deg;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-prev .link_before::after {
    height: 3.6363636364vw;
    width: 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-prev .link_before::after {
    height: 16px;
    width: 16px;
  }
}
.p-plan .p-plan-next {
  margin-left: auto;
}
.p-plan .p-plan-next .link_next {
  display: block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-next .link_next {
    font-size: 3.6363636364vw;
    padding-right: 6.3636363636vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-next .link_next {
    font-size: 1.6rem;
    padding-right: 28px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-next .link_next::before {
    background: var(--red);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    scale: 0 1;
    transform-origin: right;
    transition: scale 0.3s ease-in-out;
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-next .link_next:hover::before {
    scale: 1 1;
    transform-origin: left;
  }
}
.p-plan .p-plan-next .link_next::after {
  background: #000;
  content: "";
  display: block;
  mask-image: url("/_assets/img/icon-arrow01.svg");
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
}
@media only screen and (max-width: 768px) {
  .p-plan .p-plan-next .link_next::after {
    height: 3.6363636364vw;
    width: 3.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan .p-plan-next .link_next::after {
    height: 16px;
    width: 16px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan #time .p-plan-search {
    gap: 10px;
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-plan #time .p-plan-search-item a {
  align-items: center;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .p-plan #time .p-plan-search-item a {
    height: 17.2727272727vw;
    gap: 2.7272727273vw;
    padding-left: 4.5454545455vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan #time .p-plan-search-item a {
    flex-direction: column;
    height: 195px;
    gap: 20px;
    padding-top: 30px;
    width: 240px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan #purpose .p-plan-search {
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-plan #purpose .p-plan-search-item a {
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-plan #purpose .p-plan-search-item a {
    font-size: 3.1818181818vw;
    height: 13.6363636364vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-plan #purpose .p-plan-search-item a {
    font-size: 1.6rem;
    height: 60px;
  }
}