﻿@charset "UTF-8";
.u_fw900 {
  font-weight: 900;
}

.u_fw800 {
  font-weight: 800;
}

.u_fw700 {
  font-weight: 700;
}

.u_fw600 {
  font-weight: 600;
}

.u_fw500 {
  font-weight: 500;
}

.u_fw400 {
  font-weight: 400;
}

.p_policy__sub, .p_policy__item .desc {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .p_policy__sub, .p_policy__item .desc {
    font-size: 0.9375rem;
  }
}

.p_policy__item .ttl {
  font-size: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p_policy__item .ttl {
    font-size: 1.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p_policy {
    padding-bottom: 12px;
  }
}
.p_policy__sub {
  line-height: 1.8666666667;
  letter-spacing: -0.01em;
  padding: 60px 0 30px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p_policy__sub {
    font-size: 1.125rem;
    padding: 69px 0 39px;
  }
}
.p_policy__item + .p_policy__item {
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .p_policy__item + .p_policy__item {
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .p_policy__item.item08 .list.list_dots {
    padding-top: 7px;
  }
}
@media screen and (min-width: 768px) {
  .p_policy__item.item08 .txt {
    padding-right: clamp(0rem, 17.5vw + -13.125rem, 4.375rem);
  }
}
.p_policy__item .ttl {
  color: #1e3955;
  line-height: 1.6363636364;
  letter-spacing: -0.02em;
  padding-bottom: 17px;
  position: relative;
  font-weight: 500;
}
.p_policy__item .ttl::after, .p_policy__item .ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  background-color: #d8e7f6;
}
.p_policy__item .ttl::after {
  width: 100%;
}
.p_policy__item .ttl::before {
  background-color: #7cd5dd;
  width: 30px;
  z-index: 2;
}
.p_policy__item .desc {
  padding-top: 13px;
  line-height: 1.8666666667;
  letter-spacing: -0.01em;
}
.p_policy__item .info_item {
  display: flex;
}
.p_policy__item .info_item__ttl {
  font-weight: 400;
  min-width: clamp(5rem, 14.5454545455vw + 2.0909090909rem, 5.5rem);
}
.p_policy__item .info_item__txt {
  font-weight: 400;
}
.p_policy__item .list_item {
  position: relative;
  padding-left: 25px;
}
.p_policy__item .list.list_number {
  padding-top: 13px;
  counter-reset: section;
}
.p_policy__item .list.list_number .list_item::before {
  counter-increment: section;
  content: counter(section) ".";
  position: absolute;
  left: 0;
  top: 0;
}
.p_policy__item .list.list_number .list_item + .list_item {
  margin-top: 13px;
}
.p_policy__item .list.list_dots {
  padding-top: 10px;
}
.p_policy__item .list.list_dots .list_item {
  position: relative;
}
.p_policy__item .list.list_dots .list_item::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
}
.p_policy__item .list.list_dots .list_item + .list_item {
  margin-top: 9px;
}
.p_policy__item .address {
  padding: 13px 0 0 20px;
}
.p_policy__item .address a {
  color: #0068b7;
  text-decoration: underline;
}

#footer {
    margin-top: 72px;
}
@media screen and (min-width: 768px) {
    #footer {
        margin-top: 72px;
    }
}


/*お問い合わせフォームのレイアウト*/

@media screen and (min-width: 768px) {
    .p_policy {
        background: linear-gradient(white 38%, #F5F9FD 38%, #F5F9FD 64%, white 64%);
    }
    .p_policy:has(.field-validation-error) {
        background: linear-gradient(white 35%, #F5F9FD 35%, #F5F9FD 64%, white 64%);
    }
    .form_result .p_policy {
        background: none;
    }
}

.p_policy__sub {
    font-size: 1rem;
}

@media screen and (min-width: 768px) {
    .p_policy__sub {
        font-size: 1.125rem;
        padding: 69px 0 39px;
    }
}

.p_policy__txt {
    font-weight: 600;
    margin-top: 0;
}
.form_confirm .p_policy__txt {
    margin-top: 60px;
}
.form_result .p_policy__txt {
    margin-top: 60px;
    margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
    .p_policy__txt {
        font-size: 1rem;
    }
}

.p_policy__list, .p_policy__list ul {
    padding: 20px;
    list-style: initial;
    font-size: 0.875rem;
    line-height: 1.5;
}
.p_policy__list ul {
    padding: revert;
}
@media screen and (min-width: 768px) {
    .p_policy__list, .p_policy__list ul {
        margin: revert;
        padding: revert;
    }
} 
.p_policy__list > li {
    margin-bottom: 0.7rem;
}

.form_confirm .p_policy__content {
    margin-top: 30px;
}
@media screen and (min-width: 768px) {
    .p_policy__content {
        margin-top: 124px;
    }
}

.form-wrapper {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 2em 1em;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    background-color: white;
}
@media screen and (min-width: 768px) {
    .form-wrapper {
        margin-bottom: 0;
        padding: 60px 53px;
    }
}
.form-wrapper .img {
    max-width: 668px;
    margin-inline: auto;
    margin-bottom: 46px;
}
.form-wrapper .shincyoku {
    display: none;
}
@media screen and (min-width: 768px) {
    .form-wrapper .shincyoku {
        display: block;
    }
}

.table_form tbody {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.btn_submit, .btn_confirm {
    background-color: #1E3955;
}
.btn_confirm, .btn_reinput {
    padding: .5em 1.5em;
}
@media screen and (min-width: 768px) {
    .btn_confirm, .btn_reinput {
        padding: 18px 5em;
    }
}