/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Aug 17 2026 | 05:28:40 */
:root{
    /* Main logo red */
    --ijd-primary:#EE3239;

    /* Darker red for hover and active states */
    --ijd-primary-dark:#C91F27;

    /* Soft blush pink from the logo */
    --ijd-primary-light:#FDE5E5;

    /* Logo black */
    --ijd-dark:#111111;

    /* Softer paragraph text */
    --ijd-text:#5F5957;

    /* Warm cream background from the logo */
    --ijd-light:#FDF7F2;

    /* White */
    --ijd-white:#FFFFFF;

    /* Soft warm border */
    --ijd-border:#EFE1DB;

    --ijd-radius:24px;

    /* Warm, soft shadow */
    --ijd-shadow:0 20px 55px rgba(48, 29, 27, 0.12);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

.ijd-page{
    color:var(--ijd-dark);
    background:#fff;
    font-family:inherit;
    overflow:hidden;
}

.ijd-container{
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
}

.ijd-section{
    padding:100px 0;
}

.ijd-section-heading{
    max-width:760px;
    margin:0 auto 55px;
    text-align:center;
}

.ijd-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:17px;
    color:var(--ijd-primary);
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.ijd-eyebrow::before,
.ijd-eyebrow::after{
    content:"";
    width:28px;
    height:1px;
    background:var(--ijd-primary);
}

.ijd-section-heading h2,
.ijd-about-content h2,
.ijd-contact-content h2{
    margin:0;
    color:var(--ijd-dark);
    font-size:clamp(34px, 4vw, 54px);
    line-height:1.12;
    font-weight:700;
    letter-spacing:-1.5px;
}

.ijd-section-heading p{
    max-width:680px;
    margin:20px auto 0;
    color:var(--ijd-text);
    font-size:18px;
    line-height:1.75;
}

.ijd-btn{
    min-height:54px;
    padding:14px 27px;
    border:1px solid transparent;
    border-radius:100px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#fff;
    background:var(--ijd-primary);
    font-size:15px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    transition:
        transform .3s ease,
        background-color .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.ijd-btn:hover{
    color:#fff;
    background:var(--ijd-primary-dark);
    transform:translateY(-3px);
    box-shadow:0 13px 30px rgba(215, 100, 134, .28);
}

.ijd-btn-outline{
    color:var(--ijd-dark);
    background:rgba(255,255,255,.93);
    border-color:rgba(255,255,255,.8);
}

.ijd-btn-outline:hover{
    color:var(--ijd-primary-dark);
    background:#fff;
    border-color:#fff;
}


/* =====================================================
   HERO
===================================================== */

.ijd-hero{
    position:relative;
    min-height:760px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(
            90deg,
            rgba(18,25,32,.88) 0%,
            rgba(18,25,32,.72) 46%,
            rgba(18,25,32,.20) 100%
        ),
        url("https://ij-dmc.jp/wp-content/uploads/2025/12/banner-1.png")
        center/cover no-repeat;
}

.ijd-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.04) 50%,
            rgba(0,0,0,.35) 100%
        );
    pointer-events:none;
}

.ijd-hero::after{
    content:"";
    position:absolute;
    right:-120px;
    bottom:-180px;
    width:480px;
    height:480px;
    border:95px solid rgba(255,255,255,.08);
    border-radius:50%;
    pointer-events:none;
}

.ijd-hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    padding:120px 50px 95px;
}

.ijd-hero-content{
    max-width:820px;
}

.ijd-hero-kicker{
    width:max-content;
    max-width:100%;
    margin-bottom:23px;
    padding:10px 17px;
    border:1px solid rgba(255,255,255,.27);
    border-radius:100px;
    color:#fff;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    font-size:13px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.ijd-hero h1{
    max-width:900px;
    margin:0;
    color:#fff;
    font-size:clamp(45px, 6.4vw, 62px);
    font-weight:700;
    line-height:1.03;
    letter-spacing:-3px;
}

.ijd-hero h1 span{
    color:#ee3239;
}

.ijd-hero-description{
    max-width:750px;
    margin:27px 0 0;
    color:rgba(255,255,255,.86);
    font-size:19px;
    line-height:1.75;
}

.ijd-hero-actions{
    margin-top:35px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.ijd-hero-facts{
    margin-top:68px;
    display:grid;
    grid-template-columns:repeat(3, max-content);
    gap:45px;
}

.ijd-hero-fact{
    position:relative;
    color:#fff;
}

.ijd-hero-fact:not(:last-child)::after{
    content:"";
    position:absolute;
    top:0;
    right:-23px;
    width:1px;
    height:100%;
    background:rgba(255,255,255,.22);
}

.ijd-hero-fact strong{
    display:block;
    margin-bottom:5px;
    font-size:23px;
    line-height:1;
}

.ijd-hero-fact span{
    color:rgba(255,255,255,.7);
    font-size:13px;
    letter-spacing:.5px;
}


/* =====================================================
   ABOUT
===================================================== */

.ijd-about{
    position:relative;
    background:#fff;
}

.ijd-about-grid{
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
    align-items:center;
    gap:85px;
}

/* =====================================================
   CREATIVE OVERLAPPING ABOUT IMAGE COLLAGE
===================================================== */

.ijd-about-visual{
    position:relative;
    min-height:515px;
    isolation:isolate;
}

/* Soft decorative background shape */
.ijd-about-visual::before{
    content:"";
    position:absolute;
    top:45px;
    left:35px;
    width:78%;
    height:470px;
    border-radius:45% 55% 42% 58% / 52% 38% 62% 48%;
    background:var(--ijd-primary-light);
    transform:rotate(-4deg);
    z-index:-2;
}

/* Decorative red outline */
.ijd-about-visual::after{
    content:"";
    position:absolute;
    top:75px;
    left:5px;
    width:74%;
    height:430px;
    border:1px solid rgba(238,50,57,.30);
    border-radius:35px;
    transform:rotate(4deg);
    z-index:-1;
}

/* Large main image */
.ijd-about-main-image{
    position:absolute;
    top:0;
    left:0;
    width:78%;
    height:430px;
    border-radius:30px 30px 90px 30px;
    border:10px solid #fff;
    object-fit:cover;
    box-shadow:
        0 30px 70px rgba(31,21,24,.18);
    transform:rotate(-2deg);
    transition:
        transform .6s ease,
        box-shadow .6s ease;
    z-index:2;
}

/* Smaller overlapping image */
.ijd-about-small-image{
    position:absolute;
    right:0;
    bottom:5px;
    width:53%;
    height:275px;
    border:10px solid #fff;
    border-radius:28px 28px 28px 75px;
    object-fit:cover;
    box-shadow:
        0 28px 65px rgba(31,21,24,.20);
    transform:rotate(3deg);
    transition:
        transform .6s ease,
        box-shadow .6s ease;
    z-index:4;
}

/* Hover movement */
.ijd-about-visual:hover .ijd-about-main-image{
    transform:rotate(0deg) translateY(-8px);
    box-shadow:
        0 38px 85px rgba(31,21,24,.23);
}

.ijd-about-visual:hover .ijd-about-small-image{
    transform:rotate(0deg) translate(-8px,-8px);
    box-shadow:
        0 35px 80px rgba(31,21,24,.25);
}

/* DMC badge */
.ijd-about-badge{
    position:absolute;
    left:40px;
    bottom:12px;
    z-index:6;
    width:155px;
    min-height:155px;
    padding:22px;
    border:8px solid #fff;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    background:var(--ijd-primary);
    box-shadow:
        0 25px 55px rgba(238,50,57,.28);
    animation:ijdBadgeFloat 4s ease-in-out infinite;
}

.ijd-about-badge::before{
    content:"";
    position:absolute;
    inset:-16px;
    border:1px dashed rgba(238,50,57,.35);
    border-radius:50%;
    animation:ijdBadgeRotate 18s linear infinite;
}

.ijd-about-badge strong{
    display:block;
    font-size:31px;
    line-height:1;
}

.ijd-about-badge span{
    display:block;
    margin-top:8px;
    font-size:11px;
    font-weight:800;
    line-height:1.45;
    letter-spacing:.7px;
    text-transform:uppercase;
}

/* Small decorative circle */
.ijd-about-visual .ijd-about-dot{
    position:absolute;
    top:38%;
    right:10%;
    z-index:5;
    width:55px;
    height:55px;
    border:12px solid rgba(238,50,57,.14);
    border-radius:50%;
    pointer-events:none;
}

@keyframes ijdBadgeFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-10px);
    }
}

@keyframes ijdBadgeRotate{
    to{
        transform:rotate(360deg);
    }
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1024px){

    .ijd-about-grid{
        gap:55px;
    }

    .ijd-about-visual{
        min-height:570px;
    }

    .ijd-about-main-image{
        width:82%;
        height:390px;
    }

    .ijd-about-small-image{
        width:55%;
        height:245px;
    }

    .ijd-about-badge{
        left:20px;
        width:135px;
        min-height:135px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:767px){

    .ijd-about-grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .ijd-about-visual{
        width:100%;
        min-height:510px;
    }

    .ijd-about-visual::before{
        top:30px;
        left:25px;
        width:82%;
        height:360px;
    }

    .ijd-about-visual::after{
        top:55px;
        width:78%;
        height:330px;
    }

    .ijd-about-main-image{
        width:88%;
        height:340px;
        border-width:7px;
        border-radius:24px 24px 65px 24px;
    }

    .ijd-about-small-image{
        right:0;
        bottom:10px;
        width:58%;
        height:210px;
        border-width:7px;
        border-radius:22px 22px 22px 55px;
    }

    .ijd-about-badge{
        left:10px;
        bottom:20px;
        width:120px;
        min-height:120px;
        border-width:6px;
    }

    .ijd-about-badge strong{
        font-size:25px;
    }

    .ijd-about-badge span{
        font-size:9px;
    }

    .ijd-about-visual .ijd-about-dot{
        display:none;
    }
}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media(max-width:480px){

    .ijd-about-visual{
        min-height:430px;
    }

    .ijd-about-main-image{
        width:91%;
        height:280px;
    }

    .ijd-about-small-image{
        width:61%;
        height:170px;
    }

    .ijd-about-badge{
        width:100px;
        min-height:100px;
        padding:14px;
    }

    .ijd-about-badge strong{
        font-size:22px;
    }
}
.ijd-about-badge strong{
    font-size:31px;
    line-height:1;
}

.ijd-about-badge span{
    margin-top:7px;
    font-size:12px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.ijd-about-content .ijd-eyebrow{
    margin-bottom:17px;
}

.ijd-about-content .ijd-eyebrow::before{
    display:none;
}

.ijd-about-content p{
    margin:25px 0 0;
    color:var(--ijd-text);
    font-size:17px;
    line-height:1.85;
}

.ijd-about-points{
    margin-top:30px;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:15px 24px;
}

.ijd-about-point{
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:var(--ijd-dark);
    font-size:15px;
    font-weight:700;
    line-height:1.5;
}

.ijd-about-point-icon{
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--ijd-primary);
    background:var(--ijd-primary-light);
    font-size:14px;
}


/* =====================================================
   SERVICES
===================================================== */

.ijd-services{
    position:relative;
    background:var(--ijd-light);
}

.ijd-services::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(215,100,134,.07);
    transform:translate(-50%, -55%);
    filter:blur(4px);
}

.ijd-services-grid{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.ijd-service-card{
    position:relative;
    min-height:240px;
    padding:34px 30px;
    border:1px solid var(--ijd-border);
    border-radius:var(--ijd-radius);
    background:#fff;
    overflow:hidden;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.ijd-service-card::after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-45px;
    width:115px;
    height:115px;
    border-radius:50%;
    background:var(--ijd-primary-light);
    transition:transform .4s ease;
}

.ijd-service-card:hover{
    transform:translateY(-8px);
    border-color:rgba(215,100,134,.35);
    box-shadow:var(--ijd-shadow);
}

.ijd-service-card:hover::after{
    transform:scale(1.3);
}

.ijd-service-icon{
    position:relative;
    z-index:2;
    width:62px;
    height:62px;
    margin-bottom:24px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--ijd-primary-light);
    font-size:29px;
}

.ijd-service-card h3{
    position:relative;
    z-index:2;
    margin:0;
    color:var(--ijd-dark);
    font-size:20px;
    line-height:1.4;
    font-weight:750;
}

.ijd-service-card p{
    position:relative;
    z-index:2;
    margin:12px 0 0;
    color:var(--ijd-text);
    font-size:14px;
    line-height:1.7;
}


/* =====================================================
   WHY CHOOSE US
===================================================== */

.ijd-why{
    position:relative;
    background:#fff;
}

.ijd-why-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, .9fr);
    gap:70px;
    align-items:center;
}

.ijd-why-content .ijd-section-heading{
    margin:0 0 38px;
    text-align:left;
}

.ijd-why-content .ijd-section-heading p{
    margin-left:0;
}

.ijd-why-content .ijd-eyebrow::before{
    display:none;
}

.ijd-why-list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}

.ijd-why-item{
    min-height:76px;
    padding:18px;
    border:1px solid var(--ijd-border);
    border-radius:17px;
    display:flex;
    align-items:center;
    gap:13px;
    background:#fff;
    transition:.3s ease;
}

.ijd-why-item:hover{
    border-color:var(--ijd-primary);
    transform:translateX(5px);
    box-shadow:0 12px 30px rgba(30,30,30,.07);
}

.ijd-check{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--ijd-primary);
    font-size:15px;
    font-weight:800;
}

.ijd-why-item span:last-child{
    color:var(--ijd-dark);
    font-size:15px;
    font-weight:750;
    line-height:1.4;
}

.ijd-why-image-wrap{
    position:relative;
}

.ijd-why-image{
    width:100%;
    height:620px;
    border-radius:32px;
    object-fit:cover;
    display:block;
}

.ijd-support-card{
    position:absolute;
    left:-38px;
    bottom:-57px;
    width:365px;
    padding:25px;
    border-radius:22px;
    color:#fff;
    background:#ffd3df;
    box-shadow:var(--ijd-shadow);
}

.ijd-support-card strong{
    display:block;
    margin-bottom:8px;
    color:#303030;
    font-size:26px;
}

.ijd-support-card span{
    display:block;
    font-size:14px;
    line-height:1.6;
	color: #3f3f3f;
}


/* =====================================================
   DESTINATIONS
===================================================== */

.ijd-destinations{
    color:#fff;
    background:#ee3239;
}

.ijd-destinations .ijd-section-heading h2{
    color:#fff;
}

.ijd-destinations .ijd-section-heading p{
    color:rgba(255,255,255,.67);
}

.ijd-destination-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    grid-auto-rows:235px;
    gap:18px;
}

.ijd-destination-card{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    isolation:isolate;
}

.ijd-destination-card:nth-child(1),
.ijd-destination-card:nth-child(6){
    grid-column:span 2;
}

.ijd-destination-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .65s ease;
}

.ijd-destination-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0) 25%,
            rgba(0,0,0,.76) 100%
        );
}

.ijd-destination-card:hover img{
    transform:scale(1.08);
}

.ijd-destination-name{
    position:absolute;
    left:23px;
    right:23px;
    bottom:21px;
    z-index:2;
    color:#fff;
    font-size:23px;
    font-weight:750;
}

.ijd-destination-tags{
    margin-top:30px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.ijd-destination-tags span{
    padding:10px 16px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:100px;
    color:rgba(255,255,255,.84);
    background:rgba(255,255,255,.07);
    font-size:13px;
}


/* =====================================================
   TESTIMONIALS
===================================================== */

.ijd-testimonials{
    background:#fbf8f8;
}

.ijd-testimonial-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:25px;
}

.ijd-testimonial{
    position:relative;
    padding:42px;
    border:1px solid var(--ijd-border);
    border-radius:var(--ijd-radius);
    background:#fff;
    box-shadow:0 15px 45px rgba(0,0,0,.05);
}

.ijd-quote-mark{
    margin-bottom:24px;
    color:var(--ijd-primary);
    font-family:Georgia, serif;
    font-size:72px;
    line-height:.55;
}

.ijd-stars{
    margin-bottom:16px;
    color:#e8a829;
    letter-spacing:4px;
}

.ijd-testimonial blockquote{
    margin:0;
    color:var(--ijd-dark);
    font-size:20px;
    line-height:1.65;
    font-weight:600;
}

.ijd-client{
    margin-top:29px;
    padding-top:22px;
    border-top:1px solid var(--ijd-border);
    display:flex;
    align-items:center;
    gap:14px;
}

.ijd-client-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--ijd-primary);
    font-size:17px;
    font-weight:800;
}

.ijd-client strong{
    display:block;
    color:var(--ijd-dark);
    font-size:15px;
}

.ijd-client span{
    display:block;
    margin-top:4px;
    color:var(--ijd-text);
    font-size:13px;
}


/* =====================================================
   CONTACT
===================================================== */

.ijd-contact{
    position:relative;
    background:#fff;
}

.ijd-contact-box{
    position:relative;
    padding:70px;
    border-radius:34px;
    display:grid;
    grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);
    gap:65px;
    color:#fff;
    background:#fcddde;
    overflow:hidden;
}

.ijd-contact-box::before{
    content:"";
    position:absolute;
    right:-130px;
    bottom:-160px;
    width:420px;
    height:420px;
    border:80px solid rgba(255,255,255,.04);
    border-radius:50%;
}

.ijd-contact-content,
.ijd-contact-form-wrap{
    position:relative;
    z-index:2;
}

.ijd-contact-content .ijd-eyebrow{
    color:#f2a7bb;
}

.ijd-contact-content .ijd-eyebrow::before{
    display:none;
}

.ijd-contact-content .ijd-eyebrow::after{
    background:#f2a7bb;
}

.ijd-contact-content h2{
    color:#ee3239;
}

.ijd-contact-content > p{
    margin:22px 0 0;
    color:#666;
    font-size:17px;
    line-height:1.75;
}

.ijd-contact-details{
    margin-top:35px;
    display:grid;
    gap:14px;
}

.ijd-contact-detail{
    padding:16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    display:flex;
    align-items:center;
    gap:14px;
    background:rgb(148 148 148 / 63%);
}

.ijd-contact-detail-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--ijd-primary);
    font-size:19px;
}

.ijd-contact-detail span{
    display:block;
    margin-bottom:3px;
    color:rgba(255,255,255,.55);
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.ijd-contact-detail a,
.ijd-contact-detail strong{
    color:#fff;
    font-size:14px;
    font-weight:650;
    text-decoration:none;
}

.ijd-contact-form-wrap{
    padding:35px;
    border-radius:25px;
    color:var(--ijd-dark);
    background:#fff;
}

.ijd-form-title{
    margin:0 0 25px;
    font-size:25px;
    font-weight:750;
}

.ijd-form-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:17px;
}

.ijd-form-group{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.ijd-form-group-full{
    grid-column:1 / -1;
}

.ijd-form-group label{
    color:var(--ijd-dark);
    font-size:13px;
    font-weight:750;
}

.ijd-form-group input,
.ijd-form-group select,
.ijd-form-group textarea{
    width:100%;
    min-height:51px;
    padding:13px 15px;
    border:1px solid #dedfe3;
    border-radius:12px;
    outline:none;
    color:var(--ijd-dark);
    background:#fff;
    font:inherit;
    font-size:14px;
    transition:border-color .25s ease, box-shadow .25s ease;
}

.ijd-form-group textarea{
    min-height:125px;
    resize:vertical;
}

.ijd-form-group input:focus,
.ijd-form-group select:focus,
.ijd-form-group textarea:focus{
    border-color:var(--ijd-primary);
    box-shadow:0 0 0 4px rgba(215,100,134,.12);
}

.ijd-form-submit{
    width:100%;
    margin-top:4px;
    border:none;
    cursor:pointer;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:1024px){

    .ijd-section{
        padding:85px 0;
    }

    .ijd-about-grid,
    .ijd-why-grid{
        gap:50px;
    }

    .ijd-services-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .ijd-destination-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .ijd-destination-card:nth-child(1),
    .ijd-destination-card:nth-child(6){
        grid-column:span 1;
    }

    .ijd-contact-box{
        padding:50px;
        gap:40px;
    }
}

@media (max-width:767px){

    .ijd-container{
        width:min(100% - 28px, 1180px);
    }

    .ijd-section{
        padding:68px 0;
    }

    .ijd-section-heading{
        margin-bottom:38px;
    }

    .ijd-section-heading h2,
    .ijd-about-content h2,
    .ijd-contact-content h2{
        font-size:36px;
        letter-spacing:-1px;
    }

    .ijd-section-heading p{
        font-size:16px;
    }

    .ijd-hero{
        min-height:700px;
        background-position:60% center;
    }

    .ijd-hero::before{
        background:rgba(16,22,29,.68);
    }

    .ijd-hero-inner{
        padding:95px 0 70px;
    }

    .ijd-hero h1{
        font-size:47px;
        letter-spacing:-2px;
    }

    .ijd-hero-description{
        font-size:16px;
    }

    .ijd-hero-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .ijd-hero-actions .ijd-btn{
        width:100%;
    }

    .ijd-hero-facts{
        margin-top:45px;
        grid-template-columns:1fr;
        gap:18px;
    }

    .ijd-hero-fact{
        padding:0 0 18px;
        border-bottom:1px solid rgba(255,255,255,.18);
    }

    .ijd-hero-fact:not(:last-child)::after{
        display:none;
    }

    .ijd-about-grid,
    .ijd-why-grid,
    .ijd-contact-box{
        grid-template-columns:1fr;
    }

    .ijd-about-visual{
        min-height:480px;
    }

    .ijd-about-main-image{
        width:90%;
        height:400px;
    }

    .ijd-about-small-image{
        width:52%;
        height:210px;
    }

    .ijd-about-badge{
        left:10px;
        bottom:14px;
        width:120px;
        min-height:120px;
    }

    .ijd-about-badge strong{
        font-size:25px;
    }

    .ijd-about-points,
    .ijd-why-list{
        grid-template-columns:1fr;
    }

    .ijd-services-grid{
        grid-template-columns:1fr;
    }

    .ijd-service-card{
        min-height:auto;
    }

    .ijd-why-image{
        height:470px;
    }

    .ijd-support-card{
        left:15px;
        right:15px;
        bottom:18px;
        width:auto;
    }

    .ijd-destination-grid{
        grid-template-columns:1fr;
        grid-auto-rows:260px;
    }

    .ijd-testimonial-grid{
        grid-template-columns:1fr;
    }

    .ijd-testimonial{
        padding:30px 25px;
    }

    .ijd-testimonial blockquote{
        font-size:18px;
    }

    .ijd-contact-box{
        padding:40px 22px;
        border-radius:25px;
    }

    .ijd-contact-form-wrap{
        padding:26px 20px;
    }

    .ijd-form-grid{
        grid-template-columns:1fr;
    }

    .ijd-form-group-full{
        grid-column:auto;
    }
}

@media (max-width:480px){

    .ijd-hero h1{
        font-size:40px;
    }

    .ijd-hero-kicker{
        font-size:11px;
        letter-spacing:1px;
    }

    .ijd-about-visual{
        min-height:420px;
    }

    .ijd-about-main-image{
        height:345px;
    }

    .ijd-about-small-image{
        height:180px;
        border-width:8px;
    }

    .ijd-destination-grid{
        grid-auto-rows:230px;
    }
}
/* =====================================================
   OUR MISSION SECTION
===================================================== */

.ijd-mission{
    position:relative;
    padding:110px 0;
    background-color:var(--ijd-light);

    /* Replace this URL with your existing flower background */
    background-image:url("https://ij-dmc.jp/wp-content/uploads/2026/01/Image-BG.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;

    overflow:hidden;
}

.ijd-mission::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgb(253 247 242 / 23%);
    pointer-events:none;
}

.ijd-mission-content{
    position: relative;
    z-index: 2;
    max-width: 940px;
    margin: 0 auto;
    padding: 65px 75px;
    border: 1px solid rgba(238, 50, 57, .13);
    border-radius: 32px;
    text-align: center;
    background: rgb(255 255 255 / 72%);
    box-shadow: 0 25px 70px rgba(48, 29, 27, .10);
}

.ijd-mission .ijd-eyebrow{
    margin-bottom:15px;
}

.ijd-mission h2{
    margin:0;
    color:var(--ijd-primary);
    font-size:clamp(42px, 5vw, 68px);
    font-weight:800;
    line-height:1.05;
    letter-spacing:-2px;
    text-transform:uppercase;
}

.ijd-mission-text{
    max-width:850px;
    margin:34px auto 0;
}

.ijd-mission-text p{
    margin:0;
    color:var(--ijd-dark);
    font-size:19px;
    font-weight:500;
    line-height:1.8;
}

.ijd-mission-text p + p{
    margin-top:22px;
}

.ijd-mission-values{
    margin-top:42px;
    padding-top:35px;
    border-top:1px solid var(--ijd-border);
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
}

.ijd-mission-value{
    padding:22px 17px;
    border:1px solid var(--ijd-border);
    border-radius:18px;
    background:rgba(255,255,255,.83);
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.ijd-mission-value:hover{
    transform:translateY(-6px);
    border-color:rgba(238,50,57,.45);
    box-shadow:0 16px 35px rgba(48,29,27,.09);
}

.ijd-mission-value span{
    width:42px;
    height:42px;
    margin:0 auto 13px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--ijd-primary);
    font-size:13px;
    font-weight:800;
}

.ijd-mission-value strong{
    display:block;
    color:var(--ijd-dark);
    font-size:15px;
    line-height:1.45;
}


/* Tablet */
@media (max-width:1024px){

    .ijd-mission{
        padding:90px 0;
    }

    .ijd-mission-content{
        padding:55px 45px;
    }

    .ijd-mission-text p{
        font-size:18px;
    }
}


/* Mobile */
@media (max-width:767px){

    .ijd-mission{
        padding:65px 0;
        background-position:center top;
    }

    .ijd-mission::before{
        background:rgba(253,247,242,.72);
    }

    .ijd-mission-content{
        padding:42px 22px;
        border-radius:24px;
    }

    .ijd-mission h2{
        font-size:40px;
        letter-spacing:-1px;
    }

    .ijd-mission-text{
        margin-top:25px;
    }

    .ijd-mission-text p{
        font-size:16px;
        line-height:1.75;
    }

    .ijd-mission-values{
        margin-top:30px;
        padding-top:28px;
        grid-template-columns:1fr;
    }
}


/* Small mobile */
@media (max-width:480px){

    .ijd-mission{
        padding:50px 0;
    }

    .ijd-mission-content{
        padding:35px 18px;
    }

    .ijd-mission h2{
        font-size:34px;
    }

    .ijd-mission-text p{
        font-size:15px;
    }
}

/* =====================================================
   LUXURY REGIONS OF JAPAN
===================================================== */

.lux-japan-regions{
    position:relative;
    padding:110px 0 120px;
    background:
        linear-gradient(
            135deg,
            #fffaf7 0%,
            #fdf5f2 45%,
            #fff 100%
        );
    overflow:hidden;
    isolation:isolate;
}

/* Large decorative circle */
.lux-japan-bg-circle{
    position:absolute;
    top:50%;
    right:-220px;
    width:850px;
    height:850px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(238,50,57,.11) 0%,
            rgba(248,179,190,.08) 48%,
            rgba(255,255,255,0) 72%
        );
    transform:translateY(-50%);
    pointer-events:none;
    z-index:-2;
}

/* Large background text */
.lux-japan-bg-text{
    position:absolute;
    left:-30px;
    bottom:-85px;
    color:rgba(17,17,17,.025);
    font-size:clamp(140px, 19vw, 310px);
    font-weight:900;
    line-height:1;
    letter-spacing:-15px;
    pointer-events:none;
    z-index:-1;
}

/* =====================================================
   HEADING
===================================================== */

.lux-regions-heading{
    position:relative;
    max-width:800px;
    margin:0 auto 65px;
    text-align:center;
    z-index:3;
}

.lux-regions-heading .ijd-eyebrow{
    margin-bottom:16px;
}

.lux-regions-heading h2{
    margin:0;
    color:var(--ijd-dark);
    font-size:clamp(45px, 5vw, 72px);
    font-weight:800;
    line-height:1.03;
    letter-spacing:-3px;
    text-transform:none;
}

.lux-regions-heading h2::after{
    content:"";
    display:block;
    width:70px;
    height:4px;
    margin:23px auto 0;
    border-radius:100px;
    background:var(--ijd-primary);
}

.lux-regions-heading p{
    max-width:690px;
    margin:24px auto 0;
    color:var(--ijd-text);
    font-size:17px;
    line-height:1.8;
}

/* =====================================================
   MAIN STAGE
===================================================== */

.lux-regions-stage{
    position:relative;
    min-height:720px;
    display:grid;
    grid-template-columns:minmax(350px, 40%) minmax(0, 60%);
    align-items:center;
}

/* =====================================================
   LEFT OVERLAPPING CARD
===================================================== */

.lux-region-panel{
    position:relative;
    z-index:5;
    margin-right:-85px;
}

.lux-region-card{
    position:relative;
    width:100%;
    max-width:470px;
    padding:18px;
    border:1px solid rgba(255,255,255,.75);
    border-radius:32px;
    background:rgba(255,255,255,.78);
    box-shadow:
        0 35px 90px rgba(42,20,25,.15),
        inset 0 1px 0 rgba(255,255,255,.85);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    overflow:hidden;
}

.lux-region-card::before{
    content:"";
    position:absolute;
    top:-100px;
    right:-80px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:rgba(238,50,57,.08);
    pointer-events:none;
}

.lux-region-number{
    position:absolute;
    top:36px;
    right:34px;
    z-index:5;
    padding:9px 13px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:100px;
    color:#fff;
    background:rgba(10,10,10,.28);
    backdrop-filter:blur(10px);
    font-size:13px;
    font-weight:800;
}

.lux-region-number small{
    opacity:.65;
    font-size:10px;
}

/* Image */
.lux-region-photo{
    position:relative;
    width:100%;
    height:285px;
    border-radius:23px;
    overflow:hidden;
    background:#eee;
}

.lux-region-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transform:scale(1.08);
    transition:
        opacity .65s ease,
        transform 1.2s cubic-bezier(.2,.7,.2,1);
}

.lux-region-slide.active{
    opacity:1;
    transform:scale(1);
}

.lux-photo-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02) 35%,
            rgba(0,0,0,.55) 100%
        );
    pointer-events:none;
}

.lux-photo-label{
    position:absolute;
    left:22px;
    bottom:18px;
    z-index:3;
    color:#fff;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

/* Card content */
.lux-region-content{
    position:relative;
    padding:29px 19px 18px;
}

.lux-region-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.lux-region-small-title{
    display:block;
    margin-bottom:8px;
    color:var(--ijd-primary);
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.lux-region-title-row h3{
    margin:0;
    color:var(--ijd-dark);
    font-size:34px;
    font-weight:800;
    line-height:1;
    letter-spacing:-1px;
}

.lux-region-kanji{
    flex:0 0 auto;
    color:rgba(238,50,57,.13);
    font-family:serif;
    font-size:50px;
    line-height:.9;
}

.lux-region-content > p{
    min-height:92px;
    margin:19px 0 0;
    color:var(--ijd-text);
    font-size:15px;
    line-height:1.75;
}

.lux-region-features{
    margin-top:20px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.lux-region-features span{
    padding:8px 12px;
    border:1px solid rgba(238,50,57,.13);
    border-radius:100px;
    color:#8c3d43;
    background:#fff2f3;
    font-size:11px;
    font-weight:700;
}

.lux-region-link{
    margin-top:25px;
    display:inline-flex;
    align-items:center;
    gap:11px;
    color:var(--ijd-dark);
    font-size:14px;
    font-weight:800;
    text-decoration:none;
    transition:
        color .3s ease,
        gap .3s ease;
}

.lux-region-link span{
    width:34px;
    height:34px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--ijd-primary);
    transition:transform .3s ease;
}

.lux-region-link:hover{
    color:var(--ijd-primary);
    gap:15px;
}

.lux-region-link:hover span{
    transform:rotate(45deg);
}

/* =====================================================
   CONTROLS
===================================================== */

.lux-region-controls{
    width:100%;
    max-width:470px;
    margin-top:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}

.lux-region-arrow{
    flex:0 0 52px;
    width:52px;
    height:52px;
    padding:0;
    border:1px solid rgba(238,50,57,.14);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--ijd-primary);
    background:rgba(255,255,255,.90);
    box-shadow:0 13px 30px rgba(50,20,27,.10);
    cursor:pointer;
    font-size:20px;
    transition:
        color .3s ease,
        background-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.lux-region-arrow:hover{
    color:#fff;
    background:var(--ijd-primary);
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(238,50,57,.26);
}

.lux-region-progress{
    display:flex;
    align-items:center;
    gap:7px;
}

.lux-progress-dot{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:20px;
    background:#dabfc3;
    cursor:pointer;
    transition:
        width .35s ease,
        background-color .35s ease,
        transform .35s ease;
}

.lux-progress-dot.active{
    width:27px;
    background:var(--ijd-primary);
}

/* =====================================================
   MAP
===================================================== */

.lux-map-column{
    position:relative;
    min-width:0;
    min-height:720px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.lux-map-glow{
    position:absolute;
    top:50%;
    left:51%;
    width:630px;
    height:630px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(238,50,57,.11) 0%,
            rgba(238,50,57,.04) 45%,
            rgba(238,50,57,0) 72%
        );
    transform:translate(-50%,-50%);
    filter:blur(2px);
    animation:luxMapGlow 5s ease-in-out infinite;
}

@keyframes luxMapGlow{
    0%,100%{
        transform:translate(-50%,-50%) scale(.96);
        opacity:.65;
    }
    50%{
        transform:translate(-50%,-50%) scale(1.06);
        opacity:1;
    }
}

.lux-map-wrap{
    position:relative;
    width:100%;
    height:720px;
    overflow:visible;
}

.lux-map-base,
.lux-map-highlight{
    position:absolute;
    top:50%;
    left:54%;
    width:130%;
    height:130%;
    object-fit:contain;
    transform:translate(-50%,-50%);
    filter:
        drop-shadow(0 25px 34px rgba(90,38,50,.10));
}

.lux-map-highlight{
    opacity:0;
    pointer-events:none;
    filter:
        drop-shadow(0 0 7px rgba(238,50,57,.55))
        drop-shadow(0 0 24px rgba(238,50,57,.32));
    transition:
        opacity .55s ease,
        filter .55s ease;
}

.lux-map-highlight.active{
    opacity:1;
    animation:luxRegionPulse 2.8s ease-in-out infinite;
}

@keyframes luxRegionPulse{
    0%,100%{
        filter:
            drop-shadow(0 0 5px rgba(238,50,57,.40))
            drop-shadow(0 0 16px rgba(238,50,57,.22));
    }
    50%{
        filter:
            drop-shadow(0 0 10px rgba(238,50,57,.68))
            drop-shadow(0 0 32px rgba(238,50,57,.42));
    }
}

.lux-map-caption{
    position:absolute;
    right:30px;
    bottom:50px;
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--ijd-dark);
    font-size:12px;
    font-weight:800;
    letter-spacing:1.7px;
    text-transform:uppercase;
}

.lux-map-caption-line{
    width:55px;
    height:1px;
    background:var(--ijd-primary);
}

/* =====================================================
   SAKURA ANIMATION
===================================================== */

.lux-sakura-layer{
    position:absolute;
    inset:0;
    z-index:1;
    overflow:hidden;
    pointer-events:none;
}

.lux-petal{
    position:absolute;
    top:-80px;
    color:rgba(238,50,57,.20);
    font-size:24px;
    animation-name:luxSakuraFall;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
}

.lux-petal-1{
    left:7%;
    animation-duration:15s;
    animation-delay:-3s;
}

.lux-petal-2{
    left:23%;
    font-size:17px;
    animation-duration:19s;
    animation-delay:-11s;
}

.lux-petal-3{
    left:48%;
    font-size:27px;
    animation-duration:17s;
    animation-delay:-7s;
}

.lux-petal-4{
    left:68%;
    font-size:19px;
    animation-duration:21s;
    animation-delay:-15s;
}

.lux-petal-5{
    left:84%;
    font-size:25px;
    animation-duration:16s;
    animation-delay:-4s;
}

.lux-petal-6{
    left:94%;
    font-size:15px;
    animation-duration:22s;
    animation-delay:-13s;
}

@keyframes luxSakuraFall{
    0%{
        transform:
            translate3d(0,-80px,0)
            rotate(0deg);
        opacity:0;
    }

    10%{
        opacity:1;
    }

    45%{
        transform:
            translate3d(55px,45vh,0)
            rotate(170deg);
    }

    75%{
        transform:
            translate3d(-30px,78vh,0)
            rotate(290deg);
    }

    100%{
        transform:
            translate3d(45px,115vh,0)
            rotate(420deg);
        opacity:0;
    }
}

/* =====================================================
   CHANGE ANIMATION
===================================================== */

.lux-region-card.lux-is-changing{
    animation:luxCardChange .5s ease;
}

@keyframes luxCardChange{
    0%{
        transform:translateY(0);
    }

    45%{
        transform:translateY(-8px);
    }

    100%{
        transform:translateY(0);
    }
}

/* =====================================================
   TABLET
===================================================== */

@media (max-width:1100px){

    .lux-japan-regions{
        padding:90px 0 100px;
    }

    .lux-regions-stage{
        min-height:650px;
        grid-template-columns:minmax(320px, 43%) minmax(0, 57%);
    }

    .lux-region-panel{
        margin-right:-55px;
    }

    .lux-region-card{
        max-width:425px;
    }

    .lux-region-photo{
        height:250px;
    }

    .lux-map-column,
    .lux-map-wrap{
        min-height:650px;
        height:650px;
    }

    .lux-map-base,
    .lux-map-highlight{
        left:56%;
        width:137%;
        height:137%;
    }
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width:767px){

    .lux-japan-regions{
        padding:70px 0;
    }

    .lux-regions-heading{
        margin-bottom:42px;
    }

    .lux-regions-heading h2{
        font-size:41px;
        letter-spacing:-1.5px;
    }

    .lux-regions-heading p{
        font-size:15px;
    }

    .lux-regions-stage{
        display:flex;
        min-height:0;
        flex-direction:column;
    }

    .lux-region-panel{
        width:100%;
        margin:0;
        order:2;
    }

    .lux-region-card{
        max-width:100%;
    }

    .lux-region-photo{
        height:245px;
    }

    .lux-region-content > p{
        min-height:auto;
    }

    .lux-region-controls{
        max-width:100%;
    }

    .lux-map-column{
        width:100%;
        min-height:480px;
        order:1;
        margin-bottom:-70px;
    }

    .lux-map-wrap{
        height:520px;
    }

    .lux-map-base,
    .lux-map-highlight{
        top:46%;
        left:50%;
        width:125%;
        height:125%;
    }

    .lux-map-caption{
        right:18px;
        bottom:90px;
    }

    .lux-map-glow{
        width:430px;
        height:430px;
    }

    .lux-japan-bg-text{
        bottom:0;
        font-size:145px;
    }
}

/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width:480px){

    .lux-japan-regions{
        padding:58px 0;
    }

    .lux-regions-heading h2{
        font-size:35px;
    }

    .lux-region-card{
        padding:12px;
        border-radius:25px;
    }

    .lux-region-photo{
        height:215px;
        border-radius:18px;
    }

    .lux-region-content{
        padding:25px 12px 15px;
    }

    .lux-region-title-row h3{
        font-size:29px;
    }

    .lux-region-content > p{
        font-size:14px;
    }

    .lux-region-controls{
        gap:11px;
    }

    .lux-region-arrow{
        flex-basis:46px;
        width:46px;
        height:46px;
    }

    .lux-region-progress{
        gap:5px;
    }

    .lux-progress-dot{
        width:6px;
        height:6px;
    }

    .lux-progress-dot.active{
        width:20px;
    }

    .lux-map-column{
        min-height:410px;
        margin-bottom:-55px;
    }

    .lux-map-wrap{
        height:450px;
    }

    .lux-map-base,
    .lux-map-highlight{
        width:135%;
        height:135%;
    }

    .lux-map-caption{
        display:none;
    }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){

    .lux-petal,
    .lux-map-glow,
    .lux-map-highlight.active{
        animation:none;
    }

    .lux-region-slide,
    .lux-map-highlight,
    .lux-region-arrow,
    .lux-progress-dot{
        transition:none;
    }
}
.mmsd{
    color:#fff;
}
.ijd-contact-detail-icon.remred {
    background: transparent;
}
