.top {
  background: url("../images/plan/top.jpg") no-repeat center center;
  background-size: cover;
  height: 21.08345534407028vw;
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding-left: 6.954612005856515vw;
  padding-top: 9.0rem; }
  @media (max-width: 768px) {
    .top {
      padding-top: 24vw;
      height: 48vw; } }
  .top .ttl {
    font-size: 3.6603221083455346vw;
    font-family: "Spectral", serif;
    font-weight: 200; }
    @media (max-width: 768px) {
      .top .ttl {
        font-size: 6.666666666666667vw; } }

.anchorlinks {
  padding-top: 4.0rem;
  margin-bottom: 20.0rem; }
  @media (max-width: 768px) {
    .anchorlinks {
      padding-top: 10.666666666666668vw;
      margin-bottom: 26.666666666666668vw; } }
  .anchorlinks .link-list {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media (max-width: 768px) {
      .anchorlinks .link-list {
        flex-wrap: wrap; } }
    .anchorlinks .link-list li {
      width: 23.14%;
      padding-left: 0; }
      @media (max-width: 768px) {
        .anchorlinks .link-list li {
          width: 48%;
          margin-bottom: 4vw; } }
      .anchorlinks .link-list li a {
        display: block;
        background-color: #20304D;
        border: 1px solid #fff;
        padding: 1.5rem 0;
        letter-spacing: .28em;
        color: #fff;
        text-decoration: none;
        border-radius: 1.0rem;
        font-weight: 500;
        text-align: center; }
        @media (max-width: 768px) {
          .anchorlinks .link-list li a {
            padding: 4vw 0;
            letter-spacing: 0; } }
        .anchorlinks .link-list li a:hover {
          opacity: .6; }
  .anchorlinks .txt {
    max-width: 90.0rem;
    line-height: 1.875;
    margin: 8.0rem auto 0; }
    @media (max-width: 768px) {
      .anchorlinks .txt {
        margin-top: 6.666666666666667vw; } }

.plan-block .photo-list {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin-bottom: 7.0rem; }
  @media (max-width: 768px) {
    .plan-block .photo-list {
      margin-bottom: 4vw; } }
  .plan-block .photo-list li {
    width: 32.38%; }
.plan-block .txt-area {
  max-width: 90.0rem;
  margin: 0 auto; }
  .plan-block .txt-area .txt {
    letter-spacing: .03em;
    line-height: 1.875;
    margin-bottom: 6.5rem; }
    @media (max-width: 768px) {
      .plan-block .txt-area .txt {
        line-height: 1.5;
        margin-bottom: 8vw; } }
  .plan-block .txt-area .plice-box {
    display: flex;
    align-items: flex-end;
    margin-bottom: 7.0rem; }
    @media (max-width: 768px) {
      .plan-block .txt-area .plice-box {
        margin-bottom: 8vw; } }
    .plan-block .txt-area .plice-box .add {
      background-color: #fff;
      color: #000;
      font-size: 1.8rem;
      font-weight: 600;
      position: relative;
      line-height: 3.6rem;
      padding: 0 .7rem 0 1.0rem;
      margin-right: 2.5rem; }
      @media (max-width: 768px) {
        .plan-block .txt-area .plice-box .add {
          font-size: 3.2vw;
          line-height: 7.466666666666668vw;
          margin-right: 4.8vw; } }
      .plan-block .txt-area .plice-box .add::after {
        content: "";
        position: absolute;
        top: 0;
        right: -1.9rem;
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 18px 0px 18px 19px;
        border-color: transparent transparent transparent #ffffff; }
        @media (max-width: 768px) {
          .plan-block .txt-area .plice-box .add::after {
            border-width: 3.733333333333334vw 0px 3.733333333333334vw 4vw;
            right: -4vw; } }
    .plan-block .txt-area .plice-box .plice {
      font-size: 6.2rem;
      font-family: "Noto Serif JP", serif;
      margin-right: 1.0rem; }
      @media (max-width: 768px) {
        .plan-block .txt-area .plice-box .plice {
          font-size: 8vw;
          margin-right: .5rem; } }
    .plan-block .txt-area .plice-box .tax {
      font-size: 1.8rem; }
      @media (max-width: 768px) {
        .plan-block .txt-area .plice-box .tax {
          font-size: 3.2vw; } }
  .plan-block .txt-area .detail {
    margin-bottom: 8.5rem; }
    @media (max-width: 768px) {
      .plan-block .txt-area .detail {
        margin-bottom: 10.666666666666668vw; } }
    .plan-block .txt-area .detail table {
      width: 100%;
      line-height: 1.5; }
      @media (max-width: 768px) {
        .plan-block .txt-area .detail table {
          font-size: 3.4666666666666663vw; } }
      .plan-block .txt-area .detail table th {
        width: 20%;
        vertical-align: top;
        text-align: left;
        padding: .7rem 0; }
        @media (max-width: 768px) {
          .plan-block .txt-area .detail table th {
            width: 33%; } }
      .plan-block .txt-area .detail table td {
        width: 80%;
        padding: .7rem 0; }
        @media (max-width: 768px) {
          .plan-block .txt-area .detail table td {
            width: 67%; } }
.plan-block .menu-block {
  max-width: 102.0rem;
  margin: 0 auto 8.5rem;
  background-color: #312D27;
  border-radius: 3.0rem;
  padding: 5.0rem 4.5rem; }
  @media (max-width: 768px) {
    .plan-block .menu-block {
      margin-bottom: 10.666666666666668vw;
      border-radius: 1.0rem;
      padding: 4vw; } }
  .plan-block .menu-block .ttl {
    text-align: center;
    margin-bottom: 5.5rem; }
    @media (max-width: 768px) {
      .plan-block .menu-block .ttl {
        margin-bottom: 6.666666666666667vw; } }
    .plan-block .menu-block .ttl span {
      display: inline-block;
      padding: .5rem 4.0rem;
      background-color: #fff;
      color: #101010;
      letter-spacing: .28em;
      border-radius: 5.0rem;
      font-weight: 500; }
      @media (max-width: 768px) {
        .plan-block .menu-block .ttl span {
          line-height: 1.5;
          letter-spacing: 0; } }
  .plan-block .menu-block .menu-box {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .plan-block .menu-block .menu-box {
        display: block; } }
    .plan-block .menu-block .menu-box .menu-list {
      width: 48%;
      line-height: 1.875;
      margin: 0; }
      @media (max-width: 768px) {
        .plan-block .menu-block .menu-box .menu-list {
          width: 100%; } }
      .plan-block .menu-block .menu-box .menu-list dt {
        font-weight: 600;
        margin-bottom: .5rem; }
      .plan-block .menu-block .menu-box .menu-list dd {
        margin: 0 0 1.0rem 1.5em;
        font-size: 1.2rem; }
.plan-block .button {
  text-align: center; }
  .plan-block .button a {
    background-color: #20304D;
    border: 1px solid #fff;
    padding: .5rem 5.5rem .5rem 3.5rem;
    letter-spacing: .2em;
    color: #fff;
    text-decoration: none;
    border-radius: 5.0rem;
    font-size: 2.1rem;
    font-weight: 500;
    position: relative; }
    @media (max-width: 768px) {
      .plan-block .button a {
        padding: 2.666666666666667vw 9.333333333333334vw 2.666666666666667vw 4vw;
        font-size: 3.2vw; } }
    .plan-block .button a::after {
      content: "";
      position: absolute;
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 8px 0px 8px 15px;
      border-color: transparent transparent transparent #ffffff;
      top: 50%;
      transform: translateY(-50%);
      right: 3.5rem; }
      @media (max-width: 768px) {
        .plan-block .button a::after {
          right: 3.733333333333334vw;
          border-width: 1.6vw 0px 1.6vw 3.2vw; } }
    .plan-block .button a:hover {
      opacity: .6; }
.plan + .plan {
  margin-top: 20.0rem;
  border-top: 1px solid #fff;
  padding-top: 20.0rem; }
  @media (max-width: 768px) {
    .plan + .plan {
      margin-top: 26.666666666666668vw;
      padding-top: 26.666666666666668vw; } }

.option {
  margin-top: 20.0rem;
  margin-bottom: 15.0rem; }
  @media (max-width: 768px) {
    .option {
      margin-top: 26.666666666666668vw;
      margin-bottom: 18.666666666666668vw; } }
  .option-list {
    display: flex;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
      .option-list {
        display: block; } }
    .option-list__item {
      width: 48%;
      margin-right: 4%;
      margin-bottom: 4.5rem;
      display: flex;
      justify-content: space-between; }
      @media (max-width: 768px) {
        .option-list__item {
          width: 100%;
          margin-right: 0;
          margin-bottom: 10.666666666666668vw; } }
      .option-list__item .photo {
        width: 42.5%; }
        @media (max-width: 768px) {
          .option-list__item .photo {
            width: 38%; } }
      .option-list__item .txt-area {
        width: 55.2%; }
        @media (max-width: 768px) {
          .option-list__item .txt-area {
            width: 60%; } }
        .option-list__item .txt-area .ttl {
          font-size: 2.0rem;
          line-height: 1.35;
          font-weight: 500;
          padding: 2.5rem 0;
          border-bottom: 1px solid #707070; }
          @media (max-width: 768px) {
            .option-list__item .txt-area .ttl {
              font-size: 4.266666666666667vw;
              padding: 0 0 4vw; } }
        .option-list__item .txt-area .txt {
          margin-top: 1.5rem;
          line-height: 1.875; }
          @media (max-width: 768px) {
            .option-list__item .txt-area .txt {
              font-size: 3.2vw;
              margin-top: 4vw;
              line-height: 1.5; } }
        .option-list__item .txt-area .point {
          font-size: 1.2rem;
          line-height: 1.5; }
          @media (max-width: 768px) {
            .option-list__item .txt-area .point {
              font-size: 2.666666666666667vw; } }
      .option-list__item:nth-child(2n) {
        margin-right: 0; }

.service {
  margin-bottom: 15.0rem; }
  @media (max-width: 768px) {
    .service {
      margin-bottom: 18.666666666666668vw; } }
  .service-list {
    display: flex;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
      .service-list {
        display: block; } }
    .service-list__item {
      width: 48%;
      margin-right: 4%;
      margin-bottom: 4.5rem;
      display: flex;
      justify-content: space-between; }
      @media (max-width: 768px) {
        .service-list__item {
          width: 100%;
          margin-right: 0;
          margin-bottom: 10.666666666666668vw; } }
      .service-list__item .photo {
        width: 42.5%; }
        @media (max-width: 768px) {
          .service-list__item .photo {
            width: 38%; } }
      .service-list__item .txt-area {
        width: 55.2%; }
        @media (max-width: 768px) {
          .service-list__item .txt-area {
            width: 60%; } }
        .service-list__item .txt-area .ttl {
          font-size: 2.0rem;
          line-height: 1.35;
          font-weight: 500;
          padding: 2.5rem 0;
          border-bottom: 1px solid #707070; }
          @media (max-width: 768px) {
            .service-list__item .txt-area .ttl {
              font-size: 4.266666666666667vw;
              padding: 0 0 4vw; } }
        .service-list__item .txt-area .txt {
          margin-top: 1.5rem;
          line-height: 1.875; }
          @media (max-width: 768px) {
            .service-list__item .txt-area .txt {
              font-size: 3.2vw;
              margin-top: 4vw;
              line-height: 1.5; } }
        .service-list__item .txt-area .point {
          font-size: 1.2rem;
          line-height: 1.5; }
          @media (max-width: 768px) {
            .service-list__item .txt-area .point {
              font-size: 2.666666666666667vw; } }
      .service-list__item:nth-child(2n) {
        margin-right: 0; }

.form {
  text-align: center;
  margin: 6.5rem 0 10.0rem; }
