@charset "UTF-8";

/* =======================================
	【BASE】footer CV枠線で囲むver
========================================== */
.tel.center {
  width: 37%;
  border-right: 1px solid rgba(255, 255, 255, 0.72);
  padding: 8px 0;
}

.tel.center a {
  width: 74%;
  margin: 9px auto 2px;
  position: relative;
  display: inline-block;
}

.f_con_line>div {
  width: 38%;
}

.f_con_line {
  display: flex;
  width: 61%;
  align-items: center;
}

.f_con_line>ul {
  width: 60%;
}

.f_con_line>ul a {
  background: #FFF;
  border-radius: 5em;
  display: block;
  padding: 16px 20px;
  margin: 0px 20px 20px;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.0784313725);
}

.f_con_line>ul li:nth-child(1) a {
  margin-bottom: 15px;
  margin-top: 20px;
}

.f_con_line>ul li:nth-child(1) a img {
  width: 14em;
  margin: auto;
}

.f_con_line>ul li:nth-child(2) a img {
  width: 12em;
  margin: auto;
}

.footer02 {
  display: flex;
  justify-content: space-between;
  padding: 37px 0 14px;
  font-size: 14px;
}

.footer02_01 {
  color: #51504f;
}

.footer02_01 th {
  text-align: center;
  padding-right: 16px;
  font-weight: 600;
}

.footer02_01 th,
.footer02_01 td {
  padding-bottom: 11px;
  line-height: 140%;
}

.footer02_02 a {
  color: #313136;
}

.footer02_nav {
  display: flex;
  margin-top: 7px;
  justify-content: end;
}

.footer02_nav a {
  margin-bottom: 14px;
  display: inline-block;
}

.footer02_nav a.sub {
  margin-bottom: 0;
  background: none;
  font-weight: 500;
  color: #474747;
  position: relative;
  padding-left: 0.8em;
}

.footer02_nav a.sub:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #a98d5b;
  border-right: 0;
  position: absolute;
  top: 30%;
  left: 0px;
}

.footer02_nav a.sub_tit {
  margin-bottom: 2px;
}

.footer02_nav a.sub_mB {
  margin-bottom: 14px;
}

.footer02_nav ul {
  margin-left: 70px;
}

.footer02_btn {
  display: flex;
  justify-content: end;
  margin-top: 16px;
  line-height: 100%;
}

/* =======================================
	footer CVボックスで囲むver
========================================== */
.footer01 {
  background: #2C4A7B;
  padding: 24px 83px;
}

.footer01 .tel.center,
.footer01 .f_con_line {
  width: 48%;
  border-right: none;
  padding: 0;
  height: 100%;
}

.footer01 .tel.center a,
.footer01 .f_con_line a {
  color: #a98d5b;
  margin: 0;
  width: 100%;
  display: inline-block;
  text-align: center;
  border: 1px solid #a98d5b;
  background: url(../img/f_tel.svg) no-repeat left 1.7em center/2.3em, #101010;
  padding: 2em 1em;
  padding-left: 4em;
}

.footer01 .tel.center a>p:nth-of-type(1),
.footer01 .f_con_line a>p:nth-of-type(1) {
  font-size: 3.6rem;
  letter-spacing: 0.08em;
  line-height: 130%;
}

.footer01 .f_con_line a {
  text-align: left;
  border: 1px solid #a98d5b;
  background: url(../img/f_contact.svg) no-repeat left 1.7em center/2.3em, #101010;
  padding: 2.3em 1em;
  padding-left: 5.5em;
}

.footer01 .f_con_line a>p:nth-of-type(1) {
  line-height: 140%;
}

.footer02 {
  padding: 48px 0 36px;
  font-size: 1.8rem;
}

.footer02 .footer02_01 img {
  width: 22em;
  margin-bottom: 25px;
}

/* 電話ボタン */
.contact_bar_tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #5A7DB2;
  border-radius: 50em;
  padding: 12px 32px;
  height: 84px;
  /* text-decoration: none; */
  color: #fff;
  transition: opacity 0.3s;
  flex-shrink: 0;
  align-items: center;
}

.contact_bar_tel:hover {
  opacity: 0.8;
}

.contact_bar_tel_label {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  margin-bottom: -2px;
  text-align: center;
}

.contact_bar_tel_num {
  font-size: 3.2rem;
  /* font-weight: 700; */
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 8px;
}

.contact_bar_tel_num img {
  width: 26px;
}

.contact_bar_sub {
  color: #C6C6C6;
  font-size: 2rem;
  text-align: center;
}

/* お問い合わせフォームボタン */
.contact_bar_form {
  display: flex;
  align-items: center;
  justify-content: center;
  /* アイコン＋文言を中央に */
  gap: 10px;
  background: #5A7DB2;
  border-radius: 50em;
  padding: 20px 40px;
  color: #fff;
  height: 84px;
  text-decoration: none;
  letter-spacing: 0.05em;
  flex: 1;
  transition: background-color 0.6s ease;
  position: relative;
  font-size: 2.0rem;
}

.contact_bar_form:hover {
  background-color: #000F2D;
}

/* 矢印だけ右端に固定 */
.contact_bar_arrow {
  position: absolute;
  right: 30px;
  width: 45px;
}

.bg_deco02 {
  position: relative;
  overflow: hidden;
}

.bg_deco02::after {
  content: "";
  position: absolute;
  bottom: 0%;
  right: 40px;
  width: 25.9vw;
  height: 6.1vw;
  max-width: 362px;
  background: url("../img/deco_right02.png") no-repeat right bottom;
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}

.deco_car {
  position: absolute;
  bottom: 0;
  right: 330px;
  width: 97px;
  z-index: 1;
}

.c_btns {
  display: flex;
  gap: 15px;
}

.footer02_02 .c_btns .btn03 {
  padding: 10px 2.5em 10px 1.5em;
}

.copyright {
  display: flex;
  justify-content: space-between;
  color: #777F8E;
  border-top: 1px solid #D9D9D9;
  padding: 10px 0;
}

.copyright a {
  color: #777F8E;
}

/*# sourceMappingURL=footer.css.map */
/* ==================================================
1000px周りの調整
================================================== */

@media screen and (min-width: 900px) and (max-width: 1120px) {
  .contact_bar_form {
    font-size: 1.6rem;
    justify-content: flex-start;
  }

  .contact_bar_tel_num {
    font-size: 2.6rem;
  }

  .contact_bar_tel_label {
    font-size: 1.5rem;
  }

  .contact_bar_sub {
    white-space: nowrap;
  }
}
