@charset "UTF-8";
/* ============================================================
   サービス案内用スタイル（トップの「選ばれる理由」とサービスページ）
   style.css の html{font-size:62.5%} 前提。クラスは gs_ で統一。
   ============================================================ */

/* ---------- トップページ：選ばれる理由 ---------- */
.gs_reason {
    display: block;
    width: 90%;
    max-width: 1000px;
    margin: 60px auto;
    color: #333;
}
.gs_reason h2 {
    margin: 0 auto 24px;
    font-family: "Noto Sans JP";
    font-weight: 900;
    font-size: 2.6rem;
    text-align: center;
    letter-spacing: 2px;
    line-height: 1.5;
}
.gs_reason h2::before,
.gs_reason h2::after {
    content: '■';
    margin: 0 10px;
    font-size: 1.9rem;
    color: #E5A323;
    vertical-align: middle;
}
.gs_reason h3 {
    margin: 40px 0 16px;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}
.gs_lead {
    margin: 0 0 24px;
    font-size: 1.6rem;
    line-height: 1.9;
}
.gs_reason_list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: gs_reason;
}
.gs_reason_list li {
    position: relative;
    margin: 0 0 12px;
    padding: 16px 16px 16px 64px;
    background: #FFFAEB;
    border-left: 4px solid #E5A323;
    font-size: 1.5rem;
    line-height: 1.8;
    counter-increment: gs_reason;
}
.gs_reason_list li::before {
    content: counter(gs_reason);
    position: absolute;
    left: 16px;
    top: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #E5A323;
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 32px;
    text-align: center;
}
.gs_reason_list li strong {
    display: block;
    font-size: 1.7rem;
}
.gs_service_links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.gs_service_links li {
    flex: 1 1 280px;
}
.gs_service_links a {
    display: block;
    height: 100%;
    box-sizing: border-box;
    padding: 18px 16px;
    border: 2px solid #E5A323;
    border-radius: 6px;
    background: #fff;
    color: #333;
    font-size: 1.4rem;
    line-height: 1.7;
    text-decoration: none;
}
.gs_service_links a:hover {
    background: #FFFAEB;
}
.gs_service_links a span {
    display: block;
    margin-bottom: 6px;
    font-size: 1.7rem;
    font-weight: 700;
    color: #C9850B;
}

/* ---------- サービスページ本文 ---------- */
.gs_page {
    color: #333;
    font-size: 1.6rem;
    line-height: 1.9;
}
.gs_page h2 {
    margin: 48px 0 16px;
    padding: 8px 0 8px 14px;
    border-left: 6px solid #E5A323;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
}
.gs_page h2:first-child {
    margin-top: 0;
}
.gs_page h3 {
    margin: 28px 0 10px;
    font-size: 1.8rem;
    font-weight: 700;
}
.gs_page p {
    margin: 0 0 16px;
}
.gs_page ul,
.gs_page ol {
    margin: 0 0 16px;
    padding-left: 1.5em;
}
.gs_page ul li {
    list-style: disc;
}
.gs_page ol li {
    list-style: decimal;
}
.gs_page a {
    color: #C9850B;
}
.gs_answer {
    margin: 0 0 24px;
    padding: 18px 20px;
    background: #FFFAEB;
    border: 1px solid #F0D9A8;
    border-radius: 6px;
}
.gs_answer p:last-child {
    margin-bottom: 0;
}
.gs_table_wrap {
    margin: 0 0 16px;
    overflow-x: auto;
}
.gs_table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    font-size: 1.4rem;
    line-height: 1.6;
}
.gs_table th,
.gs_table td {
    padding: 10px 12px;
    border: 1px solid #DDD;
    text-align: left;
    vertical-align: top;
}
.gs_table thead th {
    background: #F5F0E4;
    font-weight: 700;
}
.gs_table td.gs_price {
    white-space: nowrap;
    font-weight: 700;
}
.gs_note {
    font-size: 1.3rem;
    color: #666;
}
.gs_faq dt {
    margin: 20px 0 6px;
    font-weight: 700;
}
.gs_faq dt::before {
    content: 'Q. ';
    color: #E5A323;
}
.gs_faq dd {
    margin: 0 0 0 1.4em;
}
.gs_cta {
    margin: 40px 0;
    text-align: center;
}
.gs_cta a {
    display: inline-block;
    padding: 16px 40px;
    border-radius: 40px;
    background: #E5A323;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
}
.gs_cta a:hover {
    opacity: 0.85;
}

@media screen and (max-width:480px) {
    .gs_reason h2 { font-size: 2rem; letter-spacing: 0; }
    .gs_reason h2::before,
    .gs_reason h2::after { display: none; }
    .gs_reason_list li { padding-left: 56px; }
    .gs_page { font-size: 1.5rem; }
    .gs_page h2 { font-size: 1.9rem; }
    .gs_cta a { padding: 14px 24px; font-size: 1.6rem; }
}

.gs_reason strong,
.gs_page strong {
    font-weight: 700;
}
