/* DLD GROUP FAQ / 既存サイトとの競合を防ぐため全てスコープを限定 */
.dld-faq-page { color:#333; font-family: inherit; font-size:16px; line-height:1.85; }
.dld-faq-page, .dld-faq-page * { box-sizing:border-box; }
.dld-faq-page a { transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.dld-faq-page a:focus-visible, .dld-faq-page summary:focus-visible {outline:3px solid #9ab600;outline-offset:3px;}
.dld-faq-container {width:min(1120px,calc(100% - 64px));max-width:1120px;margin-inline:auto;}
.dld-faq-hero { padding:78px 0 70px;background:#f5f5f4;text-align:center; }
.dld-faq-hero__heading {margin:0 auto;}
.dld-faq-hero .Title__main {margin-top:0;}
.dld-faq-hero__lead {font-size:clamp(19px,2.2vw,24px);font-weight:600;line-height:1.9;letter-spacing:.05em;margin:23px 0 12px;}
.dld-faq-hero__note {font-size:14px;letter-spacing:.02em;color:#777;margin:0;}
.dld-faq-mobile-break {display:none;}
.dld-faq-body {padding-top:65px;padding-bottom:95px;}
/* INDEX: 既存 main.css の nav/ul/li/a ルールと矢印の絵文字表示を回避。 */
.dld-faq-page .dld-faq-index {
  display: grid !important;
  grid-template-columns: 156px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 24px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  float: none !important;
  position: static !important;
  padding: 22px 26px !important;
  margin: 0 0 65px !important;
  background: #f7f7f6;
  border: 1px solid #e7e7e4;
  writing-mode: horizontal-tb !important;
}
.dld-faq-page .dld-faq-index__label {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #333;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
.dld-faq-page .dld-faq-index__label small {
  display: block !important;
  margin: 4px 0 0 !important;
  color: #767676;
  font-size: 13px !important;
  line-height: 1.6 !important;
  font-weight: 400;
  letter-spacing: .01em;
  white-space: nowrap !important;
}
.dld-faq-page .dld-faq-index__links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  writing-mode: horizontal-tb !important;
}
.dld-faq-page .dld-faq-index__link {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  position: relative !important;
  inset: auto !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  background: #fff !important;
  border: 1px solid #dfdfdc !important;
  border-radius: 0 !important;
  color: #333 !important;
  text-decoration: none !important;
  text-align: left !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  writing-mode: horizontal-tb !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}
.dld-faq-page .dld-faq-index__link-text {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  position: static !important;
  white-space: normal !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
  writing-mode: horizontal-tb !important;
}
/* HTML に残る ↘ が Windows の青い絵文字になるため非表示とし、CSSだけで矢印を描画する */
.dld-faq-page .dld-faq-index__link-arrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 23px !important;
  width: 23px !important;
  min-width: 23px !important;
  max-width: 23px !important;
  height: 23px !important;
  min-height: 23px !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #f7faee !important;
  border: 1px solid #dce8bb !important;
  border-radius: 50% !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.dld-faq-page .dld-faq-index__link-arrow::after {
  content: "" !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin-top: -3px;
  border-right: 2px solid #7fa200 !important;
  border-bottom: 2px solid #7fa200 !important;
  transform: rotate(45deg);
}
.dld-faq-page .dld-faq-index__link:hover,
.dld-faq-page .dld-faq-index__link:focus-visible {
  border-color: #9fc329 !important;
  background: #fcfdf9 !important;
  color: #4a6800 !important;
}
.dld-faq-sections {max-width:960px;margin:0 auto;}
.dld-faq-section {scroll-margin-top:110px;margin:0 0 75px;}
.dld-faq-section:last-child {margin-bottom:0;}
.dld-faq-section__head {margin-bottom:22px;border-bottom:1px solid #555;padding-bottom:14px;}
.dld-faq-section__en {display:block;color:#999;font-size:11px;letter-spacing:.16em;font-weight:500;margin-bottom:5px;}
.dld-faq-section__head h2 {font-size:clamp(21px,2.2vw,27px);font-weight:600;letter-spacing:.035em;margin:0;line-height:1.55;}
.dld-faq-list {display:grid;grid-template-columns:minmax(0,1fr);gap:11px;}
.dld-faq-item {margin:0;min-width:0;border:1px solid #e6e6e6;background:#fff;}
.dld-faq-item[open] {border-color:#b8b8b8;}
.dld-faq-item__question {cursor:pointer;display:flex;align-items:center;gap:22px;min-height:82px;padding:20px 25px;list-style:none;background:#fff;user-select:none;}
.dld-faq-item__question::-webkit-details-marker {display:none;}
.dld-faq-item__question::marker {content:'';}
.dld-faq-item__question:hover {background:#f9f9f8;}
.dld-faq-item__num {flex:0 0 50px;display:block;color:#8caf00;font-size:16px;font-weight:700;letter-spacing:.05em;line-height:1.3;}
.dld-faq-item__text {min-width:0;flex:1;font-size:16px;font-weight:600;line-height:1.65;letter-spacing:.025em;}
.dld-faq-item__toggle {flex:0 0 28px;width:28px;height:28px;border:1px solid #d8d8d8;border-radius:50%;position:relative;}
.dld-faq-item__toggle::before, .dld-faq-item__toggle::after {content:'';position:absolute;background:#666;top:50%;left:50%;transform:translate(-50%,-50%);}
.dld-faq-item__toggle::before {width:10px;height:1px;}
.dld-faq-item__toggle::after {width:1px;height:10px;}
.dld-faq-item[open] .dld-faq-item__toggle::after {display:none;}
.dld-faq-item__answer {display:flex;gap:22px;border-top:1px solid #eaeaea;padding:19px 25px 24px;background:#f9f9f8;}
.dld-faq-item__answer-mark {flex:0 0 50px;font-weight:700;font-size:16px;color:#666;}
.dld-faq-item__answer-text {flex:1;min-width:0;font-size:15px;line-height:1.95;}
.dld-faq-item__answer-text p {margin:0 0 1em;}
.dld-faq-item__answer-text p:last-child {margin-bottom:0;}
.dld-faq-item__pending {color:#777;}
.dld-faq-bottom {background:#f5f5f4;text-align:center;padding:67px 20px 72px;}
.dld-faq-bottom__en {font-size:12px;letter-spacing:.15em;color:#999;}
.dld-faq-bottom h2 {font-size:clamp(19px,2vw,25px);margin:8px 0 9px;font-weight:600;}
.dld-faq-bottom p {font-size:15px;margin:0 0 27px;}
.dld-faq-bottom__links {display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.dld-faq-button {display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:250px;padding:16px 22px;border:1px solid #444;background:transparent;color:#333;text-decoration:none;font-size:14px;font-weight:600;}
.dld-faq-button--primary {background:#333;color:#fff;}
.dld-faq-button:hover {background:#8caf00;border-color:#8caf00;color:#fff;}
@media(max-width:1000px) {
 .dld-faq-page .dld-faq-index {grid-template-columns:1fr !important;gap:16px !important;}
 .dld-faq-page .dld-faq-index__label small {display:inline !important;margin-left:12px !important;}
 .dld-faq-page .dld-faq-index__links {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:600px) {
 .dld-faq-page {font-size:15px;}
 .dld-faq-container {width:calc(100% - 36px);}
 .dld-faq-hero {padding:61px 0 56px;}
 .dld-faq-mobile-break {display:block;}
 .dld-faq-hero__lead {font-size:19px;}
 .dld-faq-hero__note {font-size:13px;}
 .dld-faq-body {padding-top:35px;padding-bottom:66px;}
 .dld-faq-page .dld-faq-index {padding:18px !important;margin-bottom:52px !important;}
 .dld-faq-page .dld-faq-index__label {font-size:17px !important;}
 .dld-faq-page .dld-faq-index__links {grid-template-columns:1fr !important;gap:9px !important;}
 .dld-faq-page .dld-faq-index__link {min-height:54px !important;padding:12px 15px !important;font-size:14px !important;}
 .dld-faq-section {margin-bottom:54px;}
 .dld-faq-section__head {margin-bottom:17px;}
 .dld-faq-section__head h2 {font-size:21px;}
 .dld-faq-list {gap:9px;}
 .dld-faq-item__question {padding:15px 13px;gap:9px;min-height:76px;}
 .dld-faq-item__num {flex-basis:42px;font-size:14px;}
 .dld-faq-item__text {font-size:14px;line-height:1.6;}
 .dld-faq-item__toggle {width:25px;height:25px;flex-basis:25px;}
 .dld-faq-item__answer {padding:17px 13px;gap:9px;}
 .dld-faq-item__answer-mark {flex-basis:42px;}
 .dld-faq-item__answer-text {font-size:14px;}
 .dld-faq-bottom {padding:54px 18px 60px;}
 .dld-faq-bottom__links {flex-direction:column;gap:11px;}
 .dld-faq-button {width:100%;min-width:0;}
}
@media(prefers-reduced-motion:reduce) {.dld-faq-page a {transition:none;}}
