    :root {
      --pink:#F4A0B5;--pink-dark:#E87B9D;--pink-pale:#FFF0F5;
      --terra:#C0614A;--terra-light:#E07A63;
      --purple:#9B6BB5;--purple-light:#C49AD4;
      --green:#7BC67A;--green-dark:#5AA858;--green-pale:#EFFFEE;
      
      --yellow:#FFD95A;--sky:#A8D8EA;
      --white:#FFFFFF;--text:#3D2B1F;--text-light:#7A6259;
      --bg:#FFFBF9;--bg2:#FFF5F8;
      --shadow:0 4px 24px rgba(192,97,74,0.10);
      --radius:20px;--radius-lg:36px;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{font-family:'Noto Sans JP',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;}
    a{text-decoration:none;color:inherit;}
    img{max-width:100%;height:auto;display:block;}
    ul{list-style:none;}

    /* HEADER */
    #header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);box-shadow:0 2px 16px rgba(192,97,74,0.08);}
    .header-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 24px;}
    .logo-wrap{display:flex;align-items:center;gap:10px;}
    .logo-wrap img{width:52px;height:52px;object-fit:contain;border-radius:50%;border:2px solid var(--terra);}
    .logo-text .en{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.1rem;color:var(--terra);}
    .logo-text .ja{font-size:0.6rem;color:var(--text-light);font-weight:500;}
    nav.pc-nav{display:flex;align-items:center;gap:2px;}
    nav.pc-nav a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 11px;border-radius:12px;font-size:0.73rem;font-weight:700;color:var(--text);transition:background 0.2s,color 0.2s;}
    nav.pc-nav a .ni{font-size:1rem;}
    nav.pc-nav a:hover{background:var(--pink-pale);color:var(--terra);}
    .btn-cnav{background:var(--terra)!important;color:var(--white)!important;border-radius:24px!important;padding:9px 18px!important;}
    .btn-cnav:hover{background:var(--terra)!important;}
    .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;border:none;background:none;}
    .hamburger span{display:block;width:26px;height:3px;background:var(--terra);border-radius:2px;transition:all 0.3s;}
    .mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(255,255,255,0.99);z-index:999;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,0.08);border-top:2px solid var(--pink-pale);}
    .mobile-menu.open{display:block;}
    .mobile-menu a{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;font-weight:700;font-size:0.95rem;margin-bottom:4px;transition:background 0.2s;}
    .mobile-menu a:hover{background:var(--pink-pale);color:var(--terra);}

    /* HERO */
    #hero{margin-top:72px;position:relative;min-height:calc(100vh - 72px);display:flex;align-items:stretch;overflow:hidden;background:linear-gradient(135deg,#FFFBF9 0%,#FFF0F5 45%,#F9F0FF 100%);}
    .hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:0.35;pointer-events:none;}
    .hb1{width:500px;height:500px;background:var(--pink);top:-150px;right:-100px;}
    .hb2{width:350px;height:350px;background:var(--purple-light);bottom:-80px;left:-80px;}
    .hb3{width:200px;height:200px;background:var(--yellow);top:40%;left:45%;}
    .dot{width:12px;height:12px;border-radius:50%;position:absolute;pointer-events:none;animation:fdot 4s ease-in-out infinite;}
    .d1{background:var(--terra);top:18%;left:7%;}
    .d2{background:var(--green);top:28%;right:12%;width:18px;height:18px;animation-delay:0.6s;}
    .d3{background:var(--yellow);bottom:22%;right:22%;width:10px;height:10px;animation-delay:1.1s;}
    .d4{background:var(--sky);top:62%;left:6%;animation-delay:1.6s;}
    .d5{background:var(--terra);top:12%;right:38%;width:8px;height:8px;animation-delay:0.9s;}
    @keyframes fdot{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
    .hero-inner{position:relative;z-index:1;width:100%;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;min-height:calc(100vh - 72px);}
    .hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:2px solid var(--terra);border-radius:100px;padding:6px 18px;font-size:0.78rem;font-weight:700;color:var(--terra);margin-bottom:20px;animation:fadeUp 0.6s ease both;}
    .badge-dot{width:8px;height:8px;background:var(--terra);border-radius:50%;animation:pulse 1.5s infinite;}
    @keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.4)}}
    .hero-title{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(2.2rem,4.5vw,3.2rem);color:var(--terra);line-height:1.15;margin-bottom:10px;animation:fadeUp 0.7s 0.1s ease both;}
    .hero-sub{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:900;line-height:1.55;color:var(--text);margin-bottom:20px;animation:fadeUp 0.7s 0.15s ease both;}
    .hero-sub em{color:var(--terra);font-style:normal;}
    .hero-desc{font-size:0.93rem;color:var(--text-light);line-height:1.85;margin-bottom:36px;animation:fadeUp 0.7s 0.2s ease both;}
    .hero-btns{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp 0.7s 0.3s ease both;}
    .btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--terra);color:var(--white);font-weight:700;font-size:0.93rem;padding:14px 26px;border-radius:100px;transition:all 0.25s;box-shadow:0 4px 16px rgba(192,97,74,0.35);}
    .btn-primary:hover{background:var(--terra);transform:translateY(-2px);box-shadow:0 8px 24px rgba(192,97,74,0.4);}
    .btn-secondary{display:inline-flex;align-items:center;gap:8px;background:var(--white);color:var(--green);font-weight:700;font-size:0.93rem;padding:14px 26px;border-radius:100px;border:2px solid var(--green);transition:all 0.25s;}
    .btn-secondary:hover{background:var(--green-pale);transform:translateY(-2px);}
    .hero-img-wrap{position:relative;animation:fadeRight 0.8s 0.2s ease both;display:flex;align-items:stretch;height:100%;}
    .hero-img-wrap img{border-radius:var(--radius-lg);width:100%;object-fit:cover;max-height:520px;box-shadow:0 20px 60px rgba(90,138,60,0.15);}
    .hero-card{position:absolute;background:var(--white);border-radius:14px;padding:10px 16px;box-shadow:0 6px 20px rgba(0,0,0,0.10);font-size:0.8rem;font-weight:700;display:flex;align-items:center;gap:8px;}
    .hc1{bottom:-14px;left:-18px;color:var(--terra);}
    .hc2{top:-14px;right:-18px;color:var(--green);}
    .hc-icon{font-size:1.3rem;}
    @keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
    @keyframes fadeRight{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}

    /* WAVE */
    .wave{position:relative;width:100%;overflow:hidden;line-height:0;}
    .wave svg{display:block;}

    /* SECTION COMMON */
    section{padding:84px 24px;}
    .sec-inner{max-width:1160px;margin:0 auto;}
    .sec-label{font-family:'Nunito',sans-serif;font-weight:900;font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--terra);display:flex;align-items:center;gap:10px;margin-bottom:8px;}
    .sec-label::before,.sec-label::after{content:'';display:block;height:2px;width:28px;background:var(--terra);border-radius:2px;opacity:0.4;}
    .sec-title{font-weight:900;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--text);margin-bottom:14px;line-height:1.3;}
    .sec-title em{color:var(--terra);font-style:normal;}
    .sec-desc{color:var(--text-light);line-height:1.85;font-size:0.93rem;}
    .sr{opacity:0;transform:translateY(28px);transition:opacity 0.6s ease,transform 0.6s ease;}
    .sr.vis{opacity:1;transform:translateY(0);}

    /* WELCOME */
    #welcome{background:var(--white);}
    .welcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
    .welcome-img{position:relative;}
    .welcome-img img:first-child{border-radius:var(--radius-lg);width:100%;object-fit:cover;max-height:440px;box-shadow:var(--shadow);}
    .welcome-img::before{content:'';position:absolute;top:-12px;left:-12px;right:12px;bottom:12px;border:3px solid var(--terra);border-radius:var(--radius-lg);z-index:-1;}
    .wi-illust{position:absolute;bottom:-28px;right:-28px;width:110px;border-radius:0;box-shadow:none;}
    .feat-list{display:flex;flex-direction:column;gap:12px;margin:24px 0 32px;}
    .feat-item{display:flex;align-items:flex-start;gap:12px;background:var(--pink-pale);border-radius:12px;padding:14px 18px;}
    .feat-icon{font-size:1.45rem;flex-shrink:0;margin-top:2px;}
    .feat-item strong{display:block;font-size:0.93rem;color:var(--terra);margin-bottom:2px;}
    .feat-item span{font-size:0.8rem;color:var(--text-light);}

    /* CARE */
    #care{background:var(--bg2);}
    .care-header{text-align:center;margin-bottom:48px;}
    .care-header .sec-label{justify-content:center;}
    .care-header .sec-desc{max-width:640px;margin:0 auto;text-align:center;}
    .care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px;}
    .care-card{background:var(--white);border-radius:var(--radius);padding:24px 16px;text-align:center;box-shadow:var(--shadow);transition:transform 0.25s;border-top:3px solid var(--pink);}
    .care-card:hover{transform:translateY(-5px);}
    .care-card .cc-icon{font-size:2rem;margin-bottom:10px;}
    .care-card h3{font-size:0.88rem;font-weight:700;color:var(--text);margin-bottom:6px;}
    .care-card p{font-size:0.75rem;color:var(--text-light);line-height:1.6;}
    .care-table-wrap{background:var(--white);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);max-width:800px;margin:0 auto;}
    .care-table-wrap h3{font-size:1rem;font-weight:900;color:var(--terra);margin-bottom:20px;display:flex;align-items:center;gap:8px;}
    .care-tags{display:flex;flex-wrap:wrap;gap:8px;}
    .care-tag{display:flex;align-items:center;gap:6px;background:var(--pink-pale);border-radius:100px;padding:6px 14px;font-size:0.8rem;font-weight:700;color:var(--terra);}
    .care-tag::before{content:'◎';font-size:0.75rem;}

    /* SERVICES */
    #services{background:linear-gradient(135deg,var(--pink-pale) 0%,#F9F0FF 100%);position:relative;overflow:hidden;}
    #services::before{content:'';position:absolute;width:350px;height:350px;border-radius:50%;background:rgba(192,97,74,0.1);top:-80px;right:-80px;}
    .svc-header{text-align:center;margin-bottom:48px;}
    .svc-header .sec-label{justify-content:center;}
    .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
    .svc-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform 0.25s,box-shadow 0.25s;}
    .svc-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(90,138,60,0.15);}
    .svc-card > img{width:100%;height:260px;object-fit:cover;}
    .svc-body{padding:22px 20px;}
    .svc-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:10px;}
    .ic-o{background:var(--pink-pale);}
    .ic-g{background:var(--green-pale);}
    .svc-body h3{font-weight:900;font-size:0.95rem;color:var(--terra);margin-bottom:8px;}
    .svc-body p{font-size:0.8rem;color:var(--text-light);line-height:1.7;}

    /* GALLERY */
    #gallery{background:var(--white);}
    .gal-header{text-align:center;margin-bottom:40px;}
    .gal-header .sec-label{justify-content:center;}
    .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
    .gal-item{border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;aspect-ratio:1/1;}
    .gal-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.35s;}
    .gal-item:hover img{transform:scale(1.05);}
    .gal-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(90,138,60,0.55) 0%,transparent 55%);opacity:0;transition:opacity 0.3s;display:flex;align-items:flex-end;padding:14px;}
    .gal-item:hover .gal-overlay{opacity:1;}
    .gal-overlay span{color:var(--white);font-weight:700;font-size:0.82rem;}

    /* FLOW */
    #flow{background:var(--bg2);}
    .flow-header{text-align:center;margin-bottom:56px;}
    .flow-header .sec-label{justify-content:center;}
    .flow-wrap{max-width:680px;margin:0 auto;position:relative;}
    .flow-wrap::before{content:'';position:absolute;left:92px;top:24px;bottom:24px;width:3px;background:linear-gradient(to bottom,var(--terra),var(--green));border-radius:2px;}
    .flow-row{display:flex;align-items:flex-start;gap:20px;padding:14px 0;}
    .flow-time{width:106px;text-align:right;padding-right:8px;flex-shrink:0;font-family:'Nunito',sans-serif;font-weight:900;font-size:1rem;color:var(--terra);padding-top:10px;}
    .flow-dot{width:26px;height:26px;border-radius:50%;background:var(--terra);border:4px solid var(--white);box-shadow:0 0 0 2px var(--terra);flex-shrink:0;z-index:1;margin-top:8px;}
    .flow-body{flex:1;background:var(--white);border-radius:14px;padding:13px 18px;box-shadow:0 2px 10px rgba(0,0,0,0.06);}
    .flow-body strong{display:flex;align-items:center;gap:7px;font-size:0.93rem;color:var(--terra);margin-bottom:3px;}
    .flow-body span{font-size:0.8rem;color:var(--text-light);}

    /* ABOUT */
    #about{background:var(--white);}
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
    .about-img img{border-radius:var(--radius-lg);width:100%;object-fit:cover;max-height:440px;box-shadow:var(--shadow);}
    .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0 32px;}
    .stat-box{background:var(--pink-pale);border-radius:16px;padding:20px 14px;text-align:center;}
    .stat-box .sb-icon{font-size:1.8rem;margin-bottom:6px;}
    .stat-box .sb-val{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.4rem;color:var(--terra);line-height:1.2;}
    .stat-box .sb-lbl{font-size:0.75rem;color:var(--text-light);font-weight:700;margin-top:4px;}

    /* OUTING */
    #outing{background:linear-gradient(135deg,var(--pink-pale) 0%,#F9F0FF 100%);}
    .outing-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
    .outing-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
    .outing-imgs img{border-radius:var(--radius);width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;box-shadow:var(--shadow);}
    .outing-imgs img:first-child{aspect-ratio:4/3;}

    /* ACCESS */
    #access{background:var(--white);}
    .access-head{text-align:center;margin-bottom:48px;}
    .access-head .sec-label{justify-content:center;}
    .access-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
    .access-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:320px;background:#e8e8e8;display:flex;align-items:center;justify-content:center;}
    .access-map iframe{width:100%;height:100%;border:none;}
    .map-placeholder{text-align:center;color:var(--text-light);font-size:0.88rem;padding:20px;}
    .info-tbl{width:100%;border-collapse:collapse;}
    .info-tbl tr{border-bottom:1px solid #EDE0D4;}
    .info-tbl th{text-align:left;padding:14px 0;font-size:0.8rem;color:var(--terra);font-weight:700;width:110px;vertical-align:top;}
    .info-tbl td{padding:14px 0;font-size:0.86rem;color:var(--text);line-height:1.7;}
    .area-tag{display:inline-flex;background:var(--pink-pale);color:var(--terra);border-radius:100px;padding:2px 10px;font-size:0.75rem;font-weight:700;margin:2px 3px;}

    /* CONTACT */
    #contact{background:linear-gradient(135deg,var(--terra) 0%,var(--terra) 100%);padding:84px 24px;text-align:center;position:relative;overflow:hidden;}
    #contact::before{content:'';position:absolute;font-size:200px;opacity:0.06;top:-40px;right:-40px;}
    #contact .sec-label{justify-content:center;color:rgba(255,255,255,0.7);}
    #contact .sec-label::before,#contact .sec-label::after{background:rgba(255,255,255,0.3);}
    #contact .sec-title{color:var(--white);}
    #contact .sec-title em{color:var(--white);}
    #contact .sec-desc{color:rgba(255,255,255,0.82);max-width:520px;margin:8px auto 40px;text-align:center;}
    .contact-btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}
    .btn-tel{display:inline-flex;align-items:center;gap:10px;background:var(--white);color:var(--terra);font-weight:900;font-size:1.25rem;padding:16px 34px;border-radius:100px;transition:all 0.25s;box-shadow:0 4px 20px rgba(0,0,0,0.15);font-family:'Nunito',sans-serif;}
    .btn-tel:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,0.2);}
    .btn-mail{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.15);border:2px solid rgba(255,255,255,0.6);color:var(--white);font-weight:700;font-size:0.95rem;padding:16px 30px;border-radius:100px;transition:all 0.25s;}
    .btn-mail:hover{background:rgba(255,255,255,0.25);transform:translateY(-3px);}

    /* FOOTER */
    footer{background:#2D1B14;color:rgba(255,255,255,0.65);padding:52px 24px 24px;}
    .ft-inner{max-width:1160px;margin:0 auto;}
    .ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:28px;}
    .ft-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
    .ft-logo img{width:42px;height:42px;object-fit:contain;border-radius:50%;border:2px solid rgba(255,255,255,0.15);}
    .ft-logo .logo-text .en{color:var(--pink);font-size:0.95rem;}
    .ft-logo .logo-text .ja{color:rgba(255,255,255,0.4);}
    .ft-desc{font-size:0.8rem;line-height:1.85;}
    .ft-col h4{font-size:0.82rem;font-weight:700;color:var(--pink);margin-bottom:14px;}
    .ft-col a{display:block;font-size:0.8rem;margin-bottom:9px;transition:color 0.2s;}
    .ft-col a:hover{color:var(--terra);}
    .ft-bottom{text-align:center;font-size:0.75rem;color:rgba(255,255,255,0.3);}

    .scroll-top{position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:var(--terra);color:var(--white);border:none;border-radius:50%;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 16px rgba(192,97,74,0.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s,transform 0.25s;z-index:900;}
    .scroll-top.show{opacity:1;}
    .scroll-top:hover{transform:scale(1.1);}


    /* ===== 個別アイコン装飾 ===== */
    .ic-float { position:absolute; pointer-events:none; z-index:0; }
    .hero-ic-1 { bottom:30px; left:20px; width:90px; opacity:0.7; }
    .hero-ic-2 { top:50px; left:70px; width:65px; opacity:0.55; }
    .hero-ic-3 { top:20px; right:30px; width:80px; opacity:0.5; }
    .hero-ic-4 { bottom:80px; left:140px; width:60px; opacity:0.5; }
    #welcome { position:relative; overflow:hidden; }
    .wc-ic-1 { top:30px; right:30px; width:75px; opacity:0.3; }
    .wc-ic-2 { bottom:40px; right:50px; width:65px; opacity:0.28; }
    #care { position:relative; overflow:hidden; }
    .care-ic-1 { top:20px; left:20px; width:65px; opacity:0.25; }
    .care-ic-2 { bottom:20px; right:20px; width:75px; opacity:0.25; }
    #services { position:relative; }
    .svc-ic-1 { top:20px; left:20px; width:65px; opacity:0.25; }
    .svc-ic-2 { bottom:20px; right:20px; width:70px; opacity:0.25; }
    .svc-illust { width:52px; height:52px; object-fit:contain; margin-bottom:10px; }
    #flow { position:relative; overflow:hidden; }
    .flow-ic-1 { top:30px; right:20px; width:110px; opacity:0.28; }
    .flow-ic-2 { bottom:30px; left:20px; width:75px; opacity:0.25; }
    #about { position:relative; overflow:hidden; }
    .about-ic-1 { top:20px; right:20px; width:70px; opacity:0.25; }
    #outing { position:relative; overflow:hidden; }
    .out-ic-1 { top:20px; right:20px; width:75px; opacity:0.28; }
    .out-ic-2 { bottom:20px; left:20px; width:65px; opacity:0.25; }
    .con-ic-1 { top:20px; left:30px; width:85px; opacity:0.18; }
    .con-ic-2 { bottom:20px; right:30px; width:75px; opacity:0.18; }
    .con-ic-3 { top:50%; left:60px; width:60px; opacity:0.15; transform:translateY(-50%); }
    .marker-deco { display:block; width:180px; height:28px; object-fit:cover; object-position:center center; margin:6px auto 0; opacity:0.85; }
    .marker-deco-left { display:block; width:160px; height:24px; object-fit:cover; object-position:center center; margin:6px 0 0; opacity:0.85; }
    @media(max-width:768px){
      .hero-ic-1,.hero-ic-2,.hero-ic-3,.hero-ic-4 { display:none; }
      .wc-ic-1,.wc-ic-2,.care-ic-1,.care-ic-2,.svc-ic-1,.svc-ic-2 { display:none; }
      .flow-ic-1,.flow-ic-2,.about-ic-1,.out-ic-1,.out-ic-2 { display:none; }
      .con-ic-1,.con-ic-2,.con-ic-3 { display:none; }
    }

    /* RESPONSIVE */
    @media(max-width:1024px){
      .svc-grid{grid-template-columns:1fr 1fr;}
      .care-grid{grid-template-columns:repeat(2,1fr);}
      .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
      .ft-top{grid-template-columns:1fr 1fr;}
    }
    @media(max-width:768px){
      nav.pc-nav{display:none;}
      .hamburger{display:flex;}
      .hero-inner{grid-template-columns:1fr;padding:0;text-align:left;min-height:auto;}
      .hero-img-wrap{order:-1;width:100%;height:300px;}
      .hero-slider{min-height:300px !important;}
      .hero-btns{justify-content:flex-start;}
      .hc1,.hc2{display:none;}
      .welcome-grid,.about-grid,.outing-grid,.access-grid{grid-template-columns:1fr;}
      .welcome-img{order:-1;}
      .about-img{order:-1;}
      .svc-grid{grid-template-columns:1fr;}
      .care-grid{grid-template-columns:1fr 1fr;}
      .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
      .flow-wrap::before{left:72px;}
      .flow-time{width:82px;font-size:0.85rem;}
      .ft-top{grid-template-columns:1fr;gap:24px;}
      .contact-btns{flex-direction:column;align-items:center;}
      .stats-grid{grid-template-columns:1fr 1fr;}
    }
    @media(max-width:480px){
      section{padding:60px 16px;}
      .care-grid{grid-template-columns:1fr;}
      .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
      .outing-imgs img:first-child{aspect-ratio:4/3;}
    }

    /* Instagram ナビボタン */
    .insta-nav-btn {
      display: inline-flex !important;
      align-items: center;
      gap: 6px;
      background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
      color: var(--white) !important;
      border-radius: 24px !important;
      padding: 8px 16px !important;
      font-size: 0.78rem !important;
      font-weight: 700 !important;
      transition: opacity 0.2s !important;
    }
    .insta-nav-btn:hover {
      opacity: 0.85 !important;
      color: var(--white) !important;
    }

    /* 情報公開グリッド */
    .disclosure-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      max-width: 900px;
      margin: 0 auto;
    }
    @media (max-width: 768px) {
      .disclosure-grid { grid-template-columns: 1fr; max-width: 480px; }
    }

    /* ヒーロースライダー */
    .hero-slider {
      position: relative;
      width: 100%;
      height: 100%;
      border-radius: 0;
      overflow: hidden;
    }
    .hero-slide {
      display: none;
      width: 100%;
      height: 100%;
    }
    .hero-slide.active { display: block; }
    .hero-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
    @media (max-width: 768px)  { .hero-slide img { height: 300px; } }
    .slider-prev, .slider-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(255,255,255,0.85);
      border: none;
      border-radius: 50%;
      width: 40px;
      height: 40px;
      font-size: 1.3rem;
      font-weight: 700;
      cursor: pointer;
      color: var(--terra);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10;
      transition: background 0.2s;
      line-height: 1;
    }
    .slider-prev { left: 10px; }
    .slider-next { right: 10px; }
    .slider-prev:hover, .slider-next:hover { background: var(--white); }
    .slider-dots {
      position: absolute;
      bottom: 12px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 6px;
      z-index: 10;
    }
    .slider-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: rgba(255,255,255,0.5);
      cursor: pointer;
      transition: background 0.2s;
    }
    .slider-dot.active { background: var(--white); }

    /* about.html スタッフ5列対応 */
    @media (max-width: 768px) {
      .stats-grid[style*="repeat(5"] { grid-template-columns: repeat(2, 1fr) !important; }
    }
    @media (max-width: 480px) {
      .stats-grid[style*="repeat(5"] { grid-template-columns: 1fr !important; }
    }
    /* 代表あいさつグリッドスマホ対応 */
    @media (max-width: 768px) {
      #greeting .sec-inner > div:last-child { grid-template-columns: 1fr !important; }
    }

    /* ヒーロー左コンテンツ */
    .hero-content-left {
      padding: 48px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
    }
    @media (max-width: 768px) {
      .hero-content-left {
        padding: 32px 20px;
        text-align: left;
        align-items: flex-start;
      }
      .hero-title { font-size: 1.4rem !important; }
    }
    /* stats-grid 4列レスポンシブ */
    @media (max-width: 768px) {
      .stats-grid[style*="repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
    }
    @media (max-width: 480px) {
      .stats-grid[style*="repeat(4"] { grid-template-columns: 1fr !important; }
    }
    /* ロゴ2行対応 */
    .logo-text .en br { display: block; }

    /* FAQ */
    .faq-list { display: flex; flex-direction: column; gap: 12px; }
    .faq-item {
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }
    .faq-q {
      background: var(--white);
      padding: 16px 20px 16px 52px;
      font-weight: 700;
      font-size: 0.93rem;
      color: var(--text);
      position: relative;
    }
    .faq-q::before {
      content: 'Q';
      position: absolute;
      left: 16px;
      top: 50%;
      transform: translateY(-50%);
      font-family: 'Nunito', sans-serif;
      font-weight: 900;
      font-size: 1.1rem;
      color: var(--terra);
    }
    .faq-a {
      background: var(--pink-pale);
      padding: 14px 20px 14px 52px;
      font-size: 0.85rem;
      color: var(--text-light);
      line-height: 1.8;
      position: relative;
    }
    .faq-a::before {
      content: 'A';
      position: absolute;
      left: 16px;
      top: 14px;
      font-family: 'Nunito', sans-serif;
      font-weight: 900;
      font-size: 1.1rem;
      color: var(--pink-dark);
    }


    /* ===== スマホ表示 総合修正 ===== */
    @media (max-width: 768px) {

      /* ヘッダーロゴ */
      .logo-wrap img { width: 40px; height: 40px; }
      .logo-text .en { font-size: 0.75rem !important; }

      /* ヒーロー */
      #hero { min-height: auto; height: auto; }
      .hero-inner {
        grid-template-columns: 1fr !important;
        padding: 0 !important;
        gap: 0 !important;
        min-height: auto !important;
      }
      .hero-img-wrap { order: -1; width: 100%; height: 260px; display: block; }
      .hero-slider { min-height: 260px !important; height: 260px !important; }
      .hero-slide img { height: 260px !important; min-height: 260px !important; }
      .hero-inner > div[style*="padding"] {
        padding: 28px 20px !important;
      }
      .hero-title { font-size: 1.1rem !important; white-space: normal !important; }
      .hero-sub { font-size: 1.1rem !important; }
      .hero-desc { font-size: 0.85rem !important; }
      .hero-btns { flex-direction: column; align-items: flex-start; gap: 10px; }
      .hero-btns .btn-primary,
      .hero-btns .btn-secondary { width: 100%; justify-content: center; font-size: 0.85rem; padding: 12px 16px; }

      /* hero-badge */
      .hero-badge { font-size: 0.72rem; padding: 5px 12px; }

      /* Welcomeセクション */
      .welcome-grid { grid-template-columns: 1fr !important; gap: 32px; }
      .welcome-img { order: -1; }
      .welcome-img img { max-height: 280px; }

      /* セクション共通 */
      .sec-title { font-size: 1.4rem !important; }
      section { padding: 52px 16px !important; }

      /* feat-item */
      .feat-item { flex-direction: row; gap: 10px; }
      .feat-item img { width: 36px !important; height: 36px !important; }
      .feat-item strong { font-size: 0.85rem; }
      .feat-item span { font-size: 0.78rem; }

      /* サービスグリッド */
      .svc-grid { grid-template-columns: 1fr !important; }
      .svc-card > img { height: 180px; object-position: center top; }

      /* ギャラリー */
      .gal-grid { grid-template-columns: 1fr 1fr !important; }
      .gal-item { aspect-ratio: 1/1 !important; }

      /* 医療的ケア */
      .care-grid { grid-template-columns: 1fr 1fr !important; }
      .care-table-wrap { padding: 20px 16px; }
      .care-tags { gap: 6px; }
      .care-tag { font-size: 0.75rem; padding: 4px 10px; }

      /* フロータイムライン */
      .flow-wrap::before { left: 60px; }
      .flow-time { width: 70px; font-size: 0.78rem; padding-top: 8px; }
      .flow-dot { width: 22px; height: 22px; margin-top: 6px; }
      .flow-body { padding: 10px 14px; }
      .flow-body strong { font-size: 0.85rem; }
      .flow-body span { font-size: 0.78rem; }

      /* aboutグリッド */
      .about-grid { grid-template-columns: 1fr !important; gap: 32px; }
      .about-img { order: -1; }
      .about-img img { max-height: 280px; }
      .stats-grid { grid-template-columns: 1fr 1fr !important; }

      /* outingグリッド */
      .outing-grid { grid-template-columns: 1fr !important; gap: 24px; }
      .outing-imgs { grid-template-columns: 1fr 1fr !important; }
      .outing-imgs img { height: 160px !important; }
      .outing-imgs img:first-child { grid-column: span 2 !important; height: 200px !important; }

      /* アクセス */
      .access-grid { grid-template-columns: 1fr !important; gap: 24px; }
      .access-map { height: 260px; }
      .info-tbl th { width: 80px; font-size: 0.75rem; }
      .info-tbl td { font-size: 0.82rem; }
      .area-tag { font-size: 0.7rem; padding: 2px 8px; }

      /* contactボタン */
      .contact-btns { flex-direction: column; align-items: center; gap: 12px; }
      .btn-tel { font-size: 1rem; padding: 14px 24px; }
      .btn-mail { font-size: 0.85rem; padding: 12px 20px; width: 100%; max-width: 320px; text-align: center; justify-content: center; }
      .btn-primary { font-size: 0.85rem; padding: 12px 20px; }
      .btn-secondary { font-size: 0.85rem; padding: 12px 20px; }

      /* FAQ */
      .faq-q { font-size: 0.85rem; padding: 14px 16px 14px 44px; }
      .faq-q::before { left: 12px; font-size: 1rem; }
      .faq-a { font-size: 0.8rem; padding: 12px 16px 12px 44px; }
      .faq-a::before { left: 12px; font-size: 1rem; }

      /* フッター */
      .ft-top { grid-template-columns: 1fr !important; gap: 24px; }
      .ft-logo img { width: 36px; height: 36px; }
      .ft-desc { font-size: 0.78rem; }
      .ft-col a { font-size: 0.78rem; }

      /* 代表あいさつ */
      #greeting .sec-inner > div { grid-template-columns: 1fr !important; }

      /* 情報公開 */
      .disclosure-grid { grid-template-columns: 1fr !important; }

      /* sec-label */
      .sec-label { font-size: 0.75rem; }

      /* stats-grid 4列 */
      .stats-grid[style*="repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
    }

    @media (max-width: 480px) {
      .hero-img-wrap { height: 220px; }
      .hero-slider { min-height: 220px !important; height: 220px !important; }
      .hero-slide img { height: 220px !important; min-height: 220px !important; }
      .care-grid { grid-template-columns: 1fr !important; }
      .gal-grid { grid-template-columns: 1fr !important; grid-auto-rows: 200px; }
      .stats-grid { grid-template-columns: 1fr !important; }
      .stats-grid[style*="repeat(4"] { grid-template-columns: 1fr !important; }
      .outing-imgs { grid-template-columns: 1fr !important; }
      .outing-imgs img:first-child { grid-column: span 1 !important; }
      .flow-wrap::before { left: 50px; }
      .flow-time { width: 58px; font-size: 0.72rem; }
      section { padding: 44px 14px !important; }
    }

    /* ヒーロー左コンテンツ内側 */
    .hero-content-inner {
      padding: 48px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
    }
    @media (max-width: 768px) {
      .hero-content-inner {
        padding: 28px 20px 36px;
        align-items: flex-start;
      }
    }
    @media (max-width: 480px) {
      .hero-content-inner { padding: 24px 16px 28px; }
    }

    /* 1日の流れ セクションタイトル */
    .flow-section-title {
      font-weight: 900;
      font-size: 1.2rem;
      color: var(--text);
      margin-bottom: 8px;
      line-height: 1.5;
    }
    .flow-section-title em { color: var(--terra); font-style: normal; }
    @media (max-width: 768px) {
      .flow-section-title { font-size: 1rem; }
    }
    @media (max-width: 480px) {
      .flow-section-title { font-size: 0.95rem; }
    }

    /* お問い合わせフォーム */
    .contact-form-grid { }
    @media (max-width: 768px) {
      .contact-form-grid { grid-template-columns: 1fr !important; }
    }
    .form-row { margin-bottom: 18px; }
    .form-row label {
      display: block;
      font-size: 0.82rem;
      font-weight: 700;
      color: var(--text);
      margin-bottom: 6px;
    }
    .required {
      background: var(--terra);
      color: var(--white);
      font-size: 0.7rem;
      padding: 2px 6px;
      border-radius: 4px;
      margin-left: 6px;
      vertical-align: middle;
    }
    .form-row input,
    .form-row textarea {
      width: 100%;
      padding: 10px 14px;
      border: 2px solid #F0E8E4;
      border-radius: 10px;
      font-size: 0.88rem;
      font-family: 'Noto Sans JP', sans-serif;
      color: var(--text);
      background: var(--white);
      transition: border-color 0.2s;
      outline: none;
    }
    .form-row input:focus,
    .form-row textarea:focus {
      border-color: var(--terra);
    }
    .form-row textarea { resize: vertical; }

    /* ギャラリー・外出 スマホ対応 */
    @media (max-width: 768px) {
      .gal-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
      .outing-imgs { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
    }
    @media (max-width: 480px) {
      .gal-grid { grid-template-columns: 1fr !important; }
      .outing-imgs { grid-template-columns: 1fr !important; }
    }
