@import url("//fonts.googleapis.com/css2?family=BIZ+UDPMincho&family=Cardo:ital,wght@0,400;0,700;1,400&family=Noto+Sans+JP:wght@100..900&display=swap");
.planSecAnchor {
  padding: 0 40px 20px; }

@media only screen and (max-width: 768px) {
  .planSecAnchor {
    padding: 0 calc(5vw - 6px) 20px; } }
.planSec01 {
  font-size: 1.125rem;
  padding: 100px 40px 80px; }
  .planSec01 .inr {
    margin: 0 auto;
    max-width: 1280px; }
    .planSec01 .inr .btn {
      font-family: "BIZ UDPMincho", serif;
      font-size: 0.875rem; }
      .planSec01 .inr .btn a {
        background: #dddfc5;
        border: 1px solid #dddfc5;
        border-radius: 6px;
        color: #1E3024;
        display: block;
        padding: 12px 20px;
        text-align: center;
        transition: 0.2s; }
        .planSec01 .inr .btn a:hover {
          background: #FFF;
          color: #1E3024; }
    .planSec01 .inr .planBox {
      color: #9D9F84;
      margin-bottom: 100px; }
      .planSec01 .inr .planBox:last-child {
        margin-bottom: 0; }
      .planSec01 .inr .planBox h4 {
        font-family: "BIZ UDPMincho", serif;
        font-size: 1.3125rem;
        letter-spacing: 0.04em;
        line-height: 1.4;
        margin-bottom: 20px; }
      .planSec01 .inr .planBox table {
        border: none;
        color: #DDDFC5;
        margin: 0 0 24px;
        width: 100%; }
        .planSec01 .inr .planBox table th, .planSec01 .inr .planBox table td {
          border: none;
          letter-spacing: 0.04em;
          padding: 16px 8px;
          text-align: center; }
        .planSec01 .inr .planBox table th {
          background: #2C4134;
          font-family: "BIZ UDPMincho", serif;
          font-size: 0.8125rem;
          line-height: 1.3;
          font-weight: 500; }
        .planSec01 .inr .planBox table td {
          background: #16211B;
          color: #9D9F84;
          font-size: 0.875rem;
          line-height: 1.3; }
        .planSec01 .inr .planBox table thead th {
          font-size: 1.0625rem;
          line-height: 1.3;
          height: 56px;
          padding: 4px 8px; }
    .planSec01 .inr .planCardList {
      display: flex;
      justify-content: space-between;
      padding: 60px 0 40px; }
      .planSec01 .inr .planCardList li {
        background: #2C4134;
        border-radius: 8px;
        padding: 36px 40px 90px;
        position: relative;
        width: 31%; }
        .planSec01 .inr .planCardList li h4 {
          color: #DDDFC5;
          font-family: "BIZ UDPMincho", serif;
          font-size: 1.25rem;
          letter-spacing: 0.04em;
          line-height: 1.4;
          text-align: center; }
        .planSec01 .inr .planCardList li .desc {
          font-size: 0.8125rem;
          letter-spacing: -0.01em;
          margin: 8px 0 12px;
          text-align: center; }
        .planSec01 .inr .planCardList li .price {
          color: #DDDFC5;
          font-size: 1.0625rem;
          letter-spacing: -0.04em;
          line-height: 1;
          margin: 12px 0 24px;
          text-align: center; }
          .planSec01 .inr .planCardList li .price .num {
            color: #E4E9A5;
            font-family: "Cardo", serif;
            font-size: 2.5625rem;
            line-height: 1;
            margin-right: 8px; }
        .planSec01 .inr .planCardList li .dataDl {
          color: #DDDFC5;
          display: grid;
          grid-template-columns: 50% 1fr;
          font-family: "BIZ UDPMincho", serif;
          font-size: 0.9375rem;
          line-height: 1.4;
          margin-bottom: 20px; }
          .planSec01 .inr .planCardList li .dataDl dt, .planSec01 .inr .planCardList li .dataDl dd {
            border-bottom: 1px solid #495E51;
            padding: 10px 8px; }
          .planSec01 .inr .planCardList li .dataDl dd {
            color: #9D9F84; }
        .planSec01 .inr .planCardList li .fukidashi {
          text-align: center; }
          .planSec01 .inr .planCardList li .fukidashi p {
            background: #E4E9A4;
            border: solid 3px #2C4134;
            border-radius: 50px;
            box-sizing: border-box;
            color: #2C4134;
            display: inline-block;
            font-size: 14px;
            font-weight: 500;
            letter-spacing: 0;
            margin: 0 0 5px;
            padding: 5px 20px;
            position: relative;
            min-width: 170px;
            max-width: 100%; }
            .planSec01 .inr .planCardList li .fukidashi p span {
              display: inline-block;
              font-family: "Cardo", serif;
              font-size: 35px;
              font-weight: bold;
              line-height: 1;
              margin: 0 5px;
              transform: translateY(1px); }
            .planSec01 .inr .planCardList li .fukidashi p:before {
              content: "";
              position: absolute;
              bottom: -17px;
              left: 50%;
              margin-left: -6px;
              border: 6px solid transparent;
              border-top: 12px solid #E4E9A4;
              z-index: 2; }
            .planSec01 .inr .planCardList li .fukidashi p:after {
              content: "";
              position: absolute;
              bottom: -21px;
              left: 50%;
              margin-left: -7px;
              border: 7px solid transparent;
              border-top: 14px solid #2C4134;
              z-index: 1; }
        .planSec01 .inr .planCardList li .btn {
          position: absolute;
          bottom: 40px;
          left: 0;
          width: 100%;
          padding: 0 40px; }
      .planSec01 .inr .planCardList.clm4 li {
        background: #2C4134;
        border-radius: 8px;
        padding: 32px 24px 90px;
        width: 23.8%; }
        .planSec01 .inr .planCardList.clm4 li .btn {
          padding: 0 24px; }
    .planSec01 .inr .ticketFlex {
      display: flex;
      justify-content: space-between; }
      .planSec01 .inr .ticketFlex .ticketFlexBox {
        width: 48%; }
      .planSec01 .inr .ticketFlex .btn {
        margin-bottom: 40px;
        max-width: 300px; }
    .planSec01 .inr .corpoBox {
      padding-bottom: 60px;
      text-align: center; }
      .planSec01 .inr .corpoBox h3 {
        font-family: "BIZ UDPMincho", serif;
        font-size: 1.5rem;
        line-height: 1.3;
        font-weight: 500;
        margin-bottom: 20px; }
      .planSec01 .inr .corpoBox .desc {
        color: #9D9F84;
        margin-bottom: 60px; }
      .planSec01 .inr .corpoBox ul {
        display: flex;
        justify-content: center;
        margin-bottom: 70px; }
        .planSec01 .inr .corpoBox ul li {
          background: #2C4134;
          border-radius: 8px;
          display: flex;
          justify-content: center;
          align-items: center;
          font-family: "BIZ UDPMincho", serif;
          font-size: 1.25rem;
          line-height: 1.6;
          font-weight: 500;
          min-height: 130px;
          margin: 0 12px;
          padding: 12px;
          width: 23.8%; }
      .planSec01 .inr .corpoBox .btn {
        text-align: center;
        width: 100%; }
        .planSec01 .inr .corpoBox .btn a {
          display: inline-block;
          min-width: 260px; }
    .planSec01 .inr .planBox.kind h4 {
      margin-bottom: 12px; }
    .planSec01 .inr .planBox.kind table {
      margin: 0; }
      .planSec01 .inr .planBox.kind table th {
        font-size: 1.0625rem;
        line-height: 1.3; }
      .planSec01 .inr .planBox.kind table td {
        width: 17%; }
        .planSec01 .inr .planBox.kind table td.triangle {
          background: #2F3D36; }

@media only screen and (max-width: 768px) {
  .planSec01 {
    font-size: 1rem;
    padding: 40px 0; }
    .planSec01 .inr {
      max-width: 100%; }
      .planSec01 .inr .btn {
        font-family: "BIZ UDPMincho", serif;
        font-size: 0.875rem; }
        .planSec01 .inr .btn a {
          background: #dddfc5;
          border: 1px solid #dddfc5;
          border-radius: 6px;
          color: #1E3024;
          display: block;
          padding: 12px 20px;
          text-align: center;
          transition: 0.2s; }
          .planSec01 .inr .btn a:hover {
            background: #FFF;
            color: #1E3024; }
      .planSec01 .inr .planBox {
        margin-bottom: 80px; }
        .planSec01 .inr .planBox:last-child {
          margin-bottom: 0; }
        .planSec01 .inr .planBox.spPadding {
          padding: 0 5vw; }
        .planSec01 .inr .planBox h4 {
          font-size: 17px;
          margin-bottom: 12px; }
        .planSec01 .inr .planBox .spP {
          margin: 0 7.5vw 40px; }
        .planSec01 .inr .planBox ul.indList {
          font-size: 13px; }
        .planSec01 .inr .planBox table {
          margin: 0 0 12px; }
          .planSec01 .inr .planBox table th, .planSec01 .inr .planBox table td {
            letter-spacing: -0.02em;
            padding: 12px 4px; }
          .planSec01 .inr .planBox table th {
            font-size: 12px;
            line-height: 1.2; }
          .planSec01 .inr .planBox table td {
            font-size: 12px;
            line-height: 1.2; }
          .planSec01 .inr .planBox table thead th {
            font-size: 12px;
            line-height: 1.2;
            height: auto;
            padding: 12px 4px; }
            .planSec01 .inr .planBox table thead th.w23 {
              width: 18% !important; }
      .planSec01 .inr .planCardList {
        display: block;
        padding: 28px 0 0; }
        .planSec01 .inr .planCardList li {
          margin-bottom: 24px;
          padding: 32px 7.5vw 32px;
          width: 100%; }
          .planSec01 .inr .planCardList li .desc {
            margin: 8px 0 12px; }
          .planSec01 .inr .planCardList li .price {
            margin: 0 0 16px; }
          .planSec01 .inr .planCardList li .dataDl {
            margin-bottom: 28px; }
          .planSec01 .inr .planCardList li .btn {
            position: static;
            padding: 0 !important; }
        .planSec01 .inr .planCardList.clm4 li {
          background: #2C4134;
          border-radius: 8px;
          padding: 32px 24px 36px;
          width: 100%; }
      .planSec01 .inr .ticketFlex {
        display: block; }
        .planSec01 .inr .ticketFlex .ticketFlexBox {
          width: 100%; }
          .planSec01 .inr .ticketFlex .ticketFlexBox:last-child {
            padding-top: 40px; }
        .planSec01 .inr .ticketFlex .btn {
          margin-bottom: 48px;
          max-width: 100%;
          padding: 16px 0 0; }
      .planSec01 .inr .corpoBox {
        padding: 0 5vw 28px; }
        .planSec01 .inr .corpoBox h3 {
          font-size: 18px;
          margin-bottom: 20px; }
        .planSec01 .inr .corpoBox .desc {
          font-size: 1rem;
          letter-spacing: -0.02em;
          margin-bottom: 40px;
          text-align: left; }
        .planSec01 .inr .corpoBox ul {
          flex-wrap: wrap;
          margin: 0 auto 24px;
          max-width: 95%; }
          .planSec01 .inr .corpoBox ul li {
            border-radius: 6px;
            font-size: 15px;
            letter-spacing: 0;
            line-height: 1.4;
            min-height: 60px;
            margin: 0 8px 16px;
            padding: 8px;
            width: 100%; }
        .planSec01 .inr .corpoBox .btn a {
          min-width: 100%; }
      .planSec01 .inr .planBox.kind table {
        width: 600px; }
        .planSec01 .inr .planBox.kind table th {
          font-size: 13px;
          line-height: 1.3; }
        .planSec01 .inr .planBox.kind table td {
          width: 16%; } }
