@charset "UTF-8";
/* CSS Document */
/*========= 問い合わせフォーム ===========*/
.contact h5 {
  margin-bottom: 100px;
  padding-bottom: 0;
  line-height: 1.6;
  position: relative;
}
.contact h5:after {
  position: absolute;
  display: block;
  content: "";
  height: 1px;
  width: 100px;
  background: #b71c26;
  bottom: -45px;
  left: 0;
}
.contact__inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 0;
}
.contact__info-item {
  width: 100%;
  box-sizing: border-box;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ccc;
}
.contact__nav {
  display: flex;
  justify-content: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
  align-items: center;
  margin-bottom: 50px;
}
.contact__nav li {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 120px;
  height: 120px;
  background: #7797be;
  color: white;
  font-size: 1.8rem;
  text-align: center;
  border-radius: 100%;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  line-height: 1.2;
}
.contact__nav li small {
  color: white;
  display: block;
  padding-bottom: 5px;
}
.contact__nav li.active {
  background: #3465a1;
}
.contact .p-lead__type02 {
  font-size: 1.8rem;
  text-align: center;
  margin: 0 auto;
}
.contact .form {
  width: 100%;
  max-width: 600px;
  margin: 25px auto;
  /* IEやEdgeの場合のスタイル調整 */
}
.contact .form dt {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  border-left: #b44c4c 5px solid;
  padding: 0 0 0 10px;
}
.contact .form dt p {
  padding-bottom: 0;
  line-height: 1.4;
}
.contact .form dt span {
  color: #b44c4c;
  font-weight: 700;
  font-size: 1em;
  margin-left: 5px;
  display: inline-block;
  line-height: 1;
}
.contact .form dt span.un-required {
  background: #605e5e;
}
.contact .form dt.radio {
  margin-bottom: 15px;
}
.contact .form dd {
  margin-bottom: 25px;
}
.contact .form select,
.contact .form input[type=text],
.contact .form input[type=email],
.contact .form input[type=tel],
.contact .form textarea {
  color: #3a3a3c;
  outline: none;
  width: 100%;
  padding: 15px 10px;
  border-radius: 5px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 1.7rem;
  box-sizing: border-box;
  background-color: #f1f1f1;
}
.contact .form select {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ccc" stroke="none"><polygon points="12 16 6 8 18 8"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 20px;
}
.contact .form select::-ms-expand {
  display: none;
}
.contact .form input.long-type {
  width: 100%;
}
.contact .form input::-moz-placeholder, .contact .form input::-moz-placeholder, .contact .form textarea::-moz-placeholder {
  color: #ccc !important;
  font-weight: normal;
}
.contact .form input::placeholder,
.contact .form input::placeholder,
.contact .form textarea::placeholder {
  color: #ccc !important;
  font-weight: normal;
}
.contact .contact-check {
  text-align: center;
  width: 90%;
  margin: 0 auto 30px;
}
.contact .contact-check dt {
  font-size: 1.8rem;
}
.contact .contact-check dt p {
  text-align: center;
  padding-bottom: 0;
}
.contact .contact-check a {
  text-align: center;
  text-decoration: underline;
  color: #3465a1;
  display: block;
}
.contact .contact-submit input {
  width: 250px;
  background-color: #b71c26;
  color: #fff;
  font-weight: bold;
  display: block;
  margin: 0 auto;
  font-size: 20px;
  padding: 15px;
  border-radius: 5px;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
.contact .contact-submit:hover {
  opacity: 0.75;
}

/*========= 送信完了/404 ===========*/
.info {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  padding: 50px 0;
  max-width: 680px;
}
.info h3 {
  font-size: 3.6rem;
  font-weight: bold;
  color: #b71c26;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 25px;
}
.info h4 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #333;
  border-left: none;
}
.info span {
  display: block;
  margin: 25px auto 30px;
  padding: 25px;
  background: #f0f0f0;
  font-size: 1.7rem;
  font-weight: normal;
  line-height: 2em;
  width: 90%;
  box-sizing: border-box;
  border-radius: 5px;
  text-align: left;
}

/*========= 個人情報保護方針 ===========*/
.policy__inner {
  max-width: 720px;
  margin: 0 auto;
}
.policy h5 {
  margin-bottom: 100px;
  padding-bottom: 0;
  line-height: 1.2;
  position: relative;
  text-align: center;
}
.policy h5:after {
  position: absolute;
  display: block;
  content: "";
  height: 1px;
  width: 100px;
  background: #b71c26;
  bottom: -45px;
  left: calc(50% - 50px);
}
.policy .policy_type {
  margin: 3% auto;
}
.policy .policy_type dt {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  border-left: #b44c4c 5px solid;
  padding: 0 0 2px 15px;
  margin-bottom: 25px;
}
.policy .policy_type dd {
  margin-bottom: 50px;
}
.policy .policy_type dd ul {
  padding-left: 3%;
  margin: 20px 0;
}
.policy .policy_type dd ul li {
  list-style: disc;
  line-height: 1.6;
  padding-bottom: 5px;
}
.policy .policy_type dd strong {
  font-weight: 600;
}

/*========= サイトマップ ===========*/
.sitemap__inner {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  gap: 2%;
  max-width: 860px;
  margin: 0 auto;
}
.sitemap__item {
  width: 30%;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .sitemap__item {
    width: 48%;
  }
}
@media screen and (max-width: 567px) {
  .sitemap__item {
    width: 85%;
  }
}
.sitemap__item li {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: #dcdcdc solid 1px;
  font-weight: 600;
}
.sitemap__item .svg-inline--fa {
  color: #363333;
  font-size: 1.5rem;
  padding-left: 5px;
}

/*========= お知らせのDL ===========*/
dl.type-news {
  width: 90%;
  margin: 0 auto;
}

/*========= お知らせ記事ページ ===========*/
article {
  max-width: 680px;
  margin: 0 auto;
}
article dl.type-news {
  display: block;
  border-bottom: #b71c26 solid 1px;
  padding: 3% 0 0;
  width: 100%;
}
article dl.type-news dt {
  width: 100%;
  padding-bottom: 10px !important;
}
article dl.type-news dd {
  width: 100%;
  font-size: 2.4rem;
  font-weight: 600;
  padding-bottom: 20px !important;
  line-height: 1.6;
}
article .single {
  margin: 5% 0;
  padding: 0 2.5%;
}
article .single p {
  font-size: 16px;
  margin-bottom: 1.2em;
  line-height: 2;
  padding: 0;
}
article .single p a,article .single  a {
  color: #b71c26;
  transition: all 0.2s ease;
  text-decoration: underline;
  display: block;
  margin: 1.2em 0;
}

/*========= お知らせ一覧 ===========*/

.news__inner {
  max-width: 860px;
  margin: 0 auto;
}

ul.page-numbers {
  width: 100%;
  margin: 50px auto;
  display: flex;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
}
ul.page-numbers li {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0;
}
ul.page-numbers li a,
ul.page-numbers li span {
  display: block;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  line-height: 1;
  background: #c2c2c2;
  color: white;
}
ul.page-numbers span.current {
  background: #b44c4c;
  color: white;
}

.page-link {
  width: 90%;
  margin: 50px auto 0;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
}
.page-link a {
  font-size: 1.5rem;
  width: 10em;
  line-height: 1.4;
  display: block;
  text-align: justify;
  display: -webkit-box;
  /* 必須 */
  -webkit-box-orient: vertical;
  /* 必須 */
  -webkit-line-clamp: 3;
  /* 行数を制限 */
  overflow: hidden;
  /* はみ出た部分を非表示 */
}
.page-link a span {
  display: block;
  font-size: small;
  color: #5376a1;
}
.page-link a:last-child {
  text-align: right;
}/*# sourceMappingURL=sub-page.css.map */

