/* Contact renewal: landing links and destination details. */
#contact500 .contact-index-group { margin: 15px 0 34px; padding: 0; background: none; }
#contact500 .contact-index-group h2 { position: relative; margin: 0 0 10px; padding: 6px 12px 6px 38px; border: 0; color: #111; font-size: 16px; font-weight: bold; line-height: 1.5; }
#contact500 .contact-index-group h2::before { content: ''; position: absolute; top: 50%; left: 14px; width: 8px; height: 8px; background: #db0a17; transform: translateY(-50%) rotate(45deg); }
#contact500 ul.contactIndexNav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 50px; row-gap: 22px; max-width: 560px; margin: 0; padding: 0; }
#contact500 ul.contactIndexNav li { float: none; width: auto; margin: 0; padding: 0; list-style: none; }
#contact500 ul.contactIndexNav li a { position: relative; display: flex; align-items: center; min-height: 50px; box-sizing: border-box; padding: 10px 34px 10px 18px; border: 1px solid #dedede; background: #fff; box-shadow: 2px 2px 0 #f1f1f1; color: #111; font-size: 14px; font-weight: normal; line-height: 1.5; text-align: left; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
#contact500 ul.contactIndexNav li a::after { content: '→'; position: absolute; right: 11px; top: 50%; color: #db0a17; font-size: 20px; line-height: 1; transform: translateY(-50%); transition: color .2s ease; }
#contact500 ul.contactIndexNav li a:hover, #contact500 ul.contactIndexNav li a:focus-visible { border-color: #db0a17; background: #db0a17; color: #fff; }
#contact500 ul.contactIndexNav li a:hover::after, #contact500 ul.contactIndexNav li a:focus-visible::after { color: #fff; }
#contact500 .contact-relay-note { margin: 45px 0 24px; color: #333; }
#contact #side aside .level01 a.contact-side-home { margin-bottom: 9px; padding-left: 20px; background: url(../images/arrow_red_3.png) left center no-repeat; }
.contact-destination { margin: 45px 0 30px; }
.contact-destination h3 { margin-bottom: 18px; }
.contact-destination h4 { margin: 20px 0 12px; font-size: 16px; }
.contact-destination p { margin: 12px 0; }
.contact-chat-preview { display: block; width: 260px; max-width: 100%; height: auto; margin: 14px 0; }
#faq a.contact-chat-button { display: inline-block; padding: 11px 26px; border-radius: 30px; color: #fff; background: #c8263a; font-weight: bold; text-decoration: none; }
#faq a.contact-chat-button:hover, #faq a.contact-chat-button:focus { color: #fff; background: #9c1023; text-decoration: none; }
.contact-office { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 6px 8px; margin: 14px 0 24px; padding: 0 0 20px; border-bottom: 1px solid #d6d6d6; }
.contact-office dt { clear: none !important; float: none !important; width: auto !important; font-weight: bold; }
.contact-office dd { margin: 0 !important; line-height: 1.7; overflow-wrap: anywhere; }
a.contact-tel:link, a.contact-tel:visited {
  display: inline-block;
  color: #dc0b19;
  font-size: 140%;
  font-weight: bold;
  margin-right: 8px;
  background: url(../images/ico_tel.png) left center no-repeat;
  padding-left: 28px;
  text-decoration: none;
}
a.contact-tel:hover, a.contact-tel:focus-visible { color: #dc0b19; text-decoration: underline; }
.contact-voice-note { padding: 15px; background: #f7f7f7; }
#contact500.contact-detail article { margin-bottom: 36px; }
#contact500.contact-detail article p { color: #c90016; }
@media screen and (max-width: 767px) {
  #contact500 ul.contactIndexNav { grid-template-columns: 1fr; max-width: none; gap: 12px; }
  #contact500 .contact-index-group { margin: 15px 0 30px; }
  .contact-office { grid-template-columns: 1fr; gap: 2px; }
  .contact-office dd { margin-bottom: 8px !important; }
}

/* FAQ accordion */
#faq .faq-topic { margin: 0 0 20px; }
#faq .faq-topic > summary { position: relative; display: block; cursor: pointer; list-style: none; }
#faq .faq-topic > summary > h3.pat01 { margin: 0; padding-right: 48px; }
#faq .faq-topic > summary::-webkit-details-marker { display: none; }
#faq .faq-topic > summary::after { content: '+'; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: #db0a17; font-size: 24px; line-height: 1; }
#faq .faq-topic[open] > summary::after { content: '−'; }
#faq .faq-topic > summary:hover > h3.pat01, #faq .faq-topic > summary:focus-visible > h3.pat01, #faq .faq-topic:target > summary > h3.pat01 { border-color: #db0a17; }
#faq .faq-topic > .faq_cmn01 { margin: 0; padding: 14px 0 20px; }
#faq .faq-topic > .faq_cmn01 h4:first-child { margin-top: 0; }
/* #faq .faq-contact-jump { display: inline-block; margin: 4px 5px 4px 0; padding: 10px 15px; border: 1px solid #d6d6d6; border-radius: 3px; background: linear-gradient(#f9f9f9, #ededee); font-size: 12px; font-weight: bold; line-height: 1.3; text-decoration: none; vertical-align: middle; }
#faq .faq-contact-jump:hover, #faq .faq-contact-jump:focus { border-color: #bd0914; background: #db0a17; color: #fff; text-decoration: none; } */
#faq .contact-destinations { margin-top: 35px; }
#faq .contact-destinations .contact-destination { margin: 0 0 35px; }
@media screen and (max-width: 767px) {
  #faq .faq-topic > summary > h3.pat01 { padding-right: 42px; }
  #faq .btn .faq-contact-jump { margin-top: 8px; }
}
