.page-template-price #content.l-content,
.page-template-price #content.l-container {
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.price-box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 32px;
  row-gap: 24px;
}
.price-item {
  min-width: 0;
  background-color: var(--white);
  border-radius: 5px;
  box-shadow: 0 0 5px #00000026;
  padding: 32px 5% 24px;
  position: relative;
}
.price-item .crown {
  width: 116px;
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  margin: auto;
}
.price-item-title {
  color: var(--main);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 24px;
}
.price-item-img { margin-bottom: 24px;}
.price-item-data { margin-top: 12px;}
.price-item-data dt {
  width: max-content;
  background-color: var(--sub);
  color: var(--white);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  border-radius: 2px;
  padding: 6px 16px;
}
.price-item-data--flex { display: flex;}
.price-item-data--flex dt { margin-right: 12px;}
.price-item-data--flex dd { font-weight: 700;}
.price-item-data ul { margin-top: 12px;}
.price-item-data li {
  font-weight: 300;
  line-height: 2;
  padding-left: 28px;
  position: relative;
}
.price-item-data li::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(../img/icon-check.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 6px;
  left: 0;
}
.price-item-data small { display: inline-block; margin-left: 6px; font-size: 14px;}
.plan-single-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.plan-single-item { font-weight: 700; border: 1px solid var(--main); padding: 32px;}
.plan-single-head { font-size: 20px; color: var(--main); margin-bottom: 24px;}
.plan-single-content { font-size: 18px; letter-spacing: 0.05em;}
.plan-single-content mark {
  display: inline-block;
  background-color: var(--sub);
  color: var(--white);
  font-size: 16px;
  line-height: 1;
  border-radius: 2px;
  padding: 6px 16px;
  margin-right: 8px;
}
.page-section-plan { padding-top: 0;}
.plan-continue .small-text {
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #2a2a2a;
  margin-top: 8px;
  text-align: right;
}
.plan-single { margin-top: 48px;}
.attend-box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 32px;
  row-gap: 24px;
}
.attend-item {
  min-width: 0;
  background-color: var(--white);
  color: var(--text);
  border: 1px solid var(--main);
  padding: 24px;
}
.attend-item-title {
  color: var(--main);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  word-break: keep-all;
  margin-bottom: 24px;
}
.attend-item-title::after {
  content: "";
  display: block;
  aspect-ratio: 286 / 180;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 16px;
}
.attend-item-title::after { aspect-ratio: 286 / 200;}
.attend-item:nth-child(1) .attend-item-title::after { background-image: url(../img/page/attend1.jpg);}
.attend-item:nth-child(2) .attend-item-title::after { background-image: url(../img/page/attend2.jpg);}
.attend-item:nth-child(3) .attend-item-title::after { background-image: url(../img/page/attend3.jpg);}
.attend-item-title mark {
  display: block;
  width: max-content;
  background-color: var(--sub);
  color: var(--white);
  font-size: 16px;
  line-height: 1;
  border-radius: 2px;
  padding: 6px 16px;
  margin-bottom: 16px;
}


@media (max-width: 959px) {
  .price-item .crown { left: 5%; right: auto; margin: 0;}
  .price-box,
  .plan-single-box { grid-template-columns: 1fr; max-width: 360px; margin-left: auto; margin-right: auto;}
  .plan-single-item { padding: 24px 5%;}
  .plan-single-head { font-size: 18px; margin-bottom: 16px;}
  .plan-single-content { font-size: 16px;}
  .attend-box { grid-template-columns: 1fr; max-width: 360px; margin-left: auto; margin-right: auto;}
  .attend-item { padding: 24px 5%;}
}