@charset "UTF-8";
.page-heading{position:relative;overflow:hidden;background:var(--pale);min-height:245px;display:flex;align-items:center}
.page-heading::after{content:"";position:absolute;right:-70px;top:-95px;width:290px;height:290px;background:#fff4d4;border-radius:50%;pointer-events:none}
.page-heading-inner{position:relative;z-index:1;padding-block:50px}
.page-heading h1{font-size:38px;letter-spacing:.07em;line-height:1.65;max-width:960px;overflow-wrap:anywhere}
.page-heading .section-label{margin-bottom:16px}
.page-heading.with-photo{min-height:285px}
.with-photo::after{display:none}
.page-heading-photo{position:absolute;inset:0 0 0 38%;overflow:hidden}
.page-heading-photo img{height:100%;width:100%;object-fit:cover;object-position:center 55%}
.page-heading-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#edf9fd 0%,#edf9fdd4 35%,#ffffff73 100%)}
.breadcrumbs{display:flex;align-items:baseline;gap:13px;font-size:11px;line-height:1.8;padding-block:24px;color:#6a828c}
.breadcrumbs a{color:var(--ink);flex-shrink:0}
.breadcrumbs>span:last-child{overflow-wrap:anywhere}
.detail-content{padding:38px 0 90px;max-width:1000px;overflow-wrap:anywhere}
.detail-content>p{font-size:16px;line-height:2.25;max-width:940px;margin:0 0 23px}
.detail-content>p:first-child{font-size:17px;margin-bottom:40px}
.detail-content h2{position:relative;font-size:27px;line-height:1.8;letter-spacing:.05em;padding:0 0 18px;margin:55px 0 26px;border-bottom:1px solid #dcecf1}
.detail-content h2::after{content:"";position:absolute;bottom:-1px;left:0;width:72px;height:3px;background:var(--blue)}
.detail-content h2:first-child{margin-top:0}
.detail-content h2+h2{font-size:30px;border:0;margin-top:17px;padding:0;letter-spacing:.07em}
.detail-content h2+h2::after{display:none}
.detail-content h3{font-size:21px;line-height:1.9;margin:37px 0 18px}
.detail-content h4{font-size:17px;margin:28px 0 15px}
.detail-content .detail-phone{font-family:Arial,sans-serif;font-size:31px;font-weight:700;letter-spacing:.04em;margin-block:21px}
.detail-gallery{display:flex;align-items:center;justify-content:center;gap:28px;margin:35px 0 45px;flex-wrap:wrap}
.detail-photo{flex:1 1 300px;max-width:740px;min-width:0}
.detail-photo img{width:100%;height:auto;max-height:470px;object-fit:contain;border-radius:20px}
.detail-gallery:has(>.detail-photo:nth-child(2)) .detail-photo{max-width:calc(50% - 14px)}
.detail-mark{flex:0 1 130px!important;max-width:130px!important;margin-block:8px}
.detail-mark img{border-radius:0;max-height:145px;object-fit:contain}
.detail-list{padding-left:1.6em;margin:22px 0 30px;font-size:15px;line-height:2.15}
.detail-list>li{padding-left:8px;margin-bottom:13px}
.detail-list>li::marker{color:var(--ink);font-weight:700}
.detail-list .detail-list{margin:12px 0 17px;font-size:14px}
.page-about .detail-list{list-style:none;padding:0;counter-reset:commitment}
.page-about .detail-list>li{position:relative;counter-increment:commitment;padding:21px 25px 21px 76px;background:#f3fbfe;border-radius:13px;margin-bottom:13px}
.page-about .detail-list>li::before{content:counter(commitment,decimal-leading-zero);position:absolute;left:23px;top:20px;font:25px/1.9 Arial,sans-serif;color:var(--blue)}
.table-scroll{overflow-x:auto;width:100%;margin:25px 0 33px;-webkit-overflow-scrolling:touch}
.detail-table{width:100%;border-collapse:collapse;font-size:14px;line-height:2;text-align:left}
.detail-table caption{font-size:12px;text-align:left;padding-bottom:13px;color:#66818b}
.detail-table th,.detail-table td{padding:18px 20px;border-top:1px solid #d9e9ef;border-bottom:1px solid #d9e9ef;vertical-align:top}
.detail-table th{font-weight:700;background:#edf9fd;white-space:nowrap}
.detail-table td{min-width:44px}
.detail-table th:first-child{min-width:130px}
.detail-table tr>td:first-child{min-width:110px}
.block-link{margin:20px 0}
.detail-link,.document-link{display:flex;align-items:center;gap:18px;padding:20px 24px;background:#f0fafe;border-bottom:2px solid var(--blue);font-size:15px;font-weight:700;line-height:1.9}
.detail-link:hover,.document-link:hover{background:#e2f5fc}
.block-arrow{font-family:Arial,sans-serif;font-size:24px;margin-left:auto;flex-shrink:0}
.document-icon{font:10px/1.5 Arial,sans-serif;letter-spacing:.06em;color:#fff;background:var(--blue);padding:10px 6px;border-radius:3px;flex-shrink:0}
.faq-item{margin:19px 0;border:1px solid #daebf0;border-radius:15px;overflow:hidden;background:#fff}
.faq-item summary{display:flex;align-items:center;gap:19px;padding:23px 26px;cursor:pointer;list-style:none;font-size:17px;font-weight:700;line-height:1.8}
.faq-item summary::-webkit-details-marker{display:none}
.question-mark{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border-radius:50%;font-family:Arial,sans-serif;font-size:17px;flex-shrink:0}
.faq-toggle{position:relative;margin-left:auto;flex-shrink:0;width:16px;height:16px}
.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;background:var(--ink)}
.faq-toggle::before{height:1px;width:16px;top:7px;left:0}
.faq-toggle::after{width:1px;height:16px;left:7px;top:0}
.faq-item[open] .faq-toggle::after{display:none}
.faq-item[open] summary{background:#f0fafe}
.faq-answer{padding:24px 30px 27px 79px;font-size:15px;line-height:2.15}
.faq-answer>p{margin:0 0 16px}
.faq-answer>p:last-child{margin-bottom:0}
.faq-answer .table-scroll{margin:16px 0}
.review-form{max-width:830px;margin:35px auto 15px;padding:40px 45px;background:#f2fafe;border-radius:20px}
.form-preview-note{font-size:13px;margin:0 0 31px;color:#617b85}
.form-field{margin-bottom:25px}
.form-field label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:16px;font-weight:700;line-height:1.8;margin-bottom:11px}
.required-mark,.optional-mark{font-size:10px;padding:2px 8px;line-height:1.7;border-radius:3px;font-weight:500;letter-spacing:.05em}
.required-mark{background:var(--blue);color:#fff}
.optional-mark{background:#e0eaf0;color:#58717c}
.form-field input,.form-field select,.form-field textarea{width:100%;font:16px/1.8 "Zen Maru Gothic","Yu Gothic",sans-serif;letter-spacing:.03em;border:1px solid #bfd9e4;border-radius:7px;background:#fff;color:var(--ink);padding:13px 15px;min-height:53px}
.form-field textarea{resize:vertical}
.field-help{font-size:12px;color:#71858e;line-height:1.9;margin-top:8px}
.review-form>.button{border:0;margin-top:6px;min-width:260px;cursor:pointer}
.form-feedback{font-size:13px;margin-top:19px;line-height:1.9}
.page-privacy .detail-content>p{font-size:14px;line-height:2.25}
.page-privacy .detail-content>p:first-child{font-size:15px}
.page-privacy .detail-content h2{font-size:23px;margin-top:42px}
.page-privacy .detail-list{font-size:14px}
.post-meta{display:flex;align-items:center;gap:20px;font-size:12px;color:#6a8088;margin-top:22px}
.post-meta time{font-family:Arial,sans-serif;letter-spacing:.05em}
.post-meta>span{padding:3px 12px;background:#ffffffb5;border-radius:4px}
.news-article{max-width:920px;padding-top:38px}
.news-article .detail-photo{max-width:850px}
.article-back{border-top:1px solid #dceaf0;padding-top:35px;margin-top:50px;display:flex;justify-content:center}
.archive-list .news-item{font-size:14px;padding:24px 0;grid-template-columns:90px 140px 1fr 20px;gap:22px}
.archive-list .news-item time{font-size:12px}
.archive-list .news-category{font-size:11px}
.content-pending{padding:24px;background:#f4f9fb;font-size:15px;border-radius:12px}
.subpage .contact-section{margin-top:0}
@media(max-width:1000px){.page-heading h1{font-size:33px}.detail-content{padding-top:28px}.detail-content>p{font-size:15px}.detail-content>p:first-child{font-size:16px}.detail-content h2{font-size:25px}.detail-gallery{gap:20px}.detail-gallery:has(>.detail-photo:nth-child(2)) .detail-photo{max-width:calc(50% - 10px)}.archive-list .news-item{grid-template-columns:85px 110px 1fr 18px;gap:16px;font-size:13px}}
@media(max-width:680px){.page-heading,.page-heading.with-photo{min-height:200px}.page-heading-inner{padding-block:38px}.page-heading h1{font-size:27px;letter-spacing:.045em;line-height:1.8}.page-heading::after{width:180px;height:180px;right:-83px;top:-83px}.page-heading-photo{left:0}.page-heading-photo::after{background:linear-gradient(90deg,#edf9fde8,#edf9fdb8)}.page-heading .section-label{font-size:9px;margin-bottom:13px}.breadcrumbs{font-size:10px;gap:9px;padding-block:18px}.detail-content{padding:24px 0 56px}.detail-content>p,.detail-content>p:first-child{font-size:14px;line-height:2.15;margin-bottom:24px}.detail-content>p:first-child{margin-bottom:30px}.detail-content h2{font-size:22px;line-height:1.9;padding-bottom:15px;margin:38px 0 22px}.detail-content h2+h2{font-size:25px;line-height:1.8;margin-top:16px}.detail-content h3{font-size:19px;margin-top:29px}.detail-content h4{font-size:16px}.detail-content .detail-phone{font-size:28px}.detail-gallery{gap:16px;margin:27px 0 32px}.detail-photo{flex-basis:100%}.detail-gallery:has(>.detail-photo:nth-child(2)) .detail-photo{max-width:100%}.detail-photo img{border-radius:14px;max-height:450px}.detail-mark{max-width:105px!important;flex-basis:105px!important}.detail-list{font-size:14px;line-height:2.1;padding-left:1.4em}.detail-list>li{padding-left:3px}.detail-list .detail-list{font-size:13px}.page-about .detail-list>li{padding:18px 18px 18px 59px}.page-about .detail-list>li::before{font-size:22px;left:17px;top:16px}.table-scroll{margin:22px 0 28px}.detail-table{font-size:12px}.detail-table th,.detail-table td{padding:13px 12px}.detail-table th:first-child{min-width:100px}.detail-table tr>td:first-child{min-width:95px}.detail-link,.document-link{padding:17px 18px;font-size:13px;gap:13px}.block-arrow{font-size:21px}.document-icon{font-size:9px;padding:9px 5px}.faq-item{border-radius:12px;margin:15px 0}.faq-item summary{padding:18px 16px;gap:12px;font-size:15px}.question-mark{width:28px;height:28px;font-size:14px}.faq-answer{padding:20px 18px;font-size:14px;line-height:2.1}.faq-toggle{width:14px;height:14px}.faq-toggle::before{width:14px}.faq-toggle::after{height:14px}.review-form{padding:25px 20px;border-radius:14px;margin-top:27px}.form-preview-note{font-size:12px;margin-bottom:24px}.form-field{margin-bottom:22px}.form-field label{font-size:14px;gap:10px}.form-field input,.form-field select,.form-field textarea{padding:12px;min-height:51px}.field-help{font-size:11px}.review-form>.button{width:100%;min-width:0;justify-content:space-between;font-size:12px;padding-inline:20px}.form-feedback{font-size:12px}.page-privacy .detail-content h2{font-size:20px;margin-top:33px}.page-privacy .detail-content>p,.page-privacy .detail-content>p:first-child,.page-privacy .detail-list{font-size:13px}.post-meta{gap:12px;font-size:10px;line-height:1.9;flex-wrap:wrap;margin-top:18px}.post-meta>span{padding:3px 8px}.archive-list .news-item{grid-template-columns:75px 1fr 15px;gap:4px 10px;font-size:13px;padding:18px 0}.archive-list .news-item time{font-size:10px}.archive-list .news-category{font-size:9px}.article-back{margin-top:35px;padding-top:27px}.article-back .button{font-size:12px}.content-pending{padding:20px;font-size:14px}}
@media(max-width:360px){.page-heading h1{font-size:24px}.detail-content h2{font-size:20px}.review-form{padding-inline:16px}.detail-content>p{font-size:13px}}

/* Help visitors understand each service and reach the information they need. */
.service-heading-name { white-space: nowrap; }
.service-summary { margin-bottom: 46px; }
.service-lead { font-size: 17px; line-height: 2.15; }
.service-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 26px 0; }
.service-facts > div { padding: 20px 22px; border-radius: 14px; background: #f2fafe; }
.service-facts dt { font-size: 13px; color: #536f79; line-height: 1.7; margin-bottom: 8px; }
.service-facts dd { font-size: 15px; font-weight: 700; line-height: 1.9; margin: 0; }
.service-contents { border-block: 1px solid #dcebf1; padding-block: 18px; }
.service-contents > p { font-size: 14px; font-weight: 700; }
.service-contents ul { display: flex; flex-wrap: wrap; gap: 4px 26px; margin: 9px 0 0; padding: 0; list-style: none; }
.service-contents a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 5px; }
.service-contents a::after { content: "↓"; color: var(--blue); text-decoration: none; }
.detail-content h2[id] { scroll-margin-top: 28px; }
.service-related { margin-top: 50px; }
.service-related > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.service-related a { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 19px 22px; min-height: 64px; border: 1px solid #d4eaf1; border-radius: 12px; font-size: 15px; line-height: 1.9; background: #f7fcfe; }
.service-related a > span:last-child { color: var(--blue); flex-shrink: 0; }
.service-related a:hover { background: #eaf8fd; }
@media(max-width:680px) {
  .service-summary { margin-bottom: 36px; }
  .service-lead { font-size: 15px; }
  .service-facts { grid-template-columns: 1fr; gap: 0; margin: 22px 0; border-radius: 14px; overflow: hidden; }
  .service-facts > div { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 12px; border-radius: 0; padding: 15px 18px; }
  .service-facts > div + div { border-top: 1px solid #dcebf1; }
  .service-facts dt { font-size: 13px; padding-top: 2px; margin: 0; }
  .service-facts dd { font-size: 14px; }
  .service-contents ul { display: block; }
  .service-contents a { font-size: 14px; line-height: 1.8; padding-block: 7px; }
  .service-related { margin-top: 38px; }
  .service-related > div { grid-template-columns: 1fr; gap: 10px; }
  .service-related a { padding: 16px 18px; }
}

/* Offer answers before visitors choose phone or form contact. */
.contact-faq-guide { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 0 0 34px; padding: 25px 28px; border: 1px solid #d4eaf1; border-radius: 18px; background: #f2fafe; }
.detail-content .contact-faq-guide h2 { font-size: 21px; line-height: 1.7; margin: 0 0 9px; padding: 0; border: 0; }
.detail-content .contact-faq-guide h2::after { display: none; }
.contact-faq-guide p { font-size: 15px; line-height: 1.9; }
.contact-faq-guide .button { font-size: 14px; min-height: 48px; padding: 13px 21px; gap: 20px; }
@media(max-width:680px) {
  .contact-faq-guide { flex-direction: column; align-items: stretch; gap: 18px; padding: 22px; margin-bottom: 28px; border-radius: 14px; }
  .detail-content .contact-faq-guide h2 { font-size: 19px; }
  .contact-faq-guide .button { width: 100%; }
}

/* Match the larger, readable type used in the TOP review. */
.detail-content > p,
.detail-content > p:first-child,
.detail-list,
.faq-answer,
.page-privacy .detail-content > p,
.page-privacy .detail-content > p:first-child,
.page-privacy .detail-list { font-size: 16px; }
.detail-list .detail-list { font-size: 15px; }
.detail-table { font-size: 15px; }
.detail-link,
.document-link { font-size: 16px; }
.breadcrumbs { font-size: 13px; }
.required-mark,
.optional-mark { font-size: 12px; }
.field-help,
.form-preview-note,
.form-feedback { font-size: 14px; }
.post-meta { font-size: 14px; }
.archive-list .news-item { font-size: 16px; }
.archive-list .news-item time { font-size: 13px; }
.archive-list .news-category { font-size: 12px; }
.article-back .button { font-size: 15px; }

@media(max-width:680px) {
  .detail-content > p,
  .detail-content > p:first-child,
  .detail-list,
  .detail-list .detail-list,
  .faq-answer,
  .page-privacy .detail-content > p,
  .page-privacy .detail-content > p:first-child,
  .page-privacy .detail-list { font-size: 15px; }
  .detail-content h4 { font-size: 18px; }
  .detail-table { font-size: 14px; }
  .detail-link,
  .document-link { font-size: 15px; }
  .breadcrumbs { font-size: 12px; }
  .form-field label { font-size: 16px; }
  .review-form > .button,
  .article-back .button { font-size: 14px; }
  .post-meta { font-size: 13px; }
  .archive-list .news-item { font-size: 15px; }
  .archive-list .news-item time { font-size: 12px; }
  .archive-list .news-category { font-size: 11px; }
}
