@charset "UTF-8";
#contact .l_container {
 max-width: 1000px;
 margin: 0 auto;
 width: calc(100% - 100px);
}
@media (max-width:820px) {
 #contact .l_container {
  width: 90%;
 }
}
#contact .contact_section {
 padding-bottom: 4em;
}
@media (max-width:820px) {
 #contact .contact_section {
  padding-bottom: 2em;
 }
}
#contact .contact_section:last-child {
 padding-bottom: 0;
}
#contact .contact_section h2 {
 padding: 0 0 .5em 30px;
 line-height: 1.5;
 color: #0d4394;
 position: relative;
}
@media (max-width:820px) {
 #contact .contact_section h2 {
  padding: 0 0 .5em 20px;
 }
}
#contact .contact_section h2::before {
 content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 35px;
    background-color: #0d4394;
    border-radius: 3px;
}
@media (max-width:820px) {
 #contact .contact_section h2::before {
          height: 28px;
        top: 8px;
        width: 6px;
 }
}
#contact .contact_section .tel {
 color: #2589d0;
 font-weight: bold;
}
#contact .contact_section .form_btn {
 position: relative;
 width: 320px;
 background-color: #2589d0;
 color: #fff;
 display: block;
 text-align: center;
 border-radius: 90px;
 font-size: 18px;
 font-weight: bold;
 padding: 8px;
 margin: 20px auto 0;
 border: 2px solid #fff;
 transition: all .1s ease-in;
 cursor: pointer;
}
@media (max-width:820px) {
 #contact .contact_section .form_btn {
  width: 280px;
  font-size: 16px;
 }
}
#contact .contact_section .form_btn:hover {
 background: #fff;
 border: 2px solid #2589d0;
 color: #2589d0;
}
#contact .contact_section .form_btn .fa-arrow-right {
 position: absolute;
 transform: translateY(-50%);
 font-size: 18px;
 top: 50%;
 right: 20px;
 color: #fff !important;
 transition: all .1s ease-in;
}
@media (max-width:820px) {
 #contact .contact_section .form_btn .fa-arrow-right {
  font-size: 16px;
 }
}
#contact .contact_section .form_btn:hover .fa-arrow-right {
 color: #2589d0 !important;
}
.insurer:nth-child(odd) {
 margin: 30px 0;
}
@media (max-width:820px) {
 .insurer:nth-child(odd) {
  margin: 20px 0;
 }
}
.insurer__name {
 color: #0d4394;
 font-weight: bold;
 margin: 0 0 .4em;
}
@media (max-width:820px) {
 .insurer__name {
  ;
  margin: 0 0 0;
 }
}
/* ラベル-電話の2カラム配置 */
.insurer__list {
 margin: 0;
 padding: 0;
 display: grid;
 grid-template-columns: 1fr auto;
 column-gap: 16px;
 row-gap: 6px;
 max-width: 330px;
}
@media (max-width:820px) {
 .insurer__list {
  max-width: 300px;
  row-gap: 4px;
 }
}
.insurer__list dt {
 font-weight: 600;
 position: relative;
 padding-left: 1.1em;
}
.insurer__list dt::before {
 content: "–"; /* スクショのハイフンっぽいマーク */
 position: absolute;
 left: 0;
 top: 0;
 color: #333333;
}
.insurer__list dd {
 margin: 0;
 white-space: nowrap; /* 電話番号の折返し防止 */
}