@charset "UTF-8";
html {
	scroll-behavior: smooth;
	font-size: 1rem;
	@media (prefers-reduced-motion: reduce) {
		scroll-behavior: auto;
	}
}
@media (max-width: 767px) {
  html {
    font-size: 0.875rem;
  }
}
main {
   background: #E1DFD2 url(../images/proxy/bg-mainproxy.avif) center 0 no-repeat;
   background-size: 100% 110vh;
   @media (max-width: 767px) {
    background-size: 200% 180svh;
   }
}

.c-button-cv {
  width: 100%;
	a {
		width: 100%;
		display: inline grid;
		grid-template-columns: 1fr auto 1fr;
		column-gap: 1em;
		align-items: center;
		font-size: 1.25rem;
		line-height: 1;
		font-weight: 500;
		padding: 19px 40px;
		color: #fff;
		background-color: var(--color-base);
		border-radius: 9999px;
    min-height: 80px;
    @media (min-width: 768px) and (max-width: 1024px) {
      padding: 19px 24px;
    }
		@media (max-width: 767px) {
			column-gap: 0.5em;
			padding: 12px 16px;
      min-height: auto;
			font-size: 1.125rem;
		}
		&::before {
			content: '';
		}
		&::after {
			content: '';
			justify-self: end;
			inline-size: 0.5em;
			aspect-ratio: 1;
			border-block-start: 1px solid #fff;
			border-inline-end: 1px solid #fff;
			rotate: 45deg;
		}
		span {
			display: flex;
			justify-content: center;
			align-items: center;
			gap:10px;
			img {
				height: 40px;
        @media (min-width: 768px) and (max-width: 1024px) {
          width: 36px;
        }
        @media (max-width: 767px) {
          width: 32px;
        }
			}
		}
		@media (hover: hover) {
			transition: 0.3s;
			&:hover {
				opacity: 0.6;
			}
		}
	}
  &.gold {
    a {
      background: linear-gradient(270deg, #BD9C6B 0%, #946F32 28%, #906E3E 60%, #5A3E0D 100%);
      box-shadow: 0 2px 20px 0 rgba(144, 110, 62, 0.50);
    }
  }
  &.green {
    a {
      background: var(--gradation-green, linear-gradient(270deg, #6F8F7A 0%, #2E4D39 100%));
      box-shadow: 0 2px 20px 0 #2E4D39;
      span {
        img {
          width: 32px;
          @media (min-width: 768px) and (max-width: 1024px) {
            width: 28px;
          }
          @media (max-width: 767px) {
            width: 24px;
          }
        }
      }
    }
  }
}
.title-proxy {
  position: relative;
  font-weight: 700;
  line-height: 1.2;
  font-size: 1.625rem;
  padding-left: 32px;
  &:before {
    content: "";
    width: 24px;
    aspect-ratio: 1/1;
    border: 8px solid #203978;
    border-radius: 50%;
    position: absolute;
    top: 0.2em;
    left: 0;
  }
  @media (max-width: 767px) {
    font-size: 1.35rem;
    padding-left: 20px;
    &::before {
      width: 16px;
      border: 6px solid #203978;
    }
  }
}
/* -----------------------------------------------------------
	header
----------------------------------------------------------- */
#header-container {
	.logo {
		@media (max-width: 767px) {
			width: 24%;
		}
	}
}
/* -----------------------------------------------------------
	.p-mainvisual
----------------------------------------------------------- */
.p-mainvisual {
  text-align: center;
  padding: 120px 0 248px;
  @media (max-width: 767px) {
    background: none;
    padding: 120px 0;
  }
  h1 {
    @media (max-width: 767px) {
      width: 85%;
      margin: 0 auto;
    }
  }
  .txt-lead {
    display: flex;
    flex-direction: column;
    gap:1em;
    font-size: 1.125rem;
    margin: 40px auto 48px;
    .txt {
      color: #fff;
    }
  }
  .buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap:16px;
    @media (max-width: 767px) {
      flex-direction: column;
    }
    .c-button-cv {
      width: 400px;
      @media (min-width: 768px) and (max-width: 1024px) {
        width: calc(45% - 8px);
      }
      @media (max-width: 767px) {
        width: 80%;
      }
    }
  }
}

/* -----------------------------------------------------------
	.p-plan
----------------------------------------------------------- */
.p-plan {
  .list-plans {
    margin-top: 72px;
    display: grid;
    grid-template-columns: 1fr 1.25fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 16px;
    @media (max-width: 1024px) {
      grid-template-columns: 1fr;
      grid-template-rows: repeat(3, auto);
      grid-column-gap: 0px;
      grid-row-gap: 16px;
    }@media (max-width: 767px) {
      margin-top: 40px;
    }
    .item-plan {
      border-radius: 24px;
      background: rgba(255, 255, 255, 0.25);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      .box-title {
        color: #fff;
        border-radius: 22px 22px 0 0;
        padding: 48px 24px 40px;
        text-align: center;
        @media (max-width: 767px) {
          padding: 32px 16px 16px;
        }
        .recomend {
          margin-bottom: 16px;
          span {
            display: inline-block;
            border-radius: 9999px;
            background: #C93804;
            color: #fff;
            padding: 5px 32px;
            font-size: 1.125rem;
            font-weight: 700;
            line-height: 1;
          }
        }
        h3 {
          font-size: 2rem;
          line-height: 1;
          @media (max-width: 767px) {
            font-size: 1.6rem;
          }
        }
        .txt-sub {
          margin-top: 12px;
          font-size: 1.125rem;
          line-height: 1.2;
        }
        .box-price {
          display: inline-block;
          text-align: center;
          margin-top: 24px;
          .txt {
            text-align: left;
            line-height: 1;
            margin-bottom: 4px;
          }
          .price {
            line-height: 1;
            em {
              font-family: var(--font-sans);
              font-size: 3.5rem;
              @media (max-width: 767px) {
                font-size: 3rem;
              }
            }
            .yen {
              font-size: 2rem;
            }
          }
        }
      }
      .box-detail {
        padding: 24px 24px 32px;
        display: flex;
        flex-direction: column;
        height: 100%;
        .txt-detail {
          font-size: 87.5%;
        }
        dl {
          margin-top: 20px;
          dt {
            color: #fff;
            padding: 4px;
            line-height: 1;
          }
          dd {
            margin-top: 16px;
            ul {
              display: flex;
              flex-direction: column;
              gap:16px;
              li {
                display: flex;
                gap:8px;
                line-height: 1.4;
                img {
                  width: 24px;
                }
              }
            }
          }
          &.option {
            margin-top: auto;
            padding-top: 40px;
            dd {
              .inner-option {
                display: flex;
                justify-content: space-between;
                align-items: center;
                line-height: 1;
                .title {
                  display: flex;
                  &:before {
                    content: '・';
                  }
                }
                .price {
                  em {
                    font-family: var(--font-sans);
                    font-size: 1.25rem;
                  }
                  span {
                    font-size: 75%;
                  }
                }
              }
              .link-modal {
                text-decoration: underline;
                line-height: 1.4;
                font-size: 75%;
                margin-left: 1em;
                display: inline-block;
                cursor: pointer;
                @media (hover: hover) {
                  transition: 0.3s;
                  &:hover {
                    opacity: 0.6;
                  }
                }
              }
            }
          }
        }
      }
      &:nth-child(1) {
        border: 1px solid #867E68;
        .box-title {
          background: #867E68;
        }
        .box-detail {
          dl {
            dt {
              background: linear-gradient(90deg, #867E68 0%, rgba(134, 126, 104, 0.00) 100%);
            }
          }
        }
      }
      &:nth-child(2) {
        border: 1px solid #906E3E;
        margin-top: -32px;
        @media (max-width: 1024px) {
          margin-top: 0;
        }
        .box-title {
          background: #906E3E;
        }
        .box-detail {
          dl {
            dt {
              background: linear-gradient(90deg, #906E3E 0%, rgba(144, 110, 62, 0.00) 100%);
            }
          }
        }
      }
      &:nth-child(3) {
        border: 1px solid #7A8668;
        .box-title {
          background: #7A8668;
        }
        .box-detail {
          dl {
            dt {
              background: linear-gradient(90deg, #7A8668 0%, rgba(122, 134, 104, 0.00) 100%);
            }
          }
        }
      }
    }
  }
  .txt-caution-planlist {
    margin-top: 24px;
    padding-left: 2em;
    font-size: 75%;
    opacity: 0.8;
    position: relative;
    margin-bottom: 64px;
    @media (max-width: 767px) {
      margin: 8px 0 40px;
    }
    &:before {
      content: "※1";
      position: absolute;
      top: 0;
      left: 0;
    }
  }
  .box-plan-other {
    border: 1px solid var(--color-border);
    padding: 40px;
    margin-bottom: 24px;
    @media (max-width: 767px) {
      padding: 24px;
    }
    dl {
      @media (min-width: 1025px) {
        display: flex;
        gap:40px;
      }
      &:not(:first-child) {
        border-top: 1px solid var(--color-border);
        padding-top: 32px;
        margin-top: 32px;
        @media (max-width: 767px) {
          padding-top: 16px;
          margin-top: 16px;
        }
      }
      dt {
        @media (min-width: 1025px) {
          width: 25%;
        }
      }
      dd {
        font-weight: 400;
        @media (min-width: 1025px) {
          width: 75%;
        }
        .txt {
          opacity: 0.8;
          .small {
            font-size: 81.3%;
          }
        }
        .txt-sub {
          font-size: 87.5%;
        }
        ul {
          display: flex;
          flex-direction: column;
          gap:4px;
          li {
            line-height: 1.75;
            .main {
              font-weight: 500;
              font-size: 87.5%;
            }
            .sub {
              font-size: 81.3%;
            }
          }
        }
      }
      &.box-plan-other-additional {
        dt {
          font-size: 1.125rem;
          width: auto;
        }
        dd {
          width: auto;
        }
      }
    }
  }
}
/* モーダル */
.modal-overlay {
  align-items: center;
  background: rgba(0,0,0,.6);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}

.modal-container {
  background-color: #fff;
  max-height: 90vh;
  max-width: 640px;
  overflow-y: auto;
  padding: 48px 40px 40px;
  width: 80%;
  @media (max-width: 767px) {
    padding: 32px 24px;
  }
}
.modal-content {
  .title-proxy {
    margin-bottom: 24px;
    @media (max-width: 767px) {
      margin-bottom: 8px;
    }
  }
  .txt-modal-lead {
    margin-bottom: 16px;
    @media (max-width: 767px) {
      margin-bottom: 0;
    }
  }
  .c-table-basic {
    tr {
      th,td {
        @media (min-width: 1025px) {
          padding: 24px 0 0 24px;
        }
        @media (min-width: 768px) and (max-width: 1024px) {
          display: block;
          padding: 24px 0 0 16px;
        }
        @media (max-width: 767px) {
          display: block;
          padding: 16px 0 0 16px;
        }
      }
      th {
        font-size: 1.125rem;
        @media (min-width: 1025px) {
          width: 30%;
        }
        @media (max-width: 767px) {
          padding-bottom: 8px;
        }
      }
      td {
        &::before {
          content: "";
          border-left: 1px solid var(--color-border);
          width: 1px;
          height: calc(100% - 24px);
          position: absolute;
          bottom: 0;
          left: 0;
        }
        @media (min-width: 1025px) {
          width: 70%;
        }
        @media (max-width: 767px) {
          &::before {
            height: 100%;
          }
        }
        .date {
          line-height: 1;
          em {
            font-family: var(--font-sans);
            font-size: 1.25rem;
          }
        }
        .caution {
          margin-top: 4px;
          font-size: 87.5%;
        }
      }
    }
  }
  .modal-caution {
    dt {
      font-weight: 700;
    }
    dd {
      ul {
        display: flex;
        flex-direction: column;
        gap:4px;
        li {
          padding-left: 1em;
          position: relative;
          line-height: 1.5;
          font-weight: 400;
          &:before {
            content: "・";
            position: absolute;
            top: 0;
            left: 0;
          }
        }
      }
    }
  }
  .button-close {
    margin: 0;
    padding: 0;
    background: none;
    border-radius: 9999px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid var(--color-border);
    padding: 10px;
    width: 31.3%;
    margin: 40px auto 0;
    font-family: var(--font-base);
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:8px;
    cursor: pointer;
    @media (max-width: 767px) {
      width: 80%;
      margin-top: 24px;
    }
    img {
      width: 22px;
    }
  }
}
/* モーダルアニメーション */
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal-overlay {
  animation: mmfadeIn .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal-container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal-overlay {
  animation: mmfadeOut .3s cubic-bezier(.0, .0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal-container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal-container,
.micromodal-slide .modal-overlay {
  will-change: transform;
}

/* -----------------------------------------------------------
	.p-flow
----------------------------------------------------------- */
.p-flow {
  padding: 240px 0;
  @media (max-width: 767px) {
    padding: 120px 0;
  }
  .c-title-basic {
    margin-bottom: 40px;
    @media (max-width: 767px) {
      margin-bottom: 24px;
    }
  }
  .wrap-flow {
    border-top: 1px solid rgba(255, 255, 255, 0.00);
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    padding: 80px 64px;
    @media (min-width: 768px) and (max-width: 1024px) {
      padding: 64px 40px;
    }
    @media (max-width: 767px) {
      padding: 8px 24px 32px;
    }
    .list-flow {
      position: relative;
      &:before {
        content: "";
        background-color: var(--color-border);
        width: 1px;
        height: 82%;
        position: absolute;
        top: 40px;
        left: 6px;
      }
      @media (min-width: 1025px) and (max-width: 1280px) {
        &::before {
          height: calc(100% - 40px - 3em);
        }
      }
      @media (min-width: 768px) and (max-width: 1024px) {
        &::before {
          height: calc(100% - 40px - 4em);
        }
      }
      @media (max-width: 767px) {
        &::before {
          height: calc(100% - 32px - 2em);
          left: 4px;
        }
      }
      .item-flow {
        display: flex;
        position: relative;
        padding: 40px;
        padding-right: 0;
        &::before {
          content: "";
          background-color: var(--color-sub);
          border-radius: 50%;
          width: 13px;
          height: 13px;
          position: absolute;
          top: 40px;
          left: 0;
        }
        &:not(:last-child) {
          &:after {
            content: "";
            border-bottom: 1px dashed var(--color-border);
            width: calc(100% - 40px);
            height: 1px;
            position: absolute;
            bottom: 0;
            right: 0;
          }
        }
        @media (max-width: 767px) {
          flex-wrap: wrap;
          align-items: flex-end;
          padding: 24px 0 24px 24px;
          &::before {
            width: 9px;
            height: 9px;
            top: 27px;
          }
          &:after {
            width: calc(100% - 24px);
          }
        }					
        .number {
          font-family: var(--font-sans);
          line-height: 1;
          letter-spacing: 0.16em;
          font-size: 93.8%;
          font-weight: 400;
          width: 10%;
          @media (min-width: 768px) and (max-width: 1024px) {
            width: 13%;
          }
          @media (max-width: 767px) {
            width: 90%;
          }
        }
        .img {
          width: 14%;
          @media (max-width: 767px) {
            width: 100%;
            margin: 24px auto 0;
            aspect-ratio: 1/0.5;
            border-radius: 8px;
            overflow: hidden;
          }
          img {
            border-radius: 8px;
            @media (max-width: 767px) {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }
        }
        .box-detail {
          width: 76%;
          padding-left: 40px;
          @media (min-width: 768px) and (max-width: 1024px) {
            width: 73%;
            padding-left: 24px;
          }
          @media (max-width: 767px) {
            width: 100%;
            padding-left: 0;
            margin-top: 24px;
          }
          h5 {
            font-weight: 600;
            line-height: 1.2;
            font-size: 1.5rem;
            margin-bottom: 4px;
            @media (max-width: 767px) {
              margin-bottom: 8px;
            }
            span {
              display: inline-block;
              margin-left: 16px;
              color: #fff;
              padding: 2px 8px;
              font-weight: 500;
              line-height: 1;
              font-size: 62.5%;
              position: relative;
              top: -4px;
              &.client {
                background-color: var(--color-accent);
              }
              &.scrivener {
                background-color: #727171;
              }
            }
          }
          .txt {
            .small {
              font-size: 87.5%;
            }
          }
          .c-button-basic {
            width: 420px;
            margin-top: 24px;
            @media (max-width: 767px) {
              width: 100%;
            }
            &.green {
              a {
                border-radius: 9999px;
                color: #fff;
                background: var(--gradation-green, linear-gradient(270deg, #6F8F7A 0%, #2E4D39 100%));
                border: none;
                &::after {
                  border-block-start: 1px solid #fff;
                  border-inline-end: 1px solid #fff;
                }
              }
            }
          }
        }
      }
    }
  }
}

/* -----------------------------------------------------------
	.p-flow
----------------------------------------------------------- */
.p-cta {
  background: url(../images/proxy/bg-cta.avif) center bottom no-repeat;
  background-size: cover;
  padding: 120px 0;
  @media (max-width: 767px) {
    padding: 64px 0;
  }
  .wrap-cta {
    text-align: center;
    color: #fff;
    h2 {
      font-size: 2.5rem;
      font-weight: 500;
      line-height: 1.4;
      margin-bottom: 40px;
      @media (max-width: 767px) {
        font-size: 1.8rem;
        margin-bottom: 24px;
      }
    }
    .txt-lead {
      font-size: 1.125rem;
      margin-bottom: 40px;
      @media (max-width: 767px) {
        text-align: left;
        br {
          display: none;
        }
      }
    }
    .buttons {
      display: flex;
      justify-content: center;
      align-items: center;
      gap:16px;
      @media (max-width: 767px) {
	      flex-direction: column;
        gap:16px;
      }
      .c-button-cv {
        width: 400px;
        @media (max-width: 767px) {
          width: 100%;
        }
      }
    }
    .inner-sub {
      border-top: 1px solid rgba(255, 255, 255, 0.30);
      max-width: 1120px;
      margin: 80px auto 0;
      padding-top: 24px;
      @media (min-width: 1025px) {
        display: flex;
      }
      @media (max-width: 1024px) {
        display: flex;
	      flex-direction: column;
        gap:16px;
      }
      @media (max-width: 767px) {
        margin-top: 40px;
      }
      dl {
        text-align: left;
        @media (min-width: 1025px) {
          width: 50%;
        }
        @media (max-width: 1024px) {
          text-align: center;
        }
        dt {
          opacity: 0.8;
          font-weight: 700;
        }
        dd {
          a {
            text-decoration: underline;
            display: inline-block;
            &::after {
              content: "";
              background: url(../images/common/icon-blank-wh.svg) 0 0 no-repeat;
              background-size: contain;
              width: 16px;
              aspect-ratio: 1/1;
              display: inline-block;
              margin-left: 0.5em;
            }
            @media (hover: hover) {
              transition: 0.3s;
              &:hover {
                opacity: 0.6;
              }
            }
          }
        }
      }
    }
  }
}

/* -----------------------------------------------------------
	.p-documents
----------------------------------------------------------- */
.p-documents {
  padding: 240px 0 64px;
  @media (max-width: 767px) {
    padding: 120px 0 40px;
  }
  .c-title-basic {
    margin-bottom: 40px;
    @media (max-width: 767px) {
      margin-bottom: 24px;
    }
  }
  .box-documents {
    background: rgba(255, 255, 255, 0.25);
    padding: 80px;
    @media (min-width: 768px) and (max-width: 1024px) {
      padding: 24px;
    }
    @media (max-width: 767px) {
      padding: 24px 16px;
    }
    .box-title {
      position: relative;
      margin-bottom: 40px;
      @media (max-width: 767px) {
        margin-bottom: 24px;
        overflow: hidden;
        width: 100%;
        aspect-ratio: 1/0.5;
        border-radius: 4px;
        &::after {
          content: "";
          background: #000;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          opacity: 0.2;
        }
      }
      &:not(:first-child) {
        margin-top: 160px;
        @media (max-width: 767px) {
          margin-top: 80px;
        }
      }
      img {
        width: 100%;
        @media (max-width: 767px) {
          height: 100%;
          object-fit: cover;
        }
      }
      .title-proxy {
        font-size: 2rem;
        position: absolute;
        top: 50%;
        left: 40px;
        transform: translate(0, -50%);
        color: #fff;
        font-weight: 700;
        &:before {
          border: 8px solid #B28D5A;;
        }
        @media (max-width: 767px) {
          z-index: 1;
          font-size: 1.5rem;
          left: 8px;
          &:before {
            border: 6px solid #B28D5A;;
          }
        }
      }
    }
    .box-detail {
      .table-documents-wrap {
        margin-bottom: 64px;
        @media (max-width: 767px) {
          overflow-x: auto;
          margin-bottom: 40px;
        }
        .table-documents {
          width: 100%;
          min-width: 600px;
          thead {
            border-top: 1px solid #000;
            border-bottom: 1px solid #000;
            background: rgba(255, 255, 255, 0.50);
            tr {
              th {
                padding: 16px;
              }
            }
          }
          tbody {
            tr {
              th,td {
                padding: 16px;
                border-bottom: 1px solid var(--color-border);
              }
              th {
                width: 48%;
                font-size: 1.125rem;
                line-height: 1.4;
                span {
                  display: inline-block;
                  margin-left: 8px;
                  color: #fff;
                  padding: 2px 8px;
                  font-weight: 500;
                  line-height: 1;
                  font-size: 77.8%;
                  position: relative;
                  &.reform {
                    background-color:#474235;
                  }
                  &.lease {
                    background-color: #727171;
                  }
                }
              }
              td {
                line-height: 1.4;
                .small {
                  font-weight: 400;
                  font-size: 87.5%;
                }
                ul {
                  display: flex;
                  flex-direction: column;
                  gap:4px;
                  li {
                    padding-left: 1em;
                    position: relative;
                    &:before {
                      content: "・";
                      position: absolute;
                      top: 0;
                      left: 0;
                    }
                  }
                }
                &:nth-child(2) {
                  width: 40%;
                }
                &:nth-child(3) {
                  width: 12%;
                }
              }
            }
          }
          &.photo {
            tbody {
              tr {
                th {
                  width: 38%;
                }
                td {
                  &:nth-child(2) {
                    width: 52%;
                  }
                  &:nth-child(3) {
                    width: 10%;
                  }
                }
              }
            }
          }
        }
      }
      .c-table-basic {
        tr {
          th {
            font-size: 1.125rem;
            @media (min-width: 1025px) {
              width: 32%;
            }
          }
          td {
            @media (min-width: 1025px) {
              width: 68%;
            }
            .list-caution {
              display: flex;
              flex-direction: column;
              gap:8px;
              li {
                position: relative;
                padding-left: 1.25em;
                font-size: 87.5%;
                line-height: 1.5;
                opacity: 0.8;
                em {
                  color: #A3521B;
                  font-weight: 700;
                }
                .bold {
                  font-weight: 700;
                }
                &::before {
                  content: "※";
                  position: absolute;
                  top: 0;
                  left: 0;
                }
              }
            }
            .txt {
              &.bold {
                font-weight: 700;
              }
              &.mt48 {
                margin-top: 48px;
              }
              .small {
                font-size: 87.5%;
              }
            }
            h4 {
              font-size: 1.125rem;
              font-weight: 700;
              &:not(:first-child) {
                margin-top: 48px;
              }
            }
            ul {
              display: flex;
              flex-direction: column;
              gap:8px;
              &:not(:last-child) {
                margin-bottom: 16px;
              }
              li {
                position: relative;
                padding-left: 1em;
                line-height: 1.5;
                &::before {
                  content: "・";
                  position: absolute;
                  top: 0;
                  left: 0;
                }
                em {
                  color: #A3521B;
                  font-weight: 700;
                }
              }
            }
          }
        }
      }
    }
    .box-links {
      background: rgba(255, 255, 255, 0.50);
      padding: 40px;
      margin-top: 92px;
      @media (max-width: 767px) {
        margin-top: 40px;
        padding: 32px 24px;
      }
      h4 {
        text-align: center;
        font-size: 1.125rem;
        margin-bottom: 12px;
      }
      .wrap-links {
        display: flex;
        justify-content: center;
        align-items: center;
        gap:15px;
        @media (max-width: 767px) {
          flex-direction: column;
        }
        .c-button-basic {
          width: 400px;
          @media (max-width: 767px) {
            width: 100%;
          }
          a {
            line-height: 1.4;
            span {
              text-align: center;
            }
            em {
              color: #A3521B;
              font-size: 87.5%;
            }
          }
        }
      }
    }
    .box-sub {
      margin-top: 120px;
      @media (max-width: 767px) {
        margin-top: 64px;
      }
      .title-proxy {
        margin-bottom: 16px;
        span {
          display: inline-block;
          margin-left: 0.5em;
          color: #fff;
          padding: 2px 8px;
          font-weight: 500;
          line-height: 1;
          font-size: 53.8%;
          white-space: nowrap;
          position: relative;
          top: -0.2em;
          &.full {
            background-color:#7A8668;
          }
          &.option {
            background-color: #727171;
          }
        }
      }
      .c-list-basic {
        margin: 40px 0 16px;
        @media (max-width: 767px) {
          margin: 24px 0 8px;
        }
        li {
          .caution {
            font-size: 87.5%;
          }
        }
      }
      h4 {
        font-size: 1.125rem;
        line-height: 1.4;
        margin-bottom: 8px;
      }
      .c-table-basic {
        margin-top: 64px;
        @media (max-width: 767px) {
          margin-top: 24px;
        }
        tr {
          th {
            font-size: 1.125rem;
          }
          td {
            .c-list-basic {
              margin: 16px 0 0;
            }
          }
        }
      }
    }
  }
}

/* -----------------------------------------------------------
	.p-matter 確認事項/プライバシーポリシー・免責事項
----------------------------------------------------------- */
.p-confirmation {
  margin-bottom: 240px;
  @media (max-width: 767px) {
    margin-bottom: 120px;
    .wrap-matter {
      .inner-matter {
        padding-bottom: 80px !important;
      }
    }
  }
}
.p-privacy {
  margin: 160px auto 80px;
  @media (max-width: 767px) {
    margin: 120px auto 40px;
  }
}
.p-matter {
  max-width: 1120px;
  border: 1px solid var(--color-border);
  .wrap-matter {
    position: relative;
    &.accordion {
      position: relative;
    }
    .accordion-btn {
      border-radius: 9999px;
      border: 1px solid #FFF;
      background: rgba(255, 255, 255, 0.50);
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      line-height: 1;
      margin: auto;
      min-width: 200px;
      padding: 12px 24px;
      position: absolute;
      bottom: 16px;
      left: 0;
      right: 0;
      transition: all .2s;
      width: fit-content;
      z-index: 1;
      &::after {
        content: "続きを見る";
        order:1;
      }
      &.is-show {
        &::after {
          content: "閉じる";
        }
        img {
          transform: scale(1, -1);
        }
      }
      img {
        width: 8px;
        aspect-ratio: 4/9;
        order:2;
      }
      @media (hover: hover) {
        transition: 0.3s;
        &:hover {
          background-color: #fff;
          opacity: 0.6;
        }
      }
    }
    .accordion-text {
      overflow: hidden;
      position: relative;
      &.is-hide {
        height: 280px;
      }
      &::before {
        content: "";
        background: linear-gradient(180deg, rgba(225, 223, 210, 0) 0%, rgba(225, 223, 210, 1) 100%);
        bottom: 0;
        height: 200px;
        position: absolute;
        left: 0;
        width: 100%;
      }
    }
    .accordion-btn.is-show + .accordion-text::before {
      display: none;
    }
    .inner-matter {
      padding: 64px 48px 80px;
      @media (max-width: 767px) {
        padding: 40px 24px;
      }
      .title-proxy {
        margin-bottom: 24px;
        @media (max-width: 767px) {
          margin-bottom: 16px;
        }
      }
      .box-matter-detail {
        margin-top: 40px;
        @media (max-width: 767px) {
          margin-top: 24px;
        }
        h4 {
          font-size: 1.125rem;
          margin-bottom: 8px;
          &.nonnumber {
            font-size: 1.25rem;
            line-height: 1.4;
          }
        }
        .c-list-basic {
          margin: 24px 0 0 24px;
          @media (max-width: 767px) {
            margin-left: 0;
          }
        }
      }
    }
  }
}

/* -----------------------------------------------------------
	.p-back_lp 「賃貸集合給湯省エネ2026事業」特設ページへ戻る
----------------------------------------------------------- */
.p-back_lp {
  margin-bottom: 56px;
  .c-button-basic {
    max-width: 640px;
    margin: 0 auto;
    a {
      padding: 28px;
      @media (max-width: 767px) {
        padding: 16px;
        text-align: center;
        line-height: 1.4;
      }
      &::before {
        content: '';
        justify-self: start;
        inline-size: 0.5em;
        aspect-ratio: 1;
        border-block-start: 1px solid var(--color-base);
        border-inline-end: 1px solid var(--color-base);
        rotate: -135deg;
      }
      &::after {
        content: '';
        justify-self: initial;
        inline-size: initial;
        aspect-ratio: initial;
        border-block-start: none;
        border-inline-end: none;
        rotate: 0deg;
      }
    }
  }
}