/********** Template CSS **********/
:root {
    --bs-tertiary: #000000;
}

:root{
    --bs-primary:#D4AF37;      /* ゴールド */
    --bs-secondary:#000000;    /* 黒 */
    --bs-dark:#111111;         /* チャコール */
}

.back-to-top {
    position: fixed !important;
    display: none;
    right: 30px;
    bottom: 30px;
    z-index: 99;
}


/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}


/*** Font ***/
.ff-open-sans {
    font-family: "Open Sans", sans-serif;
}

.ff-roboto-slab {
    font-family: "Roboto Slab", serif;
}

.fw-normal {
    font-weight: 400 !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 600 !important;
}


/*** Button ***/
.btn.btn-primary,
.btn.btn-secondary {
    font-family: "Roboto Slab", serif;
    font-weight: 600;
    text-transform: uppercase;
}

.btn {
    transition: .5s;
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}


/*** Nav Bar ***/
.navbar .navbar-nav .nav-link {
    margin: 0 10px;
    padding: 0;
    outline: none;
    font-size: 13px;
    color: var(--bs-light);
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--bs-primary)
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 5px;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item.active {
    color: var(--bs-white);
    background: var(--bs-primary);
}

@media (max-width: 991.98px) {
    .navbar .navbar-nav .nav-link  {
        margin-left: 0;
        padding: 10px 0;
    }
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        border: none;
        margin-top: 0;
        top: 150%;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
    }

    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        visibility: visible;
        transition: .5s;
        opacity: 1;
    }
}

.bg-dark{
    background:#000 !important;
}
.bg-secondary{
    background:#000 !important;
}
/*** Header ***/
.hero-header {
    position: relative;
}

.hero-header::before {
    position: absolute;
    content: "";
    width: 100%;
    top: -500%;
    left: 0;
    bottom: 0;
    background:#000000;
    z-index: -1;
}

.header-carousel {
    position: relative;
    padding-right: 45px;
}

.header-carousel .owl-dots {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.header-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 5px 0;
    width: 15px;
    height: 15px;
    border: 2px solid var(--bs-primary);
    transition: .5s;
}

.header-carousel .owl-dot.active {
    height: 30px;
    background: var(--bs-primary);
}


/*** Section Title ***/
.section-title {
    position: relative;
    padding-left: 25px;
    display: inline-block;
    text-transform: uppercase;
    line-height: 1rem;
    letter-spacing: 2px;
}

.section-title::before {
    position: absolute;
    content: "";
    width: 15px;
    height: 15px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: var(--bs-dark);
}

.section-title.text-primary::before {
    background: var(--bs-primary);
}


/*** About ***/
.about-exp {
    position: absolute;
    width: 100%;
    height: 100%;
    right: -45px;
    bottom: -45px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


/*** Practice ***/
@media (max-width: 768px) {
    .practice-item {
        border: none !important;
        box-shadow: 0 0 45px rgba(0, 0, 0, .06);
    }
}

@media (min-width: 992px) {
    .practice-item.border-lg-end {
        border-right: 1px solid #dee2e6;
    }

    .practice-item.border-lg-end-0 {
        border-right: none !important;
    }

    .practice-item.border-lg-bottom-0 {
        border-bottom: none !important;
    }
}


/*** Case ***/
.case-item h1 {
    color: var(--bs-white);
    -webkit-text-stroke: 1px var(--bs-primary);
    text-shadow:
        -1px -1px 0 var(--bs-primary),
        1px -1px 0 var(--bs-primary),
        -1px  1px 0 var(--bs-primary),
        1px  1px 0 var(--bs-primary);
}


/*** Team ***/
.team-item .team-des {
    position: relative;
    height: 110px;
    text-align: center;
    overflow: hidden;
}

.team-item .team-des .team-text {
    position: relative;
    width: 100%;
    height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/*** Footer ***/
.footer {
    color: var(--bs-light);
    background: var(--bs-dark);
}

.footer .btn.btn-link {
    display: block;
    margin-bottom: 5px;
    padding: 0;
    text-align: left;
    color: var(--bs-light);
    font-weight: normal;
    text-transform: capitalize;
    transition: .3s;
}

.footer .btn.btn-link::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.footer .btn.btn-link:hover {
    color: var(--bs-primary);
    letter-spacing: 1px;
    box-shadow: none;
}

.footer .list-group li {
    background: transparent;
    border-color: rgba(255, 255, 255, .15);
}

.footer .list-group li a {
    color: var(--bs-light);
}

.footer .list-group li a:hover {
    color: var(--bs-primary);
}

.footer .list-group li small {
    color: var(--bs-tertiary);
}


/*** Copyright ***/
.copyright {
    color: var(--bs-white);
    background: #000000;
}
/* =========================
   SYNCA HERO
========================= */
/* =========================
   SYNCA HERO
========================= */
.synca-hero{
    position:relative;
    overflow:hidden;

    /* 背景画像 */
    background-image:url("../img/main_dark.png");
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    padding:72px 0 74px;
}

/* 写真を少し暗くして文字を読みやすくする */
.synca-hero::before{
    position:absolute;
    content:"";
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.76) 0%,
            rgba(0,0,0,.62) 38%,
            rgba(0,0,0,.48) 70%,
            rgba(0,0,0,.56) 100%
        );

    pointer-events:none;
}

/* Hero内のコンテンツを背景より前面へ */
.synca-hero-inner{
    position:relative;
    z-index:1;
    padding:0 14px;
}
.synca-hero-inner{
    position:relative;
    z-index:1;
    padding:0 14px;
}

.synca-hero-brand-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.synca-hero-brand{
    color:#fff;
    font-size:18px;
    font-weight:800;
    letter-spacing:-.02em;
}

.synca-hero-brand span{
    color:#D4AF37;
}

.synca-hero-mini-nav{
    color:#858585;
    font-size:9px;
    font-weight:700;
    letter-spacing:.18em;
    white-space:nowrap;
}

.synca-hero-eyebrow{
    color:#D4AF37;
    font-size:11px;
    font-weight:800;
    letter-spacing:.36em;
    margin-bottom:16px;
}

.synca-hero-title{
    color:#fff;
    font-size:clamp(60px, 5.3vw, 60px);
    font-weight:800;
    line-height:1.08;
    letter-spacing:-.04em;
    margin:0 0 18px;
}

.synca-hero-lead{
    max-width:920px;
    color:#a9a9a9;
    font-size:14px;
    line-height:1.9;
    margin:0 0 42px;
}

.synca-hero-plans{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
}

.synca-hero-plan{
    position:relative;
    min-height:250px;
    display:flex;
    flex-direction:column;
    background:#121212;
    border:1px solid #242424;
    border-radius:3px;
    padding:24px 18px 18px;
    color:#fff;
    text-decoration:none;
    transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.synca-hero-plan:hover{
    transform:translateY(-4px);
    border-color:#D4AF37;
    background:#171717;
    color:#fff;
}

.synca-hero-plan.is-recommended{
    border-color:#D4AF37;
    box-shadow:inset 0 0 0 1px rgba(212,175,55,.12);
}

.synca-plan-badge{
    position:absolute;
    top:12px;
    right:12px;
    display:inline-block;
    background:#D4AF37;
    color:#000;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
    padding:4px 7px;
}

.synca-plan-kicker{
    color:#D4AF37;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    margin-bottom:12px;
}

.synca-hero-plan strong{
    min-height:52px;
    color:#fff;
    font-size:18px;
    line-height:1.45;
    margin-bottom:14px;
}

.synca-plan-price{
    color:#fff;
    line-height:1;
    margin-bottom:18px;
}

.synca-plan-price b{
    font-size:24px;
    font-weight:800;
}

.synca-plan-price small{
    color:#9b9b9b;
    font-size:10px;
    margin-left:5px;
}

.synca-plan-text{
    color:#969696;
    font-size:11px;
    line-height:1.75;
    margin-bottom:18px;
}

.synca-plan-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #292929;
    color:#d7d7d7;
    font-size:11px;
    font-weight:700;
}

.synca-hero-plan-all{
    background:linear-gradient(145deg, #171717 0%, #0d0d0d 100%);
}

.synca-hero-contact-wrap{
    display:flex;
    justify-content:center;
    margin-top:30px;
}

.synca-hero-contact-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-width:300px;
    background:#D4AF37;
    border:1px solid #D4AF37;
    color:#000;
    font-size:16px;
    font-weight:800;
    letter-spacing:.04em;
    padding:14px 30px;
    text-decoration:none;
    transition:.25s;
}

.synca-hero-contact-button:hover{
    background:#fff;
    border-color:#fff;
    color:#000;
}

.synca-anchor{
    position:relative;
    top:-90px;
    visibility:hidden;
}

@media (max-width: 991.98px){
    .synca-hero{
        padding:58px 0 62px;
    }

    .synca-hero-plans{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .synca-hero-mini-nav{
        display:none;
    }
}

@media (max-width: 575.98px){
    .synca-hero{
        padding:44px 0 50px;
    }

    .synca-hero-inner{
        padding:0;
    }

    .synca-hero-eyebrow{
        font-size:9px;
        letter-spacing:.22em;
    }

    .synca-hero-title{
        font-size:32px;
    }

    .synca-hero-lead{
        font-size:13px;
        line-height:1.75;
        margin-bottom:28px;
    }

    .synca-hero-plans{
        grid-template-columns:1fr;
    }

    .synca-hero-plan{
        min-height:auto;
    }

    .synca-hero-contact-button{
        width:100%;
        min-width:0;
        font-size:15px;
    }
}

/* =========================
   SYNCA DARK SECTION
========================= */

.synca-dark-section{
    background:#000;
    color:#fff;
}

.synca-dark-section h1,
.synca-dark-section h2,
.synca-dark-section h3,
.synca-dark-section h4,
.synca-dark-section h5,
.synca-dark-section h6{
    color:#fff;
}

.synca-dark-section .section-title{
    color:#D4AF37;
}

.synca-dark-section .case-item{
    background:#111;
    border:1px solid #D4AF37 !important;
    transition:.3s;
}

.synca-dark-section .case-item:hover{
    transform:translateY(-5px);
}

.synca-dark-section .case-item h4{
    color:#fff;
}

.synca-dark-section .text-body{
    color:#ccc !important;
}

.synca-dark-section .border-bottom{
    border-color:rgba(212,175,55,.3) !important;
}

.synca-dark-section .display-4{
    color:transparent;
    -webkit-text-stroke:1px #D4AF37;
}

.synca-dark-section img{
    filter:brightness(.9);
}
/* =========================
   主な業務について
========================= */

.synca-business-section{
    background:#000;
    color:#fff;
}

.synca-business-section h1,
.synca-business-section h2,
.synca-business-section h3,
.synca-business-section h4,
.synca-business-section h5,
.synca-business-section h6{
    color:#fff;
}

.synca-business-section .section-title{
    color:#D4AF37;
}

.synca-business-section .section-title:before{
    background:#D4AF37;
}

/* 各業務カード */
.synca-business-section .practice-item{
    background:#111;
    border:1px solid rgba(212,175,55,.35) !important;
    transition:.3s;
}

.synca-business-section .practice-item:hover{
    transform:translateY(-5px);
    border-color:#D4AF37 !important;
}

.synca-business-section .practice-item p{
    color:#ddd;
}

/* ①②③④⑤⑥ */
.synca-business-section .text-primary{
    color:#D4AF37 !important;
}

/* タイトル */
.synca-business-section .display-5{
    color:#fff;
}
.practice-item{
    text-align:left;
    padding:40px !important;
}

.practice-item i{
    display:block;
    text-align:center;
}

.practice-item h4{
    text-align:center;
}

.practice-item p{
    text-align:left;
    line-height:1.9;
}
/* 5つの価値：アイコンと見出しは中央、本文だけ左寄せ */
.practice-item i.fa-4x{
    display:block !important;
    text-align:center !important;
    width:100%;
    margin-left:auto;
    margin-right:auto;
}

.practice-item h4{
    text-align:center !important;
}

.practice-item p{
    text-align:left !important;
}
/* サービスプラン：価格表示 */
.price-plan-footer{
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.plan-price{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#D4AF37;
    font-size:1.45rem;
    font-weight:700;
    line-height:1;
}

.plan-price i{
    font-size:1.2rem;
}

.plan-more{
    color:#687693;
    font-size:.9rem;
}

/* =========================
   SYNCA CORE VALUES
========================= */
.synca-values-section{
    background:#fff;
    padding:100px 0 110px;
    color:#171717;
}

.synca-values-inner{
    max-width:1120px;
    margin:0 auto;
}

.synca-values-heading{
    max-width:900px;
    margin-bottom:48px;
}

.synca-values-kicker{
    display:flex;
    align-items:center;
    gap:14px;
    margin:0 0 22px;
    color:#171717;
    font-size:14px;
    font-weight:800;
    letter-spacing:.28em;
}

.synca-values-kicker span{
    width:9px;
    height:9px;
    flex:0 0 9px;
    border-radius:50%;
    background:#d98200;
}

.synca-values-heading h2{
    margin:0;
    color:#151515;
    font-size:clamp(38px, 5vw, 67px);
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.04em;
}

.synca-values-heading h2 span{
    position:relative;
    display:inline-block;
    z-index:0;
}

.synca-values-heading h2 span::after{
    content:"";
    position:absolute;
    left:-4px;
    right:-8px;
    bottom:.05em;
    height:.32em;
    background:#f3dfc3;
    z-index:-1;
}

.synca-values-lead{
    margin:30px 0 0;
    padding-left:18px;
    border-left:4px solid #d98200;
    color:#333;
    font-size:20px;
    font-weight:700;
}

.synca-values-list{
    max-width:980px;
}

.synca-value-row{
    display:grid;
    grid-template-columns:58px minmax(0, 1fr);
    gap:22px;
    padding:27px 0;
    border-top:1px solid rgba(23,23,23,.14);
}

.synca-value-row:last-child{
    border-bottom:1px solid rgba(23,23,23,.14);
}

.synca-value-letter{
    color:#d98200;
    font-size:38px;
    line-height:1;
    font-weight:800;
    padding-top:2px;
}

.synca-value-content h3{
    margin:0 0 8px;
    color:#171717;
    font-size:25px;
    line-height:1.35;
    font-weight:800;
}

.synca-value-content h3 small{
    font-size:.76em;
    font-weight:700;
}

.synca-value-content p{
    margin:0;
    color:#686868;
    font-size:16px;
    line-height:1.85;
}

.synca-value-content .synca-value-message{
    margin-bottom:6px;
    color:#2c2c2c;
    font-size:17px;
    font-weight:700;
}

@media (max-width:767.98px){
    .synca-values-section{
        padding:68px 0 75px;
    }

    .synca-values-heading{
        margin-bottom:34px;
    }

    .synca-values-kicker{
        font-size:11px;
        letter-spacing:.2em;
        gap:10px;
        margin-bottom:18px;
    }

    .synca-values-heading h2{
        font-size:34px;
        line-height:1.28;
    }

    .synca-values-lead{
        margin-top:22px;
        font-size:17px;
    }

    .synca-value-row{
        grid-template-columns:38px minmax(0,1fr);
        gap:13px;
        padding:23px 0;
    }

    .synca-value-letter{
        font-size:30px;
    }

    .synca-value-content h3{
        font-size:20px;
    }

    .synca-value-content h3 small{
        display:block;
        margin-top:2px;
        font-size:.76em;
    }

    .synca-value-content p,
    .synca-value-content .synca-value-message{
        font-size:14px;
        line-height:1.75;
    }
}


/* =========================
   SYNCA FAQ
========================= */
.synca-faq-section{
    padding:105px 0 115px;
    background:#fff;
    scroll-margin-top:90px;
}

.synca-faq-heading{
    max-width:820px;
    margin:0 0 58px;
}

.synca-faq-kicker{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 14px;
    color:#b58c35;
    font-family:"Roboto Slab",serif;
    font-size:14px;
    font-weight:700;
    letter-spacing:.18em;
}

.synca-faq-kicker span{
    width:14px;
    height:14px;
    background:#d4af37;
}

.synca-faq-heading h2{
    margin:0 0 20px;
    color:#171a24;
    font-size:52px;
    font-weight:800;
    letter-spacing:.02em;
}

.synca-faq-heading > p:last-child{
    max-width:760px;
    margin:0;
    color:#667087;
    font-size:17px;
    line-height:1.9;
}

.synca-faq-layout{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:70px;
    align-items:start;
}

.synca-faq-nav{
    position:sticky;
    top:110px;
    border-top:2px solid #171a24;
}

.synca-faq-nav a{
    display:flex;
    align-items:center;
    gap:15px;
    padding:20px 4px;
    border-bottom:1px solid #d6d3ca;
    color:#343946;
    font-size:14px;
    font-weight:700;
    line-height:1.45;
    text-decoration:none;
    transition:.25s;
}

.synca-faq-nav a span{
    color:#c59a39;
    font-family:"Roboto Slab",serif;
    font-size:13px;
    letter-spacing:.08em;
}

.synca-faq-nav a:hover{
    color:#c08d18;
    padding-left:9px;
}

.synca-faq-group{
    margin:0 0 62px;
    scroll-margin-top:105px;
}

.synca-faq-group:last-child{
    margin-bottom:0;
}

.synca-faq-group h3{
    display:flex;
    align-items:center;
    gap:16px;
    margin:0 0 18px;
    color:#202431;
    font-size:23px;
    font-weight:800;
}

.synca-faq-group h3 span{
    color:#c6972d;
    font-family:"Roboto Slab",serif;
    font-size:14px;
    letter-spacing:.08em;
}

.synca-faq-item{
    background:#fff;
    border:1px solid #dedbd2;
    border-bottom:none;
}

.synca-faq-item:last-child{
    border-bottom:1px solid #dedbd2;
}

.synca-faq-item summary{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 28px;
    gap:18px;
    align-items:center;
    padding:25px 28px;
    color:#202431;
    font-size:17px;
    font-weight:700;
    line-height:1.65;
    cursor:pointer;
    list-style:none;
}

.synca-faq-item summary::-webkit-details-marker{
    display:none;
}

.synca-faq-item summary::after{
    content:"+";
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    color:#b88a23;
    font-size:25px;
    font-weight:300;
    transition:.25s;
}

.synca-faq-item[open] summary::after{
    content:"−";
    transform:rotate(180deg);
}

.synca-faq-item[open] summary{
    border-bottom:1px solid #ece8df;
}

.faq-mark{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:1px solid #d4af37;
    color:#b78920;
    font-family:"Roboto Slab",serif;
    font-size:20px;
    font-weight:700;
}

.synca-faq-answer{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:18px;
    align-items:start;
    padding:25px 74px 30px 28px;
    background:#fffdf8;
}

.synca-faq-answer .faq-mark{
    color:#fff;
    background:#202431;
    border-color:#202431;
}

.synca-faq-answer p{
    margin:3px 0 0;
    color:#626b7d;
    font-size:15px;
    line-height:2;
}

@media (max-width:991.98px){
    .synca-faq-section{
        padding:85px 0 95px;
    }

    .synca-faq-layout{
        grid-template-columns:1fr;
        gap:42px;
    }

    .synca-faq-nav{
        position:static;
        display:grid;
        grid-template-columns:repeat(2,1fr);
        border-top:1px solid #d6d3ca;
    }

    .synca-faq-nav a{
        padding:16px 8px;
        border-right:1px solid #d6d3ca;
    }

    .synca-faq-nav a:nth-child(even){
        border-right:none;
    }
}

@media (max-width:767.98px){
    .synca-faq-section{
        padding:68px 0 75px;
    }

    .synca-faq-heading{
        margin-bottom:38px;
    }

    .synca-faq-heading h2{
        font-size:36px;
    }

    .synca-faq-heading > p:last-child{
        font-size:15px;
        line-height:1.8;
    }

    .synca-faq-nav{
        grid-template-columns:1fr;
    }

    .synca-faq-nav a{
        border-right:none;
    }

    .synca-faq-group{
        margin-bottom:45px;
    }

    .synca-faq-group h3{
        gap:10px;
        font-size:19px;
    }

    .synca-faq-item summary{
        grid-template-columns:34px minmax(0,1fr) 22px;
        gap:12px;
        padding:19px 16px;
        font-size:15px;
        line-height:1.55;
    }

    .faq-mark{
        width:34px;
        height:34px;
        font-size:17px;
    }

    .synca-faq-item summary::after{
        width:22px;
        height:22px;
        font-size:21px;
    }

    .synca-faq-answer{
        grid-template-columns:34px minmax(0,1fr);
        gap:12px;
        padding:20px 16px 24px;
    }

    .synca-faq-answer p{
        margin-top:0;
        font-size:14px;
        line-height:1.85;
    }
}


/* =========================
   SYNCA COMPANY / CONTACT FINAL
========================= */
.synca-company-section{padding:105px 0 110px;background:#080808;color:#fff;scroll-margin-top:90px}
.synca-company-heading{max-width:760px;margin:0 0 54px}
.synca-company-kicker{display:flex;align-items:center;gap:11px;margin:0 0 14px;color:#d1b77f;font-family:"Roboto Slab",serif;font-size:14px;font-weight:700;letter-spacing:.18em}
.synca-company-kicker span{width:14px;height:14px;background:#d4af37}
.synca-company-heading h2{margin:0 0 18px;color:#fff;font-size:52px;font-weight:800;letter-spacing:.03em}
.synca-company-name{margin:0;color:#fff;font-size:25px;font-weight:700}
.synca-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(212,175,55,.35)}
.synca-company-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:20px;align-items:center;min-height:118px;padding:25px 30px 25px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.synca-company-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.16);padding-right:45px}
.synca-company-item:nth-child(even){padding-left:45px}
.synca-company-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid rgba(212,175,55,.55);color:#d4af37;font-size:18px}
.synca-company-item small{display:block;margin-bottom:7px;color:#bcbcbc;font-size:13px;letter-spacing:.08em}
.synca-company-item strong{display:block;color:#fff;font-size:17px;font-weight:600;line-height:1.7}
.synca-company-item a{color:#d1b77f}.synca-company-item a:hover{color:#fff}
.synca-contact-section{padding:110px 0 120px;background:#fff;scroll-margin-top:90px}
.synca-contact-heading{max-width:900px;margin:0 auto 55px;text-align:center}
.synca-contact-kicker{margin:0 0 18px;color:#c3a56b;font-family:"Roboto Slab",serif;font-size:16px;font-weight:700;letter-spacing:.08em}
.synca-contact-heading h2{margin:0 0 24px;color:#202431;font-size:48px;font-weight:800;letter-spacing:.03em}
.synca-contact-heading>p:last-child{margin:0;color:#667087;font-size:16px;line-height:1.9}
.synca-contact-form-wrap{max-width:1000px;margin:0 auto;padding:50px 55px 55px;border:1px solid #dedbd2;background:#fff;box-shadow:0 18px 50px rgba(20,24,34,.06)}
.synca-form-label{display:block;margin-bottom:9px;color:#3b4354;font-size:14px;font-weight:700}
.synca-contact-form-wrap .form-control{min-height:58px;padding:14px 16px;border:1px solid #ccd1db;border-radius:0;color:#313849;background:#fff;box-shadow:none}
.synca-contact-form-wrap textarea.form-control{min-height:210px;resize:vertical}
.synca-contact-form-wrap .form-control:focus{border-color:#c8a75e;box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.synca-contact-submit{min-width:300px;margin-top:12px;padding:17px 38px;border:1px solid #c9aa67;background:#c9aa67;color:#111;font-size:15px;font-weight:800;letter-spacing:.04em;transition:.3s}
.synca-contact-submit:hover{background:#111;border-color:#111;color:#fff}
@media(max-width:991.98px){.synca-company-section,.synca-contact-section{padding:85px 0 95px}.synca-company-grid{grid-template-columns:1fr}.synca-company-item,.synca-company-item:nth-child(odd),.synca-company-item:nth-child(even){padding:24px 0;border-right:none}.synca-contact-form-wrap{padding:42px 36px 46px}}
@media(max-width:767.98px){.synca-company-section,.synca-contact-section{padding:68px 0 75px}.synca-company-heading{margin-bottom:38px}.synca-company-heading h2,.synca-contact-heading h2{font-size:36px}.synca-company-name{font-size:21px}.synca-company-item{grid-template-columns:44px minmax(0,1fr);gap:15px;min-height:auto}.synca-company-icon{width:44px;height:44px;font-size:15px}.synca-company-item strong{font-size:15px}.synca-contact-heading{margin-bottom:38px;text-align:left}.synca-contact-heading>p:last-child{font-size:14px}.synca-contact-form-wrap{padding:28px 20px 32px;box-shadow:none}.synca-contact-submit{width:100%;min-width:0;padding:16px 20px}}

/* =========================
   サービスプラン：3プラン横幅調整
========================= */
.synca-price-section .container{
    max-width:1320px;
}

.synca-price-section .row{
    justify-content:center;
}

.synca-price-section .blog-item{
    padding:32px !important;
}

.synca-price-section .blog-item h4{
    min-height:58px;
    margin-bottom:24px !important;
    font-size:1.45rem;
    line-height:1.35;
}

.synca-price-section .blog-item img{
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
}

.synca-price-section .blog-item .text-body{
    line-height:1.9;
}

.synca-price-section .price-plan-footer{
    margin-top:auto;
}

@media (max-width:991.98px){
    .synca-price-section .blog-item{
        padding:26px !important;
    }

    .synca-price-section .blog-item h4{
        min-height:auto;
    }
}

@media (max-width:575.98px){
    .synca-price-section .blog-item{
        padding:22px !important;
    }
}



/* ==========================================================
   2026-08 SYNCA VISUAL REFRESH
   Client reference: sharp typography / dark + orange + tan
   ========================================================== */
:root{
    --synca-bg:#0a0a0a;
    --synca-panel:#11110f;
    --synca-orange:#e07a2b;
    --synca-tan:#d9c3a3;
    --synca-white:#f5f5f2;
    --synca-gray:#bdbdb8;
    --synca-line:rgba(224,122,43,.45);
    --synca-font-jp:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
    --synca-font-en:'Montserrat','Noto Sans JP',sans-serif;
}

/* Global typography */
html, body{
    font-family:var(--synca-font-jp);
    color:#20222a;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
body, p, a, button, input, textarea, select,
.navbar .navbar-nav .nav-link{
    font-family:var(--synca-font-jp);
}
h1,h2,h3,h4,h5,h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
    font-family:var(--synca-font-jp) !important;
    font-weight:700;
    letter-spacing:.015em;
}
.section-title,
.synca-hero-eyebrow,
.synca-hero-brand,
.synca-plan-badge,
.synca-plan-kicker,
.synca-faq-kicker,
.synca-company-kicker,
.synca-contact-kicker{
    font-family:var(--synca-font-en) !important;
}

/* ==========================================================
   SYNCA CORE VALUES — redesigned
   ========================================================== */
.synca-values-section{
    position:relative;
    overflow:hidden;
    background:var(--synca-bg) !important;
    padding:92px 0 104px;
    color:var(--synca-white) !important;
}
.synca-values-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 8% 12%, rgba(224,122,43,.09), transparent 28%),
      linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
      linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:auto,72px 72px,72px 72px;
}
.synca-values-section .container,
.synca-values-inner{
    position:relative;
    z-index:1;
}
.synca-values-inner{
    max-width:1200px;
    margin:0 auto;
}
.synca-values-section .text-center{
    max-width:760px !important;
    margin-bottom:46px !important;
}
.synca-values-section .section-title{
    display:inline-flex;
    align-items:center;
    padding-left:0;
    margin-bottom:16px;
    color:var(--synca-tan) !important;
    font-size:12px;
    font-weight:600;
    letter-spacing:.20em;
    line-height:1.4;
}
.synca-values-section .section-title::before{
    position:static;
    transform:none;
    width:9px;
    height:9px;
    margin-right:9px;
    background:var(--synca-orange) !important;
}
.synca-values-section .display-5{
    margin:0 !important;
    color:var(--synca-white) !important;
    font-size:clamp(30px,3vw,46px);
    line-height:1.25;
    font-weight:700;
    letter-spacing:.04em;
}
.synca-values-list{
    max-width:1200px !important;
    border-top:1px solid var(--synca-line);
}
.synca-value-row{
    position:relative;
    display:grid !important;
    grid-template-columns:110px minmax(0,1fr) !important;
    gap:34px !important;
    align-items:center;
    padding:30px 30px 30px 0 !important;
    border-top:none !important;
    border-bottom:1px solid rgba(224,122,43,.30) !important;
    transition:background .28s ease, transform .28s ease, border-color .28s ease;
}
.synca-value-row::after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--synca-orange);
    transform:scaleY(0);
    transform-origin:center;
    transition:transform .28s ease;
}
.synca-value-row:hover{
    background:linear-gradient(90deg,rgba(224,122,43,.09),rgba(255,255,255,.018));
    transform:translateX(6px);
    border-color:rgba(224,122,43,.62) !important;
}
.synca-value-row:hover::after{
    transform:scaleY(1);
}
.synca-value-letter{
    display:flex;
    align-items:center;
    justify-content:center;
    width:82px;
    height:82px;
    margin-left:4px;
    padding:0 !important;
    border:1px solid var(--synca-orange);
    color:var(--synca-orange) !important;
    font-family:var(--synca-font-en);
    font-size:42px !important;
    font-weight:600 !important;
    line-height:1 !important;
    letter-spacing:-.03em;
    background:rgba(224,122,43,.025);
}
.synca-value-content{
    min-width:0;
}
.synca-value-content h3{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:10px 14px;
    margin:0 0 10px !important;
    color:var(--synca-white) !important;
    font-family:var(--synca-font-en) !important;
    font-size:24px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
    letter-spacing:.01em;
}
.synca-value-content h3 small{
    color:var(--synca-tan);
    font-family:var(--synca-font-jp);
    font-size:13px !important;
    font-weight:500 !important;
    letter-spacing:.04em;
}
.synca-value-content .synca-value-message{
    margin:0 0 7px !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.8 !important;
}
.synca-value-content p:not(.synca-value-message){
    margin:0 !important;
    color:var(--synca-gray) !important;
    font-size:14px !important;
    font-weight:400;
    line-height:1.9 !important;
}

/* ==========================================================
   SERVICE PLANS — client supplied design integrated as-is
   ========================================================== */
.plans{
    background:var(--synca-bg);
    color:var(--synca-white);
    font-family:var(--synca-font-jp);
    padding:72px 32px 88px;
}
.plans__header{
    text-align:center;
    margin-bottom:36px;
}
.plans__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 12px;
    color:var(--synca-white);
    font-family:var(--synca-font-en);
    font-size:12px;
    font-weight:600;
    letter-spacing:.20em;
}
.plans__eyebrow-mark{
    width:8px;
    height:8px;
    flex:0 0 8px;
    background:var(--synca-orange);
}
.plans__title{
    margin:0;
    color:var(--synca-orange) !important;
    font-size:32px;
    font-weight:700;
    letter-spacing:.18em;
}
.plans__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    max-width:1200px;
    margin:0 auto;
}
.plan-card{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:24px;
    border:1px solid var(--synca-orange);
    border-radius:2px;
    background:transparent;
    transition:transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.plan-card:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.018);
    box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.plan-card__title{
    min-height:48px;
    margin:0 0 14px;
    color:var(--synca-white) !important;
    font-size:17px;
    font-weight:700;
    line-height:1.45;
    letter-spacing:.02em;
}
.plan-card__photo{
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    margin-bottom:16px;
    border-radius:2px;
    background:#1a1a1a;
}
.plan-card__photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .55s ease, filter .55s ease;
}
.plan-card:hover .plan-card__photo img{
    transform:scale(1.025);
    filter:contrast(1.03);
}
.plan-card__desc{
    margin:0 0 12px;
    color:var(--synca-white);
    font-size:13px;
    line-height:1.9;
}
.plan-card__tags{
    margin:0 0 auto;
    padding-bottom:20px;
    color:var(--synca-white);
    font-size:12.5px;
    line-height:1.9;
}
.plan-card__tag{
    color:var(--synca-white);
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-thickness:1px;
}
.plan-card__tag:hover{
    color:var(--synca-tan);
}
.plan-card__tag-sep{
    padding:0 1px;
    text-decoration:none;
}
.plan-card__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:16px;
    border-top:1px solid var(--synca-orange);
}
.plan-card__price{
    margin:0;
    color:var(--synca-white);
    font-family:var(--synca-font-en);
    font-size:20px;
    font-weight:700;
    white-space:nowrap;
}
.plan-card__yen{
    margin-right:2px;
    font-size:15px;
}
.plan-card__unit{
    color:var(--synca-gray);
    font-family:var(--synca-font-jp);
    font-size:11px;
    font-weight:400;
}
.plan-card__cta{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex-shrink:0;
    padding:9px 14px;
    border:1px solid var(--synca-orange);
    border-radius:2px;
    background:var(--synca-tan);
    color:#1a1a1a;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
    transition:background .2s ease, color .2s ease;
}
.plan-card__cta:hover{
    background:#cdb187;
    color:#111;
}

@media(max-width:991.98px){
    .synca-values-section{padding:78px 0 88px}
    .synca-value-row{grid-template-columns:92px minmax(0,1fr) !important;gap:24px !important}
    .synca-value-letter{width:70px;height:70px;font-size:36px !important}
    .plans{padding:64px 24px 76px}
    .plans__grid{grid-template-columns:1fr}
    .plan-card{max-width:720px;width:100%;margin:0 auto}
    .plan-card__title{min-height:0}
}
@media(max-width:575.98px){
    .synca-values-section{padding:64px 0 72px}
    .synca-values-section .text-center{text-align:left !important;margin-bottom:32px !important}
    .synca-values-section .display-5{font-size:29px}
    .synca-value-row{grid-template-columns:56px minmax(0,1fr) !important;gap:15px !important;padding:24px 0 !important}
    .synca-value-row:hover{transform:none}
    .synca-value-letter{width:52px;height:52px;margin-left:0;font-size:28px !important}
    .synca-value-content h3{display:block;font-size:20px !important}
    .synca-value-content h3 small{display:block;margin-top:5px;font-size:12px !important}
    .synca-value-content .synca-value-message{font-size:14px !important}
    .synca-value-content p:not(.synca-value-message){font-size:13px !important}
    .plans{padding:58px 16px 68px}
    .plans__title{font-size:27px;letter-spacing:.12em}
    .plan-card{padding:20px}
    .plan-card__footer{align-items:flex-start;flex-direction:column}
    .plan-card__cta{width:100%;justify-content:center}
}

/* ==========================================================
   PR APPROACH — photo version / readability upgrade
   2026-08-18
   ========================================================== */
.synca-approach-section{
    background:#080808;
    color:#fff;
    padding:92px 0 104px;
}

.synca-approach-heading{
    max-width:1000px;
    margin:0 auto 48px;
    text-align:center;
}

.synca-approach-kicker{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0 0 18px;
    color:#d4af37 !important;
    font-size:13px !important;
    font-weight:700;
    letter-spacing:.22em;
}

.synca-approach-kicker span{
    width:9px;
    height:9px;
    display:inline-block;
    background:#d4af37;
}

.synca-approach-heading h2{
    margin:0 0 22px;
    color:#d4af37 !important;
    font-size:clamp(38px,4.6vw,64px);
    line-height:1.2;
    font-weight:700;
    letter-spacing:.02em;
}

.synca-approach-heading > p:last-child{
    margin:0 auto;
    color:#fff !important;
    font-size:17px !important;
    line-height:1.9 !important;
}

.synca-approach-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.synca-approach-card{
    min-width:0;
    overflow:hidden;
    background:#0b0b0b;
    border:1px solid rgba(212,175,55,.88);
    box-shadow:0 16px 38px rgba(0,0,0,.24);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.synca-approach-card:hover{
    transform:translateY(-5px);
    border-color:#e0bb45;
    box-shadow:0 24px 55px rgba(0,0,0,.38);
}

.synca-approach-card__head{
    min-height:68px;
    display:flex;
    align-items:center;
    gap:15px;
    padding:18px 20px;
    border-bottom:1px solid rgba(212,175,55,.55);
}

.synca-approach-number{
    color:#d4af37;
    font-family:var(--synca-font-en, sans-serif);
    font-size:18px;
    font-weight:600;
}

.synca-approach-card__head h3{
    margin:0;
    color:#fff !important;
    font-size:18px;
    line-height:1.45;
    font-weight:700;
}

.synca-approach-visual{
    aspect-ratio:16/9;
    margin:0;
    overflow:hidden;
    background:#111;
}

.synca-approach-visual img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .55s ease, filter .55s ease;
}

.synca-approach-card:hover .synca-approach-visual img{
    transform:scale(1.025);
    filter:contrast(1.04) brightness(1.03);
}

.synca-approach-card__body{
    padding:24px 22px 26px;
}

.synca-approach-card__body h4{
    margin:0 0 14px;
    color:#fff !important;
    font-size:20px;
    line-height:1.55;
    font-weight:700;
}

.synca-approach-card__body > p,
.synca-approach-case p,
.synca-approach-result p{
    color:#f3f3f3 !important;
    font-size:15.5px !important;
    line-height:1.9 !important;
    font-weight:400;
}

.synca-approach-card__body > p{
    margin:0 0 20px;
}

.synca-approach-case{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.17);
}

.synca-approach-case > span,
.synca-approach-result > span{
    display:inline-block;
    margin:0 0 10px;
    padding:4px 9px;
    border:1px solid rgba(212,175,55,.65);
    color:#d4af37;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
}

.synca-approach-case strong{
    display:block;
    margin:0 0 8px;
    color:#fff;
    font-size:16px;
    line-height:1.6;
    font-weight:700;
}

.synca-approach-case p{
    margin:0;
}

.synca-approach-result{
    margin-top:18px;
    padding:17px 15px 14px;
    border-left:2px solid #d4af37;
    background:rgba(255,255,255,.025);
}

.synca-approach-result p{
    margin:0;
}

/* 黒背景セクションの本文を共通で読みやすく */
.synca-section-dark p,
.synca-section-dark li{
    color:#f0f0f0;
}

@media (max-width:991.98px){
    .synca-approach-section{padding:74px 0 82px}
    .synca-approach-grid{grid-template-columns:1fr;gap:22px}
    .synca-approach-card{max-width:760px;width:100%;margin:0 auto}
    .synca-approach-card__body > p,
    .synca-approach-case p,
    .synca-approach-result p{font-size:16px !important}
}

@media (max-width:575.98px){
    .synca-approach-section{padding:58px 0 66px}
    .synca-approach-heading{margin-bottom:34px;text-align:left}
    .synca-approach-kicker{justify-content:flex-start;font-size:11px !important}
    .synca-approach-heading h2{font-size:32px}
    .synca-approach-heading > p:last-child{font-size:15px !important}
    .synca-approach-card__head{min-height:60px;padding:15px 16px}
    .synca-approach-card__head h3{font-size:17px}
    .synca-approach-card__body{padding:21px 18px 22px}
    .synca-approach-card__body h4{font-size:19px}
    .synca-approach-card__body > p,
    .synca-approach-case p,
    .synca-approach-result p{font-size:15px !important;line-height:1.85 !important}
}

/* =========================================================
   MAIN SERVICES / 主な提供サービス - RESTORED INTEGRATED CSS
   2026-08-18
========================================================= */
.synca-services-showcase{
    position:relative;
    background:#fff;
    color:#171a24;
    padding:92px 0 104px;
    overflow:hidden;
}

.synca-services-heading{
    max-width:820px;
    margin:0 0 46px;
}

.synca-services-kicker{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 12px;
    color:#b7852d;
    font-size:12px;
    font-weight:800;
    letter-spacing:.22em;
}

.synca-services-kicker span{
    width:11px;
    height:11px;
    flex:0 0 11px;
    background:#d69a2d;
}

.synca-services-heading h2{
    margin:0 0 16px;
    color:#171a24;
    font-size:clamp(38px,4.6vw,58px);
    line-height:1.15;
    font-weight:800;
    letter-spacing:.015em;
}

.synca-services-heading > p:last-child{
    margin:0;
    color:#515866;
    font-size:17px;
    line-height:1.85;
    font-weight:500;
}

.service-index-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid #d8d3c8;
    border-left:1px solid #d8d3c8;
    margin:0 0 48px;
}

.service-index-card{
    position:relative;
    min-height:220px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    border:0;
    border-right:1px solid #d8d3c8;
    border-bottom:1px solid #d8d3c8;
    background:#fff;
    padding:25px 24px 22px;
    color:#171a24;
    cursor:pointer;
    transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}

.service-index-card::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-1px;
    height:3px;
    background:#d69a2d;
    transition:right .3s ease;
}

.service-index-card:hover,
.service-index-card:focus-visible,
.service-index-card.is-active{
    z-index:1;
    background:#171717;
    color:#fff;
    outline:none;
    box-shadow:0 14px 32px rgba(0,0,0,.12);
}

.service-index-card:hover::after,
.service-index-card:focus-visible::after,
.service-index-card.is-active::after{
    right:0;
}

.service-index-card__top{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
}

.service-index-card__number{
    color:#c68b2a;
    font-family:"Roboto Slab",serif;
    font-size:34px;
    line-height:1;
    font-weight:600;
    letter-spacing:.02em;
}

.service-index-card__top > i{
    color:#c68b2a;
    font-size:25px;
}

.service-index-card strong{
    display:block;
    margin:0 0 9px;
    color:inherit;
    font-size:18px;
    line-height:1.45;
    font-weight:800;
}

.service-index-card > span:not(.service-index-card__top){
    display:block;
    color:#6c7280;
    font-size:13px;
    line-height:1.75;
    font-weight:500;
}

.service-index-card:hover > span:not(.service-index-card__top),
.service-index-card:focus-visible > span:not(.service-index-card__top),
.service-index-card.is-active > span:not(.service-index-card__top){
    color:#d7d7d7;
}

.service-index-card em{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    margin-top:auto;
    padding-top:18px;
    color:#b7852d;
    font-size:10px;
    font-style:normal;
    font-weight:800;
    letter-spacing:.13em;
}

.service-index-card em i{
    transition:transform .2s ease;
}

.service-index-card:hover em i,
.service-index-card:focus-visible em i,
.service-index-card.is-active em i{
    transform:translateX(4px);
}

.service-detail-stage{
    position:relative;
    min-height:560px;
    border-top:1px solid #d9d5cc;
}

.service-detail-panel{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    align-items:stretch;
    min-height:560px;
    background:#fff;
}

.service-detail-panel[hidden]{
    display:none !important;
}

.service-detail-panel.is-active{
    animation:syncaServiceFade .35s ease both;
}

@keyframes syncaServiceFade{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}

.service-detail-panel__copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:62px 68px 62px 16px;
}

.service-detail-panel__index{
    margin:0 0 24px !important;
    color:#8a8173 !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.18em;
}

.service-detail-panel__index b{
    color:#c68b2a;
    font-family:"Roboto Slab",serif;
    font-size:22px;
    margin-left:8px;
}

.service-detail-panel__copy h3{
    margin:0 0 13px;
    color:#171a24;
    font-size:clamp(28px,3vw,42px);
    line-height:1.25;
    font-weight:800;
    letter-spacing:.01em;
}

.service-detail-panel__copy h4{
    margin:0 0 25px;
    color:#222735;
    font-size:clamp(19px,1.8vw,27px);
    line-height:1.55;
    font-weight:750;
}

.service-detail-panel__copy > p:not(.service-detail-panel__index){
    margin:0 0 17px;
    color:#505763;
    font-size:15.5px;
    line-height:2;
    font-weight:450;
}

.service-detail-panel__visual{
    position:relative;
    min-height:560px;
    margin:0;
    overflow:hidden;
    background:#121212;
}

.service-detail-panel__visual::before{
    content:"";
    position:absolute;
    z-index:1;
    left:0;
    top:0;
    bottom:0;
    width:120px;
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.76) 25%,rgba(255,255,255,0) 100%);
    pointer-events:none;
}

.service-detail-panel__visual img{
    width:100%;
    height:100%;
    min-height:560px;
    display:block;
    object-fit:cover;
}

@media (max-width:1199.98px){
    .service-index-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .service-index-card{
        min-height:190px;
    }

    .service-detail-panel{
        grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
    }

    .service-detail-panel__copy{
        padding:52px 44px 52px 10px;
    }
}

@media (max-width:767.98px){
    .synca-services-showcase{
        padding:66px 0 74px;
    }

    .synca-services-heading{
        margin-bottom:32px;
    }

    .synca-services-heading h2{
        font-size:34px;
    }

    .synca-services-heading > p:last-child{
        font-size:15px;
    }

    .service-index-grid{
        grid-template-columns:1fr 1fr;
        margin-bottom:34px;
    }

    .service-index-card{
        min-height:165px;
        padding:18px 16px;
    }

    .service-index-card__number{
        font-size:26px;
    }

    .service-index-card__top > i{
        font-size:20px;
    }

    .service-index-card strong{
        font-size:15px;
    }

    .service-index-card > span:not(.service-index-card__top){
        font-size:11px;
        line-height:1.55;
    }

    .service-index-card em{
        font-size:8px;
        padding-top:12px;
    }

    .service-detail-stage,
    .service-detail-panel{
        min-height:0;
    }

    .service-detail-panel{
        grid-template-columns:1fr;
    }

    .service-detail-panel__visual{
        grid-row:1;
        min-height:280px;
    }

    .service-detail-panel__visual::before{
        display:none;
    }

    .service-detail-panel__visual img{
        min-height:280px;
        height:280px;
    }

    .service-detail-panel__copy{
        grid-row:2;
        padding:34px 4px 8px;
    }

    .service-detail-panel__copy h3{
        font-size:28px;
    }

    .service-detail-panel__copy h4{
        font-size:19px;
    }

    .service-detail-panel__copy > p:not(.service-detail-panel__index){
        font-size:14px;
        line-height:1.9;
    }
}

@media (max-width:479.98px){
    .service-index-grid{
        grid-template-columns:1fr;
    }

    .service-index-card{
        min-height:145px;
    }
}
/* =========================================================
   SYNCAに込めた5つの想い
   WHITE VERSION
========================================================= */

.synca-values-section{
    background:#fff !important;
    color:#151515;
}

/* 背景グリッドが入っている場合は消す */
.synca-values-section::before{
    display:none !important;
}

/* 英字ラベル */
.synca-values-section .synca-section-en{
    color:#b8863b;
}

/* メインタイトル */
.synca-values-section .synca-section-title{
    color:#171b27;
}

/* 各項目 */
.synca-value-item{
    border-top:1px solid #dedede;
}

.synca-value-item:last-child{
    border-bottom:1px solid #dedede;
}

/* S / Y / N / C / A */
.synca-value-letter{
    color:#e47c13;
    border-color:#e47c13;
    background:#fff;
}

/* 英語タイトル */
.synca-value-title{
    color:#151515;
}

/* 日本語補足 */
.synca-value-jp{
    color:#6e5b43;
}

/* キャッチ */
.synca-value-copy{
    color:#202020;
}

/* 本文 */
.synca-value-text{
    color:#666;
}

/* hover */
.synca-value-item:hover .synca-value-letter{
    background:#e47c13;
    color:#fff;
}

/* hover時も本文色を維持 */
.synca-value-item:hover .synca-value-title{
    color:#151515;
}

.synca-value-item:hover .synca-value-copy{
    color:#202020;
}

.synca-value-item:hover .synca-value-text{
    color:#555;
}
/* =========================================================
   SYNCAに込めた5つの想い
   WHITE VERSION / TEXT COLOR FIX
   ※ style.css の一番最後に追加
========================================================= */

.synca-values-section{
    background:#fff !important;
    color:#171b27 !important;
}

/* 黒背景用の装飾・グリッドを無効化 */
.synca-values-section::before{
    display:none !important;
}

/* -----------------------------------------
   SECTION HEADER
----------------------------------------- */

/* OUR CORE COMPETENCE */
.synca-values-section .synca-section-en{
    color:#d97720 !important;
}

/* SYNCAに込めた5つの想い */
.synca-values-section .synca-section-title{
    color:#171b27 !important;
    opacity:1 !important;
}

/* -----------------------------------------
   VALUE ROW
----------------------------------------- */

.synca-values-section .synca-value-item{
    border-top:1px solid rgba(217,119,32,.42) !important;
    color:#171717 !important;
}

.synca-values-section .synca-value-item:last-child{
    border-bottom:1px solid rgba(217,119,32,.42) !important;
}

/* S / Y / N / C / A */
.synca-values-section .synca-value-letter{
    color:#df741d !important;
    background:#fff !important;
    border:1px solid #df741d !important;
    opacity:1 !important;
}

/* Synergy / Yearning / Navigate ... */
.synca-values-section .synca-value-title{
    color:#171717 !important;
    opacity:1 !important;
    font-weight:700;
}

/* （シナジー：相乗効果）など */
.synca-values-section .synca-value-jp{
    color:#d36d1d !important;
    opacity:1 !important;
    font-weight:600;
}

/* 「つながることで、本質は〜」 */
.synca-values-section .synca-value-copy{
    color:#171717 !important;
    opacity:1 !important;
    font-weight:700;
}

/* 本文 */
.synca-values-section .synca-value-text{
    color:#333 !important;
    opacity:1 !important;
}

/* 念のため内部pにも黒系を強制 */
.synca-values-section .synca-value-item p{
    color:#333 !important;
    opacity:1 !important;
}

/* -----------------------------------------
   HOVER
----------------------------------------- */

.synca-values-section .synca-value-item:hover{
    color:#171717 !important;
}

.synca-values-section .synca-value-item:hover .synca-value-letter{
    background:#df741d !important;
    color:#fff !important;
    border-color:#df741d !important;
}

.synca-values-section .synca-value-item:hover .synca-value-title{
    color:#171717 !important;
}

.synca-values-section .synca-value-item:hover .synca-value-jp{
    color:#d36d1d !important;
}

.synca-values-section .synca-value-item:hover .synca-value-copy{
    color:#171717 !important;
}

.synca-values-section .synca-value-item:hover .synca-value-text,
.synca-values-section .synca-value-item:hover p{
    color:#333 !important;
}

/* =========================================================
   FIX 2026-08-18
   SYNCAに込めた5つの想い
   WHITE VERSION / ACTUAL CLASS SELECTORS
   ========================================================= */

.synca-values-section{
    background:#fff !important;
    color:#171717 !important;
}

.synca-values-section::before{
    display:none !important;
}

/* OUR CORE COMPETENCE */
.synca-values-section .section-title{
    color:#d97720 !important;
    opacity:1 !important;
}

.synca-values-section .section-title::before{
    background:#d97720 !important;
}

/* SYNCAに込めた5つの想い */
.synca-values-section .display-5{
    color:#171b27 !important;
    opacity:1 !important;
}

/* 一覧全体 */
.synca-values-section .synca-values-list{
    border-top:1px solid rgba(217,119,32,.38) !important;
}

/* 各行 */
.synca-values-section .synca-value-row{
    color:#171717 !important;
    border-bottom:1px solid rgba(217,119,32,.30) !important;
    background:transparent !important;
}

/* 左の S / Y / N / C / A */
.synca-values-section .synca-value-letter{
    color:#df741d !important;
    background:#fff !important;
    border-color:#df741d !important;
    opacity:1 !important;
}

/* Synergy / Yearning ... */
.synca-values-section .synca-value-content h3{
    color:#171717 !important;
    opacity:1 !important;
}

/* （シナジー：相乗効果）など */
.synca-values-section .synca-value-content h3 small{
    color:#c86b22 !important;
    opacity:1 !important;
}

/* 「つながることで〜」 */
.synca-values-section .synca-value-content .synca-value-message{
    color:#171717 !important;
    opacity:1 !important;
}

/* 本文 */
.synca-values-section .synca-value-content p:not(.synca-value-message){
    color:#555 !important;
    opacity:1 !important;
}

/* hover */
.synca-values-section .synca-value-row:hover{
    background:linear-gradient(
        90deg,
        rgba(224,122,43,.055),
        rgba(224,122,43,.012)
    ) !important;
}

.synca-values-section .synca-value-row:hover .synca-value-letter{
    background:#df741d !important;
    color:#fff !important;
}

.synca-values-section .synca-value-row:hover .synca-value-content h3{
    color:#171717 !important;
}

.synca-values-section .synca-value-row:hover .synca-value-content h3 small{
    color:#c86b22 !important;
}

.synca-values-section .synca-value-row:hover .synca-value-content .synca-value-message{
    color:#171717 !important;
}

.synca-values-section .synca-value-row:hover .synca-value-content p:not(.synca-value-message){
    color:#555 !important;
}


/* =========================================================
   FINAL SECTION HEADING UNIFICATION / GOLD BRAND COLOR
   2026-08-18
   ========================================================= */
:root{
    --synca-brand-gold:#d4af37;
    --synca-brand-gold-soft:#c9aa67;
    --synca-title-dark:#171b27;
}

/* -------------------------
   共通：セクション見出し
------------------------- */
.synca-values-section .text-center,
.plans__header,
.synca-services-heading,
.synca-approach-heading,
.synca-faq-heading,
.synca-company-heading,
.synca-contact-heading{
    width:100%;
    max-width:1000px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

/* メイン見出しは全セクション同寸法 */
.synca-values-section .display-5,
.plans__title,
.synca-services-heading h2,
.synca-approach-heading h2,
.synca-faq-heading h2,
.synca-company-heading h2,
.synca-contact-heading h2{
    margin:0 0 22px !important;
    font-family:var(--synca-font-jp) !important;
    font-size:clamp(38px,4vw,52px) !important;
    line-height:1.28 !important;
    font-weight:700 !important;
    letter-spacing:.025em !important;
}

/* サブタイトル（■ 英字）も共通化 */
.synca-values-section .section-title,
.plans__eyebrow,
.synca-services-kicker,
.synca-approach-kicker,
.synca-faq-kicker,
.synca-company-kicker,
.synca-contact-kicker{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:100%;
    margin:0 0 16px !important;
    padding:0 !important;
    font-family:var(--synca-font-en) !important;
    font-size:12px !important;
    line-height:1.4 !important;
    font-weight:600 !important;
    letter-spacing:.22em !important;
    text-align:center !important;
}

/* サブタイトルの■ */
.synca-values-section .section-title::before,
.plans__eyebrow-mark,
.synca-services-kicker span,
.synca-approach-kicker span,
.synca-faq-kicker span,
.synca-company-kicker span,
.synca-contact-kicker span{
    content:"";
    position:static !important;
    display:inline-block !important;
    width:8px !important;
    height:8px !important;
    flex:0 0 8px !important;
    margin:0 !important;
    transform:none !important;
    background:var(--synca-brand-gold) !important;
    border-radius:0 !important;
}

/* -------------------------
   白背景セクション
------------------------- */
.synca-values-section .section-title,
.synca-services-kicker,
.synca-faq-kicker,
.synca-contact-kicker{
    color:#a9852d !important;
}

.synca-values-section .display-5,
.synca-services-heading h2,
.synca-faq-heading h2,
.synca-contact-heading h2{
    color:var(--synca-title-dark) !important;
}

/* -------------------------
   黒背景セクション
------------------------- */
.plans__eyebrow,
.synca-approach-kicker,
.synca-company-kicker{
    color:#d7c28c !important;
}

.plans__title,
.synca-approach-heading h2,
.synca-company-heading h2{
    color:var(--synca-brand-gold) !important;
}

/* -------------------------
   SYNCA 5 VALUES：オレンジ→ゴールド
------------------------- */
.synca-values-section .synca-values-list{
    border-top-color:rgba(212,175,55,.42) !important;
}

.synca-values-section .synca-value-row{
    border-bottom-color:rgba(212,175,55,.34) !important;
}

.synca-values-section .synca-value-row::after{
    background:var(--synca-brand-gold) !important;
}

.synca-values-section .synca-value-letter{
    color:var(--synca-brand-gold) !important;
    border-color:var(--synca-brand-gold) !important;
    background:#fff !important;
}

.synca-values-section .synca-value-content h3 small{
    color:#a9852d !important;
}

.synca-values-section .synca-value-row:hover{
    background:linear-gradient(90deg,rgba(212,175,55,.07),rgba(212,175,55,.012)) !important;
    border-color:rgba(212,175,55,.60) !important;
}

.synca-values-section .synca-value-row:hover .synca-value-letter{
    background:var(--synca-brand-gold) !important;
    color:#fff !important;
}

.synca-values-section .synca-value-row:hover .synca-value-content h3 small{
    color:#a9852d !important;
}

/* -------------------------
   SERVICE PLANS：オレンジ→ゴールド
------------------------- */
.plans__eyebrow-mark{
    background:var(--synca-brand-gold) !important;
}

.plans__title{
    color:var(--synca-brand-gold) !important;
}

.plan-card{
    border-color:var(--synca-brand-gold) !important;
}

.plan-card__footer{
    border-top-color:var(--synca-brand-gold) !important;
}

.plan-card__cta{
    border-color:var(--synca-brand-gold) !important;
    background:var(--synca-brand-gold-soft) !important;
}

.plan-card__cta:hover{
    background:var(--synca-brand-gold) !important;
}

/* -------------------------
   見出し周辺の説明文もセンターへ
------------------------- */
.synca-services-heading > p:last-child,
.synca-approach-heading > p:last-child,
.synca-faq-heading > p:last-child,
.synca-contact-heading > p:last-child{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

.synca-company-name{
    text-align:center !important;
}

/* mobile */
@media(max-width:767.98px){
    .synca-values-section .display-5,
    .plans__title,
    .synca-services-heading h2,
    .synca-approach-heading h2,
    .synca-faq-heading h2,
    .synca-company-heading h2,
    .synca-contact-heading h2{
        font-size:34px !important;
        line-height:1.35 !important;
    }

    .synca-values-section .text-center,
    .plans__header,
    .synca-services-heading,
    .synca-approach-heading,
    .synca-faq-heading,
    .synca-company-heading,
    .synca-contact-heading{
        text-align:center !important;
    }
}
/* =========================================================
   主な提供サービス
   詳細パネルのみデザイン変更
   2026-08-18
========================================================= */

.service-detail-stage{
    min-height:0;
    border-top:1px solid #d8d1c6;
    background:#fff;
}

.service-detail-panel{
    display:block;
    min-height:0;
    background:#fff;
    border-bottom:1px solid #d8d1c6;
}

.service-detail-panel.is-active{
    animation:syncaServiceFade .35s ease both;
}


/* =========================
   上部：黒いビジュアルエリア
========================= */

.service-detail-panel__hero{
    display:grid;
    grid-template-columns:minmax(0, .92fr) minmax(420px, 1.08fr);
    min-height:285px;
    overflow:hidden;
    background:#080808;
}

.service-detail-panel__hero-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:36px 52px 38px 42px;

    background:
        radial-gradient(
            circle at 94% 18%,
            rgba(212,175,55,.15),
            transparent 34%
        ),
        linear-gradient(
            110deg,
            #050505 0%,
            #0d0d0d 72%,
            #171109 100%
        );
}


/* 右側画像へ自然につながるグラデーション */
.service-detail-panel__hero-copy::after{
    content:"";
    position:absolute;
    top:0;
    right:-78px;
    width:160px;
    height:100%;
    z-index:-1;

    background:linear-gradient(
        90deg,
        rgba(13,13,13,1) 0%,
        rgba(13,13,13,.76) 35%,
        rgba(13,13,13,0) 100%
    );

    pointer-events:none;
}


/* SERVICE INDEX */
.service-detail-panel__index{
    margin:0 0 15px !important;
    color:#eee7dc !important;
    font-family:"Montserrat",sans-serif;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.24em;
}

.service-detail-panel__index b{
    color:#d69a24;
    font-family:"Roboto Slab",serif;
    font-size:20px;
    margin-left:8px;
}


/* サービス名 */
.service-detail-panel__hero-copy h3{
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(30px,3.2vw,44px);
    line-height:1.22;
    font-weight:800;
    letter-spacing:.015em;
}


/* キャッチコピー */
.service-detail-panel__hero-copy h4{
    max-width:560px;
    margin:0;
    color:#d7a13a;
    font-size:clamp(16px,1.55vw,21px);
    line-height:1.7;
    font-weight:700;
}


/* =========================
   右側画像
========================= */

.service-detail-panel__visual{
    position:relative;
    min-height:285px;
    margin:0;
    overflow:hidden;
    background:#121212;
}

.service-detail-panel__visual::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;

    background:linear-gradient(
        90deg,
        rgba(7,7,7,.96) 0%,
        rgba(7,7,7,.34) 18%,
        rgba(7,7,7,.02) 48%,
        rgba(7,7,7,.18) 100%
    );

    pointer-events:none;
}

.service-detail-panel__visual::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;

    border-left:1px solid rgba(212,175,55,.16);
    box-shadow:inset 0 0 65px rgba(0,0,0,.24);

    pointer-events:none;
}

.service-detail-panel__visual img{
    width:100%;
    height:100%;
    min-height:285px;
    display:block;
    object-fit:cover;
    object-position:center;

    filter:
        saturate(.9)
        contrast(1.03)
        brightness(.88);
}


/* =========================
   下部：説明エリア
========================= */

.service-detail-panel__body{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:42px;
    align-items:center;

    padding:30px 42px 32px;

    background:linear-gradient(
        180deg,
        #fff 0%,
        #fbfaf7 100%
    );
}

.service-detail-panel__body-copy{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
    min-width:0;
}

.service-detail-panel__body-copy p{
    position:relative;
    margin:0;
    padding-left:16px;

    color:#4f5664;
    font-size:13.5px;
    line-height:1.95;
    font-weight:500;
}


/* 説明文左のゴールドポイント */
.service-detail-panel__body-copy p::before{
    content:"";
    position:absolute;
    left:0;
    top:.7em;

    width:6px;
    height:6px;

    background:#d39a2f;
}


/* =========================
   お問い合わせボタン
========================= */

.service-detail-panel__cta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;

    min-height:52px;
    padding:12px 18px;

    border:1px solid #c8942d;
    background:#fff;

    color:#33291b;
    font-size:13px;
    font-weight:700;
    text-decoration:none;

    transition:.25s ease;
}

.service-detail-panel__cta .fa-arrow-right{
    margin-left:auto;
    color:#c8942d;
    transition:transform .25s ease;
}

.service-detail-panel__cta:hover{
    background:#111;
    border-color:#111;
    color:#fff;
}

.service-detail-panel__cta:hover .fa-arrow-right{
    transform:translateX(4px);
}


/* =========================
   Tablet
========================= */

@media (max-width:1199.98px){

    .service-detail-panel__hero{
        grid-template-columns:
            minmax(0,.95fr)
            minmax(360px,1.05fr);
    }

    .service-detail-panel__hero-copy{
        padding:32px 38px;
    }

    .service-detail-panel__body{
        grid-template-columns:1fr 270px;
        gap:28px;
        padding:28px 32px 30px;
    }
}


/* =========================
   Smartphone
========================= */

@media (max-width:767.98px){

    .service-detail-panel__hero{
        grid-template-columns:1fr;
        min-height:0;
    }

    .service-detail-panel__hero-copy{
        min-height:220px;
        padding:30px 24px 32px;
    }

    .service-detail-panel__hero-copy::after{
        display:none;
    }

    .service-detail-panel__visual{
        min-height:230px;
    }

    .service-detail-panel__visual::before{
        background:linear-gradient(
            180deg,
            rgba(7,7,7,.55) 0%,
            rgba(7,7,7,.08) 42%,
            rgba(7,7,7,.10) 100%
        );
    }

    .service-detail-panel__visual img{
        min-height:230px;
        height:230px;
    }

    .service-detail-panel__body{
        grid-template-columns:1fr;
        gap:22px;
        padding:26px 20px 28px;
    }

    .service-detail-panel__body-copy{
        grid-template-columns:1fr;
        gap:14px;
    }

    .service-detail-panel__body-copy p{
        font-size:13px;
        line-height:1.85;
    }

    .service-detail-panel__cta{
        width:100%;
    }
}
/* =========================================================
   PRアプローチ 3カード
   画像位置・高さ統一
========================================================= */

.synca-approach-visual{
    width:100%;
    height:255px;
    aspect-ratio:auto;
    margin:0;
    overflow:hidden;
    background:#111;
}

.synca-approach-visual img{
    width:100%;
    height:100%;
    display:block;

    /* 3枚すべて同じ枠いっぱいに表示 */
    object-fit:cover;

    /* 基準位置を中央に統一 */
    object-position:center center;

    transition:transform .55s ease, filter .55s ease;
}


/* 個別画像の構図を微調整 */

/* 01 社会課題連動型PR */
.synca-approach-card:nth-child(1) .synca-approach-visual img{
    object-position:center center;
}

/* 02 認知拡大型PR */
.synca-approach-card:nth-child(2) .synca-approach-visual img{
    object-position:center 48%;
}

/* 03 話題創出型PR */
.synca-approach-card:nth-child(3) .synca-approach-visual img{
    object-position:center 50%;
}


/* タブレット */
@media (max-width:991.98px){

    .synca-approach-visual{
        height:320px;
    }
}


/* スマホ */
@media (max-width:767.98px){

    .synca-approach-visual{
        height:220px;
    }
}
/* =========================================================
   SYNCA FOOTER
   PC表示の横幅・余白調整
========================================================= */

@media (min-width: 992px){

    /* フッター全体の有効幅を少し広げる */
    .footer > .container{
        max-width: 1320px;
    }

    /* Bootstrapの3カラム指定を上書き */
    .footer .row{
        display:grid;
        grid-template-columns:
            minmax(360px, 1.35fr)
            minmax(220px, .85fr)
            minmax(220px, .85fr);
        column-gap:70px;
        align-items:start;
    }

    /* col-lg-3 の25%固定を解除 */
    .footer .row > .col-lg-3{
        width:100%;
        max-width:none;
        flex:none;
    }

    /* 会社情報は折り返しにくくする */
    .footer .row > .col-lg-3:first-child{
        min-width:360px;
    }

    .footer .row > .col-lg-3:first-child p{
        white-space:nowrap;
    }

    /* CONTENTSの文字も余裕を持たせる */
    .footer .btn.btn-link{
        white-space:nowrap;
        line-height:1.7;
    }
}
/* ==========================================================
   2026-09-07 SYNCA TOP PAGE REVISION
   1) Hero navy overlay
   2) Header layout per client PDF
   3) In-page anchor navigation
   4) Main service detail = click-fixed + close button
   ========================================================== */

html{
    scroll-behavior:smooth;
}

#values,
#press-release-pack,
#koho-support,
#koho-partner,
#service-list,
#approach,
#approach-social,
#approach-awareness,
#approach-buzz,
#faq,
#company,
#contact,
#privacy-policy-link{
    scroll-margin-top:28px;
}

/* ① Hero: black veil -> navy veil */
.synca-hero::before{
    background:linear-gradient(
        90deg,
        rgba(7,26,52,.82) 0%,
        rgba(9,34,66,.72) 38%,
        rgba(13,45,80,.58) 70%,
        rgba(7,29,59,.66) 100%
    );
}

/* ④ Header top row: address removed, company name moved here */
.synca-topbar{
    background:#000;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.synca-topbar-row{
    min-height:52px;
}
.synca-topbar-company,
.synca-topbar-phone{
    display:inline-flex;
    align-items:center;
    color:#fff;
    text-decoration:none;
    line-height:1;
}
.synca-topbar-company{
    font-size:17px;
    font-weight:700;
    letter-spacing:.01em;
}
.synca-topbar-phone{
    gap:5px;
    color:#cdb77f;
    font-size:13px;
    font-weight:500;
}
.synca-topbar-company:hover{
    color:#fff;
}
.synca-topbar-phone:hover{
    color:#D4AF37;
}

.synca-navbar-wrap{
    border-bottom:1px solid rgba(255,255,255,.06);
}
.synca-navbar-wrap .navbar{
    min-height:58px;
}
.synca-main-nav{
    align-items:center;
    justify-content:space-between;
}
.synca-main-nav .nav-link{
    margin:0 !important;
    padding:20px 7px !important;
    white-space:nowrap;
    font-size:12px !important;
    line-height:1.25;
}
.synca-main-nav .dropdown-menu .dropdown-item{
    font-size:12px;
}

/* ② Service details: click-fixed + close */
.synca-services-compact .service-detail-panel{
    position:relative;
}
.synca-services-compact .service-detail-close{
    position:absolute;
    z-index:8;
    top:14px;
    right:16px;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid rgba(212,175,55,.75);
    border-radius:50%;
    background:rgba(0,0,0,.58);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
    transition:.2s ease;
}
.synca-services-compact .service-detail-close:hover,
.synca-services-compact .service-detail-close:focus-visible{
    background:#D4AF37;
    color:#111;
    outline:none;
}

@media (max-width:1199.98px){
    .synca-main-nav .nav-link{
        padding-left:5px !important;
        padding-right:5px !important;
        font-size:11px !important;
    }
}

@media (max-width:991.98px){
    .synca-topbar-row{
        min-height:48px;
    }
    .synca-topbar-company{
        font-size:15px;
    }
    .synca-topbar-phone{
        font-size:12px;
    }
    .synca-navbar-wrap .navbar{
        min-height:48px;
        padding:7px 0 !important;
    }
    .synca-main-nav{
        align-items:stretch;
        padding:8px 0 12px;
    }
    .synca-main-nav .nav-link{
        padding:10px 0 !important;
        font-size:13px !important;
        white-space:normal;
    }
    .synca-main-nav .dropdown-menu{
        margin:0 0 7px !important;
    }
}

@media (max-width:575.98px){
    .synca-topbar-company{
        font-size:14px;
    }
    .synca-topbar-phone{
        font-size:11px;
    }
    .synca-services-compact .service-detail-close{
        top:10px;
        right:10px;
        width:32px;
        height:32px;
        font-size:22px;
    }
}


/* =========================================================
   2026-09-07 HEADING DESCRIPTION ALIGNMENT PATCH
========================================================= */
/* FAQ / お問い合わせ：タイトル直下の説明文を左寄せ */
.synca-faq-heading > p:last-child,
.synca-contact-heading > p:last-child{
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}


/* =========================================================
   2026-09-07 SECTION LEFT ALIGN + FAQ ONE-LINE PATCH
========================================================= */
/* 主な提供サービス：見出し一式をコンテンツ左端に揃える */
.synca-services-compact .synca-services-heading,
.synca-services-heading{
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}
.synca-services-compact .synca-services-kicker,
.synca-services-kicker{
    justify-content:flex-start !important;
    text-align:left !important;
}
.synca-services-heading h2,
.synca-services-heading > p:last-child{
    text-align:left !important;
}

/* よくあるご質問：説明文を左寄せ + PCでは1行表示 */
.synca-faq-heading{
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}
.synca-faq-kicker{
    justify-content:flex-start !important;
    text-align:left !important;
}
.synca-faq-heading > p:last-child{
    max-width:none !important;
    width:100% !important;
    white-space:nowrap !important;
    text-align:left !important;
}

/* お問い合わせ：説明文をコンテンツ左端に揃える */
.synca-contact-heading{
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}
.synca-contact-kicker{
    justify-content:flex-start !important;
    text-align:left !important;
}
.synca-contact-heading > p:last-child{
    max-width:none !important;
    text-align:left !important;
}

/* 地図下の案内文：container の左端から書き出す */
.container-fluid.bg-secondary .container > .row > .col-12.text-start > p.display-7{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}

/* 狭い画面では自然に折り返す */
@media (max-width:1199.98px){
    .synca-faq-heading > p:last-child{
        white-space:normal !important;
    }
}

/* =========================================================
   2026-09-07 FINAL HEADING / SUBCOPY ALIGNMENT PATCH
   見出し：中央 / サブコピー：左
========================================================= */

/* 01 主な提供サービス：OUR SERVICES + H2 は中央、サブコピーは左 */
.synca-services-compact .synca-services-heading,
.synca-services-heading{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
}
.synca-services-compact .synca-services-kicker,
.synca-services-kicker{
    justify-content:center !important;
    text-align:center !important;
}
.synca-services-heading h2{
    text-align:center !important;
}
.synca-services-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}

/* 02 PRアプローチ：見出しは中央のまま、説明文だけ左 */
.synca-approach-heading{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
}
.synca-approach-kicker{
    justify-content:center !important;
    text-align:center !important;
}
.synca-approach-heading h2{
    text-align:center !important;
}
.synca-approach-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}

/* 03 FAQ：FAQ + H2 は中央、説明文は左。PCでは1行 */
.synca-faq-heading{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
}
.synca-faq-kicker{
    justify-content:center !important;
    text-align:center !important;
}
.synca-faq-heading h2{
    text-align:center !important;
}
.synca-faq-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    white-space:nowrap !important;
}

/* 04 お問い合わせ：INQUIRIES + H2 は中央、説明文は左 */
.synca-contact-heading{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
}
.synca-contact-kicker{
    justify-content:center !important;
    text-align:center !important;
}
.synca-contact-heading h2{
    text-align:center !important;
}
.synca-contact-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}

/* タブレット以下：FAQ説明文は自然に折り返す */
@media (max-width:1199.98px){
    .synca-faq-heading > p:last-child{
        white-space:normal !important;
    }
}

/* =========================================================
   2026-09-08 TOP追加修正
========================================================= */

/* サービスプラン内サービス名リンク */
.plan-card__tag[data-service-target]{
    cursor:pointer;
}

/* 問い合わせフォーム：個人情報保護方針 */
.synca-privacy-consent{
    margin-top:6px;
}
.synca-required{
    color:#c62828;
    font-size:.9em;
    font-weight:700;
}
.synca-privacy-frame-wrap{
    margin-top:10px;
    border:1px solid #d7d1c5;
    background:#f8f7f4;
    padding:10px;
}
.synca-privacy-frame{
    display:block;
    width:100%;
    height:250px;
    border:0;
    background:#fff;
}
.synca-privacy-check{
    display:flex;
    align-items:center;
    gap:10px;
    margin:12px 0 0;
    color:#303542;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
}
.synca-privacy-check input{
    width:20px;
    height:20px;
    flex:0 0 20px;
    accent-color:#d4af37;
}
.synca-privacy-error{
    margin:7px 0 0;
    font-size:13px;
}

/* 下部「お問い合わせ」もフォームへのアンカーリンクとしてボタン表示 */
a.synca-contact-submit.synca-contact-jump{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

/* アンカー到達位置にヘッダー分の余白 */
#contact,
.service-detail-panel{
    scroll-margin-top:96px;
}

@media (max-width:767.98px){
    .synca-privacy-frame{height:220px;}
    .synca-privacy-frame-wrap{padding:6px;}
}


/* =========================================================
   2026-09-08 FOLLOW-UP ALIGNMENT FIX
   1) サービス詳細CTAボタン本体を黒帯の中央へ
   2) PRアプローチ / FAQ / お問い合わせの説明文を中央へ
========================================================= */

/* PRアプローチ：タイトル下ボディコピーを中央揃え */
.synca-approach-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

/* FAQ：タイトル下ボディコピーを中央揃え */
.synca-faq-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

/* お問い合わせ：タイトル下ボディコピーを中央揃え */
.synca-contact-heading > p:last-child{
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}


/* 2026-09-08 LOCAL PRIVACY PAGE LINK */
.synca-privacy-open{margin:7px 0 0 30px;font-size:12px;line-height:1.5;}
.synca-privacy-open a{color:#9b7014;text-decoration:underline;text-underline-offset:2px;}


/* =========================================================
   2026-09-08 PRIVACY POLICY MODAL
========================================================= */
.synca-privacy-modal .modal-dialog{max-width:min(1180px,calc(100% - 32px));}
.synca-privacy-modal .modal-content{border:0;border-radius:0;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28);}
.synca-privacy-modal .modal-header{padding:14px 18px;border-bottom:1px solid #ded9cf;background:#0d0d0d;color:#fff;}
.synca-privacy-modal .modal-title{font-size:16px;font-weight:700;color:#fff;}
.synca-privacy-modal .btn-close{filter:invert(1) grayscale(1) brightness(2);opacity:.9;}
.synca-privacy-modal .modal-body{height:min(82vh,880px);padding:0;overflow:hidden;}
.synca-privacy-modal-frame{display:block;width:100%;height:100%;border:0;background:#fff;}
@media(max-width:767.98px){
  .synca-privacy-modal .modal-dialog{max-width:calc(100% - 16px);margin:8px auto;}
  .synca-privacy-modal .modal-body{height:86vh;}
}
