
/* =========================
   Reset
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* =========================
   Base
========================= */
body{
    font-family:
        "Noto Sans Devanagari",
        "Noto Sans JP",
        sans-serif;

    background:#f4f7fb;
    color:#333;
    line-height:1.8;
}

/* =========================
   Header
========================= */
header{
    background:linear-gradient(
        135deg,
        #dc143c,
        #003893
    );

    color:white;
    text-align:center;
    padding:60px 20px 80px;
    position:relative;
}

/* Language */
.lang-switch{
    position:absolute;
    top:15px;
    right:15px;
}

.lang-switch a{
    color:white;
    text-decoration:none;
    margin-left:12px;
    font-weight:bold;
    font-size:.95rem;
}

/* Hero Image */

.hero-image{
    width:180px;
    height:180px;

    margin:20px auto;

    border-radius:50%;

    background:white;

    overflow:hidden;

    border:5px solid rgba(255,255,255,.3);
}

.hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Hero Text */

header h1{
    font-size:2rem;
    margin-bottom:15px;
}

header p{
    max-width:700px;
    margin:0 auto 25px;
    font-size:1.05rem;
}

/* =========================
   Buttons
========================= */

.main-btn,
.cta-btn{
    display:inline-block;

    padding:14px 30px;

    margin:8px;

    border-radius:12px;

    text-decoration:none;

    font-weight:bold;

    transition:.2s;
}

.main-btn:hover,
.cta-btn:hover{
    transform:translateY(-2px);
}

/* 個人向け */

.main-btn{
    background:white;
    color:#dc143c;
}

/* 法人向け */

.business{
    background:#003893;
    color:white;
    border:2px solid white;
}

/* =========================
   Sections
========================= */

section{
    max-width:1000px;
    margin:60px auto;
    padding:0 20px;
}

h2{
    text-align:center;
    margin-bottom:25px;
    font-size:1.8rem;
}

/* =========================
   Cards
========================= */

.card{
    background:white;

    padding:20px;

    margin-bottom:15px;

    border-radius:12px;

    box-shadow:
        0 2px 10px rgba(0,0,0,.08);

    transition:.2s;
}

.card:hover{
    transform:translateY(-2px);

    box-shadow:
        0 5px 15px rgba(0,0,0,.12);
}

/* =========================
   CTA
========================= */

.cta-btn{
    background:#dc143c;
    color:white;
}

/* =========================
   Highlight Box
========================= */

.notice{
    background:#fff;

    border-left:5px solid #dc143c;

    padding:20px;

    border-radius:10px;

    margin:20px 0;
}

/* =========================
   Footer
========================= */

footer{
    text-align:center;

    background:#222;

    color:white;

    padding:40px 20px;

    margin-top:60px;
}

/* =========================
   Mobile
========================= */

@media(max-width:768px){

    header{
        padding:50px 15px 70px;
    }

    header h1{
        font-size:1.6rem;
    }

    header p{
        font-size:.95rem;
    }

    .hero-image{
        width:140px;
        height:140px;
    }

    .main-btn,
    .cta-btn{
        display:block;
        width:100%;
        margin:10px auto;
    }

    .lang-switch{
        position:static;
        margin-bottom:20px;
    }

}
