@charset "UTF-8";

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    padding:0;
    color:#333;
    font-family:'Noto Sans JP',sans-serif;
}

a{
    text-decoration:none;
    color:inherit;
    transition:.3s;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Noto Sans JP',sans-serif;
    color:#333;
    line-height:1.8;
}


header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:100;
    background:transparent;
    border:none;
}

header::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.95) 0%,
        rgba(255,255,255,.55) 60%,
        rgba(255,255,255,0) 100%
    );

    z-index:-1;
}

header .inner{
    max-width:1400px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding: 10px 10px 20px;
    margin: auto;
}

.logo span{
    display:block;
    font-size:12px;
    letter-spacing:4px;
    color:#7c8799;
    margin-left: 20px;
    margin-top: -6px;
}

.logo h1{
    color:#0A2342;
    font-size:2rem;
    font-weight:700;
}

nav ul{
    display:flex;
    align-items:center;
    list-style:none;
}

nav li{
    position:relative;
    padding:0 20px;
}

nav li:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
    width:1px;
    height:14px;
    background:rgba(10,35,66,.2);
}

nav a{
    color:#0A2342;
    font-weight:bold;
}

/* ========================================
   HAMBURGER
======================================== */

.hamburger{
    display:none;
    width:40px;
    height:40px;
    background:none;
    border:none;
    cursor:pointer;
    position:relative;
    z-index:1001;
}

.hamburger span{
    display:block;
    width:28px;
    height:2px;
    background:#0A2342;
    position:absolute;
    left:6px;
    transition:.3s;
}

.hamburger span:nth-child(1){
    top:12px;
}

.hamburger span:nth-child(2){
    top:19px;
}

.hamburger span:nth-child(3){
    top:26px;
}

/* OPEN */

.hamburger.active span:nth-child(1){
    transform:rotate(45deg);
    top:19px;
}

.hamburger.active span:nth-child(2){
    opacity:0;
}

.hamburger.active span:nth-child(3){
    transform:rotate(-45deg);
    top:19px;
}

/* ========================================
   MOBILE
======================================== */

@media(max-width:768px){

    .logo h1{
    font-size:1.2rem;
    }
    .logo span{
        font-size:10px;
        letter-spacing:4px;
        margin-left: 10px;
    }

    .hamburger{
        display:block;
    }

    .nav{
        position:fixed;
        top:0;
        right:-100%;
        width:100%;
        height:100vh;
        background:#0A2342;
        transition:.4s;
        display:flex;
        justify-content:center;
        align-items:center;
        z-index:1000;
    }

    .hamburger.active span{
        background:#fff;
    }

    .nav.active{
        right:0;
    }

    .nav ul{
        flex-direction:column;
        gap:35px;
        text-align:center;
    }

    .nav a{
        color:#fff;
        font-size:1.1rem;
        letter-spacing:.1em;
    }

    .nav a:hover{
        color:#C9A64B;
    }
}


.fv{
    position:relative;
}

.fv-img{
    width:100%;
    height:100vh;
}

.fv-img img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.pc-fv{
    display:block;
}

.sp-fv{
    display:none;
}

@media(max-width:768px){

    .pc-fv{
        display:none;
    }

    .sp-fv{
        display:block;
    }

}

.fv-text{
    position:absolute;
    left:8%;
    top:50%;
    transform:translateY(-50%);

    max-width:650px;

    z-index:10;

    background:linear-gradient(
        90deg,
        rgba(247,248,250,.95) 0%,
        rgba(247,248,250,.85) 60%,
        rgba(247,248,250,0) 100%
    );

    padding:60px;
}

.btn{
    display:inline-block;
    background:#0A2342;
    color:#fff;
    padding:20px 60px;
    border-radius:0;
    font-size:16px;
    font-weight:700;
    letter-spacing:.08em;
    border:2px solid #0A2342;
    margin-top: 20px;
}

.btn:hover{
    background:#fff;
    color:#0A2342;
}

.inheritance{
    background:#F3EFE7;
    border-top:1px solid #E5E7EB;
    border-bottom:1px solid #E5E7EB;
}

.inheritance .inner{
    max-width:1200px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:center; /* 中央寄せ */
    gap:50px;
    padding: 30px 0;
}

.inheritance-icon{
    width:150px;
    flex-shrink:0;
    transform:translateY(-5px);
}

.inheritance-icon img{
    width:100%;
}

.inheritance-text{
    flex:none;
}

.inheritance-text h2{
    color:#0E2A5C;
    font-size:38px;
    margin-bottom:10px;
}

.inheritance-text p{
    color:#555;
    line-height:1.8;
}

.btn-gold{
    background:#C5A15A;
    color:#fff;
    padding:20px 50px;
    border-radius:0;
    font-weight:700;
    letter-spacing:.05em;
}

.btn-gold:hover{
    background:#b08c46;
}

@media(max-width:768px){

    .inheritance{
        padding:50px 20px;
    }

    .inheritance .inner{
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:20px;
    }

    .inheritance-icon{
        width:100px;
        margin:0 auto;
        transform:none;
    }

    .inheritance-icon img{
        width:100%;
        display:block;
    }

    .inheritance-text h2{
        font-size:1.5rem;
    }

    .inheritance-text p br{
        display:none;
    }

    .inheritance-btn {
        margin-top: 20px;
    }

    .btn-gold{
        width:100%;
        max-width:320px;
        text-align:center;
        padding:20px 30px;
    }
}


@media(max-width:768px){

    .fv{
        min-height:100vh;
    }

    .fv-img{
        height:100vh;
    }

    .fv-text{
    position:absolute;
    left:20px;
    right:20px;
    bottom:40px;

    top:auto;
    transform:none;

    max-width:none;

    padding:30px;
    box-sizing:border-box;

    background:rgba(247,248,250,.8);
    backdrop-filter:blur(4px);
}

    .fv-text .sub{
        font-size:.7rem;
        margin-bottom:10px;
    }

    .fv-text h2{
        font-size:1.5rem;
        line-height:1.4;
        margin-bottom:15px;
    }

    .fv-text p{
        font-size:.9rem;
        line-height:1.8;
    }

    .btn{
        display:block;
        width:100%;
        max-width:240px;
        margin-top:30px;

        padding:16px 20px;
        text-align:center;
    }
     .btn{
        margin-left:auto;
        margin-right:auto;
    }



.inheritance .inner{
    flex-direction:column;
    text-align:center;
}

}

/* ========================================
   ABOUT
======================================== */

.about {
    padding: 10%;
}

.about h3 {
    font-size: 1.2rem;
    margin: 0 0 20px;
    text-align: center;
}


.title{
    text-align:center;
    margin-bottom:40px;
}

.title h2{
    font-size:2.2rem;
    letter-spacing:.08em;
    color:#0A2342;
    margin-bottom:10px;
}

.title p{
    font-size:1rem;
    color:#666;
}

.grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    padding:0 20px;
}

.card{
    background:#fff;
    border:1px solid #E5E7EB;
    border-radius:12px;
    padding:30px;
    transition:.3s;
    position:relative;
}

.card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    border-color:#C5A15A;
}

.card h3{
    font-size:1.2rem;
    color:#0A2342;
    margin-bottom:10px;
    position:relative;
    padding-left:14px;
}

.card h3::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:4px;
    height:18px;
    background:#C5A15A;
    border-radius:2px;
}

.card p{
    color:#666;
    line-height:1.7;
    font-size:.95rem;
}

.about-box {   
    max-width: 600px;
    margin: auto;
}

.sub{
    color:#7c8799;
    letter-spacing:3px;
    font-size:13px;
    margin-bottom:20px;
}

.worry {
    background:#f7f8fa;
}

.worry,
.service{
    padding:100px 0;
}

.grid,
.service-grid{
    width:90%;
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.card,
.service-box{
    background:#fff;
    border:none;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
    padding:40px;
    border-radius:12px;
}


.service{
    padding:100px 6%;
}

.service .title{
    text-align:center;
    margin-bottom:50px;
}

.service .title h2{
    font-size:2.2rem;
    letter-spacing:.08em;
    color:#0A2342;
    margin-bottom:10px;
}

.service .title p{
    color:#666;
    font-size:1rem;
}

.service-grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.service-box{
    background:#fff;
    padding:35px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    position:relative;
    transition:.3s;
}

.service-box:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    border-color:#C5A15A;
}

.service-box h3{
    font-size:1.2rem;
    color:#0A2342;
    margin-bottom:12px;
    position:relative;
    padding-left:14px;
}

.service-box h3::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:4px;
    height:18px;
    background:#C5A15A;
    border-radius:2px;
}

.service-box p{
    color:#555;
    line-height:1.8;
    font-size:.95rem;
}

@media(max-width:768px){

    .service{
        padding:60px 20px;
    }

    .service-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .service-box{
        padding:22px;
    }

    .service .title h2{
        font-size:1.6rem;
    }
}



.top-flow{
    padding:80px 20px;
    background:#f7f8fa;
    text-align:center;
}

.flow-mini{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    margin-top:40px;
}

.flow-mini-item{
    background:#fff;
    border:1px solid #e5e7eb;
    padding:20px;
    width:180px;
    border-radius:10px;
}

.flow-mini-item span{
    display:block;
    font-size:1.2rem;
    font-weight:700;
    color:#C5A15A;
    margin-bottom:10px;
}

.flow-mini-item p{
    font-size:.9rem;
    color:#555;
}

.cta-mini{
    padding:80px 20px;
    text-align:center;
    background:#0A2342;
    color:#fff;
}

.cta-mini h2{
    font-size:1.6rem;
    margin-bottom:10px;
}

.cta-mini p{
    opacity:.9;
    line-height:1.8;
}

.cta-note{
    margin-top:10px;
    font-size:.9rem;
    opacity:.8;
}

.cta-buttons{
    margin-top:30px;
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.cta-buttons .btn{
    display:inline-block;
    padding:16px 40px;
    font-weight:700;
    text-decoration:none;
}

.cta-buttons .phone{
    background:#C5A15A;
    color:#fff;
}

.cta-buttons .line{
    background:#06C755;
    color:#fff;
}

@media(max-width:768px){
    .flow-mini{
        flex-direction:column;
        align-items:center;
    }

    .flow-mini-item{
        width:100%;
        max-width:320px;
    }

    .cta-buttons{
        flex-direction:column;
    }

    .cta-buttons .btn{
        width:100%;
        max-width:320px;
    }
}




.strength{
    background:#fff;
    padding: 8% 6%;
}


.strength ul{
    list-style:none;
}

.strength li{
    padding:12px 0;
    border-bottom:1px solid #ddd;
}

.strength .inner{
    display:flex;
    gap:60px;
    align-items:center;
}

.strength-img,
.strength-text{
    width:50%;
}

.strength h2{
    color:#0E2A5C;
    margin-bottom:30px;
}

.strength ul li{
    margin-bottom:15px;
}

.strength-box{
    position:relative;
    padding-left:60px;
    margin-bottom:30px;
}

.strength-box span{
    position:absolute;
    left:0;
    top:0;

    font-size:1.2rem;
    font-weight:700;
    color:#C5A15A;
    letter-spacing:.1em;
}

.strength-box::before{
    content:"";
    position:absolute;
    left:30px;
    top:0;
    bottom:0;
    width:1px;
    background:#e5e7eb;
}

@media(max-width:768px){

    .strength{
        padding:60px 20px;
    }

    .strength .inner{
        flex-direction:column;
        gap:30px;
        align-items:stretch;
    }

    .strength-img,
    .strength-text{
        width:100%;
    }

    .strength-img img{
        width:100%;
        height:auto;
        display:block;
    }

    .strength h2{
        font-size:1.6rem;
        text-align:center;
        margin-bottom:10px;
    }

    .title p{
        text-align:center;
        font-size:.9rem;
        line-height:1.6;
    }

    .strength-box{
        padding:18px 0;
        border-bottom:1px solid #e5e7eb;
    }

    .strength-box h3{
        font-size:1.05rem;
        line-height:1.5;
    }

    .strength-box p{
        font-size:.9rem;
        line-height:1.7;
        color:#555;
    }

    .strength-box span{
        font-weight:700;
        color:#C5A15A;
        display:inline-block;
        margin-bottom:5px;
        font-size:.85rem;
        letter-spacing:.1em;
    }

    .strength-box::before{
        display:none;
    }
}


/* =========================
   GROUP SERVICE
========================= */

.group{
    padding:100px 0;
    background:#F4F5F7;
}

.group-grid{
    width:90%;
    max-width:1000px;
    margin:60px auto 0;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px;
}

.group-box{
    background:#fff;
    padding:60px 40px;
    border-radius:10px;
    text-align:center;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
    transition:.3s;
}

.group-box:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 30px rgba(0,0,0,.1);
}

.group-box h3{
    font-size:28px;
    color:#0E2A5C;
    margin-bottom:20px;
}

.group-box p{
    color:#666;
    line-height:2;
    margin-bottom:25px;
}

.group-btn{
    display:inline-block;
    padding:14px 35px;
    background:#0E2A5C;
    color:#fff;
    border-radius:5px;
    font-size:14px;
    font-weight:500;
}

.group-btn:hover{
    opacity:.8;
}

@media(max-width:768px){

.group{
    padding:70px 0;
}

.group-grid{
    grid-template-columns:1fr;
    gap:25px;
}

.group-box{
    padding:40px 25px;
}

.group-box h3{
    font-size:22px;
}

}


.cta{
    background:#0A2342;
    color:#fff;
    padding:80px 20px;
    text-align:center;
}

.cta-inner{
    max-width:800px;
    margin:0 auto;
}

.cta h2{
    font-size:2rem;
    margin-bottom:20px;
    letter-spacing:.05em;
}

.cta p{
    line-height:1.8;
    margin-bottom:15px;
    opacity:.95;
}

.cta-lead{
    font-weight:700;
    margin-top:20px;
}

.cta-btn{
    display:inline-block;
    margin-top:30px;
    background:#C5A15A;
    color:#fff;
    padding:18px 50px;
    font-weight:700;
    letter-spacing:.05em;
    transition:.3s;
}

.cta-btn:hover{
    background:#b08c46;
}

.cta small{
    display:block;
    margin-top:20px;
    font-size:.8rem;
    opacity:.7;
}

.white{
    background:#fff;
    color:#0A2342;
}

footer{
    background:#0A2342;
    color:#fff;
    padding:80px 0 0;
}

footer .inner{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:30px;
}

.footer-logo h3{
    font-size:28px;
    margin-bottom:15px;
}

.footer-logo p{
    color:rgba(255,255,255,.8);
    line-height:1.8;
}

.footer-nav ul{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    list-style:none;
    margin-top: 15px;
}

.footer-nav li{
    position:relative;
    padding:0 15px;
}

.footer-nav li:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);

    width:1px;
    height:12px;
    background:rgba(255,255,255,.3);
}

.footer-nav a{
    color:#fff;
}

.footer-nav a:hover{
    opacity:.7;
}

.footer-bottom{
    margin-top:60px;
    padding:25px 0;
    border-top:1px solid rgba(255,255,255,.2);
    text-align:center;
}

.footer-bottom p{
    margin-bottom:10px;
    font-size:14px;
    opacity:.8;
}

.footer-bottom small{
    font-size:13px;
    opacity:.7;
}

.credit {
    margin-top: 15px;
    font-size: .85rem;
}

.credit a:hover {
    opacity: .7;
}

@media(max-width:768px){

.strength-img,
.strength-text{
    width:100%;
}

.grid,
.service-grid{
    grid-template-columns:1fr;
}

header .inner{
    flex-direction:row;
    padding: 10px 10px 10px;
}

nav ul{
    flex-wrap:wrap;
    justify-content:center;
}

}

/* =========================
   GYOUMU>HTML
========================= */

.page-header{
    padding:100px 20px 60px;
    text-align:center;
    background:#f7f8fa;
}

.page-header h1{
    font-size:2.4rem;
    color:#0A2342;
    margin-bottom:10px;
    letter-spacing:.08em;
}

.page-header p{
    color:#666;
}

.service-detail{
    max-width:900px;
    margin:0 auto;
    padding:80px 20px;
}

.service-item{
    padding:40px 0;
    border-bottom:1px solid #e5e7eb;
}

.service-item h2{
    font-size:1.35rem;
    color:#0A2342;
    margin-bottom:15px;
    position:relative;
    padding-left:14px;
}

.service-item h2::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:4px;
    height:18px;
    background:#C5A15A;
    border-radius:2px;
}

.service-item p{
    color:#555;
    line-height:1.9;
    font-size:.95rem;
}

.page-cta{
    background:#0A2342;
    color:#fff;
    text-align:center;
    padding:90px 20px;
}

.page-cta h2{
    font-size:1.8rem;
    margin-bottom:10px;
}

.page-cta p{
    opacity:.9;
    margin-bottom:30px;
}

.page-cta a{
    display:inline-block;
    background:#C5A15A;
    color:#fff;
    padding:18px 50px;
    font-weight:700;
}


@media(max-width:768px){

    .page-header h1{
        font-size:1.8rem;
    }

    .service-detail{
        padding:50px 20px;
    }

    .service-item{
        padding:25px 0;
    }

    .service-item h2{
        font-size:1.1rem;
    }

    .service-item p{
        font-size:.9rem;
    }

    .page-cta h2{
        font-size:1.4rem;
    }
}

/* =========================
   RYOUKIN.HTML
========================= */

.price{
    max-width:900px;
    margin:0 auto;
    padding:80px 20px;
    display:flex;
    flex-direction:column;
    gap:30px;
}

.price-box{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:35px;
}

.price-box h2{
    font-size:1.3rem;
    color:#0A2342;
    margin-bottom:10px;
}

.price-box h3{
    font-size:1rem;
    color:#0A2342;
    margin-top:20px;
    margin-bottom:10px;
    border-left:3px solid #C5A15A;
    padding-left:10px;
}

.price-num{
    font-size:1.8rem;
    font-weight:700;
    color:#C5A15A;
    margin-bottom:10px;
}

.price-box ul{
    list-style:none;
    padding:0;
}

.price-box ul li{
    padding:6px 0;
    color:#555;
    position:relative;
    padding-left:18px;
}

.price-box ul li::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:6px;
    height:6px;
    background:#C5A15A;
    border-radius:50%;
}

.note{
    font-size:.85rem;
    color:#888;
    margin-top:10px;
}

.highlight{
    border:2px solid #C5A15A;
    background:#fffaf3;
}

.price-cta{
    background:#0A2342;
    color:#fff;
    text-align:center;
    padding:90px 20px;
}

.price-cta a{
    display:inline-block;
    background:#C5A15A;
    color:#fff;
    padding:18px 50px;
    margin-top:20px;
}

@media(max-width:768px){

    .page-header{
        padding:70px 20px 40px;
    }

    .page-header h1{
        font-size:1.8rem;
    }

    .price{
        padding:40px 15px;
        gap:20px;
    }

    .price-box{
        padding:22px 18px;
        border-radius:12px;
    }

    .price-box h2{
        font-size:1.1rem;
        line-height:1.5;
    }

    .price-num{
        font-size:1.5rem;
        margin-bottom:10px;
    }

    .price-box h3{
        font-size:.95rem;
        margin-top:15px;
    }

    .price-box ul li{
        font-size:.9rem;
        line-height:1.6;
    }

    .note{
        font-size:.8rem;
    }

    .price-cta{
        padding:60px 20px;
    }

    .price-cta h2{
        font-size:1.4rem;
        line-height:1.5;
    }

    .price-cta p{
        font-size:.9rem;
        line-height:1.6;
    }

}


/* =========================
   office.HTML
========================= */

.office{
    max-width:1100px;
    margin:auto;
    padding:80px 20px;
}

.office-copy{
    max-width:760px;
    margin:0 auto 70px;
    text-align:center;
    font-size:2.2rem;
    line-height:1.7;
    color:#0A2342;
}

.office-body{
    display:flex;
    gap:70px;
    align-items:flex-start;
}

.office-img{
    width:280px;
    flex-shrink:0;
}

.office-img img{
    width:100%;
    border-radius:10px;
}

.office-profile{
    flex:1;
}

.office-name{
    margin-bottom:30px;
}

.office-profile p{
    line-height:2;
}

.office-name{
    margin:0 0 25px;
    text-align:left;
}

.office-name span{
    display:block;
    font-size:.85rem;
    color:#999;
    letter-spacing:.15em;
}

.office-name strong{
    display:block;
    margin-top:4px;
    font-size:1.4rem;
    font-weight:500;
    color:#0A2342;
}

.map{
    display:inline-block;
    margin-top:10px;
    color:#C5A15A;
    font-weight:700;
}

.license-box{
    margin-top:30px;
    padding:25px;
    background:#f7f8fa;
    border-left:4px solid #C5A15A;
}

.office-detail{
    max-width:1000px;
    margin:0 auto 100px;
}

.office-table{
    background:#fff;
    border:1px solid #e5e7eb;
}

.office-row{
    display:flex;
    border-bottom:1px solid #e5e7eb;
}

.office-row:last-child{
    border:none;
}

.office-row h3{
    width:220px;
    background:#f7f8fa;
    padding:28px;
    color:#0A2342;
}

.office-row p,
.office-row ul{
    flex:1;
    padding:28px;
}

.office-cta{
    background:#0A2342;
    color:#fff;
    text-align:center;
    padding:80px 20px;
}

.office-cta a{
    display:inline-block;
    background:#C5A15A;
    color:#fff;
    padding:18px 50px;
    margin-top:20px;
}

/* ==========================
   OFFICE MOBILE
========================== */
@media(max-width:768px){

    .office{
        padding:50px 20px;
    }

    .office-body{
        display:block;
    }

    .office-copy{
        font-size:1.5rem;
        margin-bottom:35px;
    }

    .office-img{
        width:180px;
        margin:0 auto 25px;
    }

    .office-name{
        text-align:center;
        margin-bottom:25px;
    }

    .office-profile{
        max-width:500px;
        margin:auto;
    }

    .office-profile p{
        font-size:.95rem;
        line-height:2;
    }

    /* ===== 事務所概要 ===== */

    .office-detail{
        padding:0 20px 60px;
        margin:0 auto;
    }

    .office-table{
        border:none;
    }

    .office-row{
        display:block;
        margin-bottom:20px;
        border:1px solid #e5e7eb;
        border-radius:10px;
        overflow:hidden;
    }

    .office-row h3{
        width:100%;
        padding:15px 20px;
        font-size:1rem;
    }

    .office-row p,
    .office-row ul{
        padding:18px 20px;
        font-size:.9rem;
        line-height:1.8;
    }

    .office-row ul{
        padding-left:35px;
    }

    .office-row li{
        margin-bottom:8px;
    }

    .map{
        margin-top:12px;
    }

    .office-cta h2{
        font-size:1.4rem;
    }

}

/* =========================
   contact.HTML
========================= */

.contact, .cta-contact {
    background:#f7f8fa;
}

.contact-direct{
    padding:80px 20px;
    max-width:1000px;
    margin:0 auto;
}

.contact-message{
    text-align:center;
    margin-bottom:50px;
}

.contact-message h2{
    color:#0A2342;
    margin-bottom:10px;
}

.contact-message p{
    color:#555;
    line-height:1.8;
}

.contact-boxes{
    display:flex;
    gap:30px;
}

.contact-box{
    flex:1;
    background:#fff;
    border:1px solid #e5e7eb;
    padding:30px;
    border-radius:12px;
    text-align:center;
    transition:.3s;
}

.contact-box:hover{
    transform:translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.contact-box h3{
    color:#0A2342;
    margin-bottom:10px;
}

.contact-big{
    font-size:1.2rem;
    font-weight:700;
    color:#0A2342;
    margin:5px 0;
}

.contact-box a{
    display:inline-block;
    margin-top:15px;
    padding:14px 30px;
    color:#fff;
    font-weight:700;
}

.contact-box.phone a{
    background:#0A2342;
}

.contact-box.line a{
    background:#06C755;
}

.flow-section{
    padding:80px 20px;
    background:#f7f8fa;
    text-align:center;
}

.flow-wrap{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:15px;
    flex-wrap:wrap;
    margin-top:40px;
}

.flow-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:25px;
    width:180px;
    position:relative;
    text-align:left;
}

.flow-card .num{
    font-size:1.2rem;
    font-weight:700;
    color:#C5A15A;
    display:block;
    margin-bottom:10px;
}

.flow-card h3{
    font-size:1rem;
    color:#0A2342;
    margin-bottom:10px;
}

.flow-card p{
    font-size:.9rem;
    color:#555;
    line-height:1.6;
}

.flow-arrow{
    display:flex;
    align-items:center;
    font-size:1.5rem;
    color:#C5A15A;
}

@media(max-width:768px){

    .contact-boxes{
        flex-direction:column;
    }

    .contact-direct{
        padding:50px 20px;
    }

    .contact-box{
        padding:20px;
    }

  .flow-wrap{
        flex-direction:column;
        align-items:center;
    }

    .flow-card{
        width:100%;
        max-width:320px;
    }

    .flow-arrow{
        transform:rotate(90deg);
        margin:10px 0;
    }
}


.coming{
    padding:100px 0;
    background:#f5f7fa;
}

.coming-box{
    max-width:760px;
    margin:0 auto;
    padding:70px 60px;
    background:#fff;
    border:1px solid #d9dee5;
    text-align:center;
}

.coming-box h2{
    font-size:32px;
    font-weight:500;
    color:#23374d;
    margin-bottom:35px;
}

.coming-box p{
    font-size:16px;
    line-height:2.2;
    color:#555;
    margin-bottom:20px;
}

.coming-btn{
    display:inline-block;
    margin-top:35px;
    padding:15px 42px;
    background:#23374d;
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.coming-btn:hover{
    background:#1a2b3d;
}

@media(max-width:768px){

    .coming{
        padding:70px 20px;
    }

    .coming-box{
        padding:50px 30px;
    }

    .coming-box h2{
        font-size:26px;
    }

}