
.seo-logo { font-size: 2em; font-weight: 700; }
.seo-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.page_title h1, .detail_text h2 { margin: 0; font: inherit; color: inherit; letter-spacing: inherit; }
.seo-intro, .seo-faq, .seo-cta { position: relative; margin-top: 50px; margin-left: auto; margin-right: auto; }
.seo-intro .content_body .body, .seo-cta .content_body .body { font-size: 20px; line-height: 2; }
.seo-cta .sub_btn { margin-top: 50px; }
.seo-tel { margin-top: 28px; color: #123153; }
.seo-tel .jp { display: block; font-size: 14px; letter-spacing: 2px; }
.seo-tel a { display: inline-block; margin-top: 4px; font-size: 44px; letter-spacing: 3px; line-height: 1.2; color: #123153; text-decoration: none; }
.seo-num { font-family: "century-gothic-bold", "Century Gothic", sans-serif; }
.seo-tel-contact { margin: 0 0 40px; }
.seo-faq-list { display: grid; gap: 14px; }
.seo-faq details { background: #fff; border: 1px solid #E7EDF4; border-radius: 0 20px 0 20px; color: #123153; }
.seo-faq details[open] { background: #f4f7fb; }
.seo-faq summary { position: relative; display: flex; gap: 16px; align-items: baseline; padding: 20px 56px 20px 24px; font-size: 17px; line-height: 1.6; cursor: pointer; list-style: none; }
.seo-faq summary::-webkit-details-marker { display: none; }
.seo-faq summary::after { content: ""; position: absolute; right: 24px; top: 50%; width: 14px; height: 2px; background: #123153; box-shadow: none; transition: transform .2s; }
.seo-faq summary::before { content: ""; position: absolute; right: 24px; top: 50%; width: 14px; height: 2px; background: #123153; transform: rotate(90deg); transition: transform .2s; }
.seo-faq details[open] summary::before { transform: rotate(0deg); }
.seo-faq summary .en, .seo-faq details p .en { flex: none; font-size: 28px; line-height: 1; color: #93b2d3; }
.seo-faq details p { display: flex; gap: 16px; align-items: baseline; margin: 0; padding: 0 24px 22px; font-size: 15px; font-weight: 500; line-height: 2; }
form .form_line input, form .form_line textarea, form .form_line select { border: 1px solid #123153; background: #fff; color: #123153; }
form .form_line input:focus, form .form_line textarea:focus, form .form_line select:focus { outline: 2px solid #123153; outline-offset: 1px; }
#comapny_detail dl, #comapny_detail dd { margin: 0; }
#comapny_detail dt { font-weight: inherit; }
.seo-by { margin: 0 0 12px; font-size: 13px; text-align: center; }
.seo-by a { text-decoration: underline; }
.seo-main { width: fit-content; min-width: 250px; }
.seo-main .jp { padding: 7.5px 24px; white-space: nowrap; }
.seo-main a { color: #fff; text-decoration: none; }
.fixed-cta { position: fixed; right: 24px; bottom: 24px; z-index: 50; display: flex; font-size: 14px; }
.fixed-cta a { padding: 12px 20px; text-decoration: none; }
.fixed-cta-tel { background: #E7EDF4; color: #123153; border-radius: 0 0 0 20px; }
.fixed-cta-tel .seo-num { font-size: 15px; letter-spacing: 1px; line-height: 1; }
.fixed-cta-main { background: #123153; color: #fff; border-radius: 0 20px 0 0; letter-spacing: 2px; }
@media (max-width: 768px) {
  body { padding-bottom: 48px; }
  .seo-intro .content_body .body, .seo-cta .content_body .body { font-size: 16px; }
  .seo-tel a { font-size: 30px; letter-spacing: 2px; }
  .seo-faq summary { padding: 16px 44px 16px 16px; gap: 12px; font-size: 15px; }
  .seo-faq summary::before, .seo-faq summary::after { right: 16px; }
  .seo-faq details p { padding: 0 16px 18px; gap: 12px; font-size: 14px; }
  .seo-main { margin: 30px auto 0 !important; }
  .fixed-cta { left: 0; right: 0; bottom: 0; }
  .fixed-cta a { flex: 1; text-align: center; padding: 14px 8px; border-radius: 0; }
}

.seo-turnstile{margin:24px auto 16px;display:flex;justify-content:center}

.seo-agree{text-align:center;margin:48px 0 -40px;font-size:16px}
.seo-agree label{cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.seo-agree input{width:18px;height:18px;margin:0;accent-color:#123153}
.seo-agree a{text-decoration:underline}
#privacy .seo-privacy{max-width:880px;margin:0 auto;padding:40px 20px 100px;line-height:1.9;font-size:15px}
#privacy .seo-privacy h2{font-size:19px;font-weight:bold;margin:44px 0 12px;padding-bottom:8px;border-bottom:1px solid #123153;color:#123153}
#privacy .seo-privacy p{margin:0 0 12px}
#privacy .seo-privacy ul{margin:0 0 12px;padding-left:1.4em;list-style:disc}
#privacy .seo-privacy li{margin:4px 0}
#privacy .seo-privacy a{text-decoration:underline}
#privacy .seo-privacy-date{margin-top:48px;text-align:right}
@media screen and (max-width:600px){#privacy .seo-privacy{padding:20px 4px 60px;font-size:14px}#privacy .seo-privacy h2{font-size:17px}.seo-agree{margin:32px 0 -60px}}
