/*
Theme Name: SMILE SMILE
Theme URI: https://fuga-smile-smile.jp/
Author: SMILE SMILE
Author URI: https://fuga-smile-smile.jp/
Description: 放課後等デイサービス SMILE SMILE 用のカスタムテーマ。ナチュラルで温かみのあるデザイン。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: smilesmile
Domain Path: /languages
*/
:root{--color-primary:#C9AA86;--color-primary-dark:#B58E63;--color-secondary:#F6F1E8;--color-accent:#8FBF9B;--color-accent-light:#E8F0EA;--color-wave:#F1E7DB;--color-text:#3B3A36;--color-text-light:#6B675F;--color-background:#F6F1E8;--color-white:#FFFFFF;--color-border:#E7DFD3;--radius:18px;--shadow-sm:0 4px 14px rgba(60,50,40,.06);--shadow-md:0 8px 24px rgba(60,50,40,.08)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'M PLUS Rounded 1c','Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;color:var(--color-text);background-color:var(--color-background);letter-spacing:0.5px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;margin-bottom:1rem}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color 0.3s ease}a:hover{color:var(--color-primary-dark)}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1rem}
@media (min-width:768px){.container{padding:0 2rem}}
.site-header{position:sticky;top:0;z-index:100;background-color:var(--color-white);box-shadow:var(--shadow-sm)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.site-logo{display:flex;align-items:center;gap:0.5rem}
.site-logo img{height:50px;width:auto}
.site-logo a{display:flex;align-items:center;gap:0.5rem;color:var(--color-text)}
.site-title{font-size:1.25rem;font-weight:700;color:var(--color-text)}
.site-description{font-size:0.75rem;color:var(--color-text-light)}
.main-navigation{display:none}
@media (min-width:768px){
  .main-navigation{display:flex;gap:2rem}
  .main-navigation a{font-size:0.95rem;font-weight:500;color:var(--color-text);transition:color 0.3s ease}
  .main-navigation a:hover{color:var(--color-primary)}
}
  .mobile-menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;color:var(--color-text);font-size:1.5rem}
  @media (min-width:768px){.mobile-menu-button{display:none}}
  
  .cta-button{display:inline-block;padding:0.75rem 1.5rem;background-color:var(--color-primary);color:var(--color-white);border-radius:9999px;font-weight:600;transition:background-color 0.3s ease,transform 0.2s ease;border:none;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
  .cta-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}
  .cta-button-outline{background-color:rgba(255,255,255,0.9);color:var(--color-primary)}
  .cta-button-outline:hover{background-color:rgba(255,255,255,1)}
  @media (max-width:767px){.main-navigation{position:fixed;top:72px;left:16px;right:16px;display:none;flex-direction:column;gap:8px;padding:12px;background:rgba(255,255,255,.92);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}
  .main-navigation.active{display:flex}
  .main-navigation a{padding:12px 12px;border-radius:12px;background:transparent}
  .main-navigation a:hover{background:rgba(201,170,134,.16)}
  .site-header-cta{display:none}}
  .section-title{text-align:center;margin-bottom:2.2rem}
  .section-title p{color:var(--color-text-light);margin:0.6rem 0 0}
  .card-grid{display:grid;grid-template-columns:1fr;gap:14px}
  @media (min-width:768px){.card-grid{grid-template-columns:repeat(3,1fr);gap:18px}}
  .card{background:rgba(255,255,255,.86);border:1px solid var(--color-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}
  .card img{border-radius:calc(var(--radius) - 6px)}
  .schedule-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--color-border)}
  .schedule-item:last-child{border-bottom:0}
  .schedule-time{flex:0 0 64px;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;font-weight:700;font-size:.9rem;box-shadow:var(--shadow-sm)}
  .schedule-body{flex:1}
  .schedule-title{margin:0 0 .35rem;font-size:1.1rem}
  .schedule-text{margin:0;color:var(--color-text-light);line-height:1.8}
  .staff-grid{grid-template-columns:1fr}
  @media (min-width:768px){.staff-grid{grid-template-columns:repeat(3,1fr)}}
  .staff-photo img{width:100%;height:220px;object-fit:cover}
  .staff-name{margin:12px 0 8px}
  .staff-note{margin:0;color:var(--color-text-light);line-height:1.8}
  .gallery-body{padding:14px 16px}
  .gallery-body p{margin:0;color:var(--color-text-light)}
  .contact-inner{max-width:760px;margin:0 auto}
  .contact-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:26px}
  @media (min-width:768px){.contact-actions{grid-template-columns:repeat(3,1fr)}}
  .cta-button-block{width:100%}
  .form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
  .contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:14px;font-family:inherit;background:rgba(255,255,255,.92)}
  .contact-form textarea{resize:vertical}
  .site-content{min-height:calc(100vh - 200px)}
  .page-section{padding:4rem 0}
  @media (min-width:768px){.page-section{padding:6rem 0}}
  .section-title{text-align:center;margin-bottom:3rem}
  .section-title h2{margin-bottom:0.5rem}
  .section-title p{color:var(--color-text-light);font-size:0.95rem}
  .hero-section{position:relative;height:100vh;min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-white)}
  .hero-section-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
  .hero-section-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.2),rgba(0,0,0,0.1),rgba(0,0,0,0.3));z-index:1}
  .hero-content{position:relative;bottom: -370px;z-index:10;max-width:600px;padding:0 1rem}
  @media (max-width:1024px){.hero-content{bottom: -510px;}}
  @media (768px <= width <= 1024px){.hero-content{bottom: -370px;}} 
  @media (max-width:768px){.hero-content{bottom: -260px;}}
  .hero-content h1{font-size:2rem;line-height:1.3;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,0.3);font-weight:700}
  .hero-content p{font-size:1rem;line-height:1.6;margin-bottom:2rem;text-shadow:1px 1px 2px rgba(0,0,0,0.3)}
  @media (min-width:640px){.hero-content h1{font-size:2.5rem}
  .hero-content p{font-size:1.1rem}}
  @media (min-width:768px){.hero-content h1{font-size:3rem}}
  .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}
  .card{background-color:var(--color-white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);transition:transform 0.3s ease,box-shadow 0.3s ease}
  .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  .card-icon{font-size:2.5rem;margin-bottom:1rem;display:inline-block}
  .card h3{margin-bottom:0.5rem}
  .card p{color:var(--color-text-light);font-size:0.95rem}
  .wave-divider{position:relative;height:120px;overflow:hidden;background-color:var(--color-background)}
  .wave-divider svg{width:100%;height:100%;display:block}
  .wave-divider path{animation:none}
  .site-footer{background-color:var(--color-secondary);color:var(--color-text);padding:3rem 0 1rem;border-top:1px solid var(--color-border)}
  .footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}
  .footer-section h3{margin-bottom:1rem;font-size:1.1rem}
  .footer-section ul{list-style:none}
  .footer-section ul li{margin-bottom:0.5rem}
  .footer-section a{color:var(--color-text);transition:color 0.3s ease}
  .footer-section a:hover{color:var(--color-primary)}
  .footer-bottom{border-top:1px solid var(--color-border);padding-top:2rem;text-align:center;color:var(--color-text-light);font-size:0.9rem}
  @media (max-width:767px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}
  .page-section{padding:2rem 0;}
  .hero-section{height:400px}
  .hero-content h1{font-size:1.75rem}
  .hero-content p{font-size:1rem}}
  .schedule-text:empty{display:none}
  .access-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
  .access-cards{display:grid;grid-template-columns:1fr;gap:14px}
  .access-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
  .access-map iframe{width:100%;height:360px;border:0;border-radius:var(--radius)}
  .map-embed{overflow:hidden;border-radius:var(--radius)}
  @media (min-width:900px){
    .access-grid{grid-template-columns:1.2fr .8fr;gap:24px}
    .access-cards{grid-template-columns:repeat(3,1fr)}
  }
    .gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
    .gallery-open img{width:100%;height:220px;object-fit:cover;display:block;border-radius:calc(var(--radius) - 6px)}
    .gallery-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:999}
    .gallery-modal[aria-hidden="false"]{display:flex}
    .gallery-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
    .gallery-modal-content{position:relative;z-index:1;max-width:min(92vw,980px);max-height:86vh;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:12px}
    .gallery-modal-image{display:block;max-width:100%;max-height:calc(86vh - 24px);border-radius:calc(var(--radius) - 6px)}
    .gallery-modal-close{position:absolute;top:8px;right:10px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.9);cursor:pointer;font-size:22px;line-height:1}

    /* ===== Header Improvements (beige / global nav) ===== */
.site-header{background:rgba(246,241,232,.96);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(60,50,40,.06);z-index:300;}
.header-inner{position:relative;display:flex;align-items:center;justify-content:flex-end;height:72px;}
.site-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;display:flex;}
.site-logo img{height:auto;max-height:48px;width:auto;max-width:100%;object-fit:contain;}
.hamburger{position:relative;width:72px;height:72px;background:#000;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:300;}
.hamburger span{position:absolute;width:28px;height:2px;background:#fff;transition:.35s ease;}
.hamburger span:nth-child(1){transform:translateY(-8px);}
.hamburger span:nth-child(2){opacity:1;}
.hamburger span:nth-child(3){transform:translateY(8px);}
.hamburger.is-active span:nth-child(1){transform:rotate(45deg);}
.hamburger.is-active span:nth-child(2){opacity:0;}
.hamburger.is-active span:nth-child(3){transform:rotate(-45deg);}

.drawer-menu{position:fixed;inset:0;background:#F6F1E8;z-index:200;transform:translateX(100%);transition:.45s ease;}
.drawer-menu.active{transform:translateX(0);}
.drawer-inner{padding:120px 32px;height:100%;display:flex;flex-direction:column;}
.drawer-nav a{display:block;padding:14px 0;font-size:18px;color:#3B3A36;text-decoration:none;}
.drawer-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:48px;max-width:1200px;margin:0 auto;}
.drawer-col{display:flex;flex-direction:column;}
.drawer-main a{padding:14px 0;font-size:18px;color:#3B3A36;text-decoration:none;border-bottom:1px solid #D8CFC4;}
.drawer-sub h3{font-size:16px;margin:0 0 12px;color:#3B3A36;}
.drawer-sub ul{list-style:none;padding:0;margin:0 0 24px;}
.drawer-sub li a{display:block;padding:6px 0;color:#3B3A36;text-decoration:none;}
.drawer-brand{text-align:center;align-items:center;}
.drawer-brand img{max-width:220px;height:auto;margin-bottom:12px;}
.drawer-brand-name{margin:0 0 12px;font-weight:700;}
.drawer-sns{display:flex;gap:12px;margin-bottom:20px;}
.drawer-pickup{background:#fff;padding:16px 20px;border-radius:14px;box-shadow:0 6px 18px rgba(60,50,40,.08);}
.drawer-news-list{list-style:none;margin:0;padding:0;}
.drawer-news-list li{border-bottom:1px solid #D8CFC4;}
.drawer-news-list a{display:block;padding:10px 0;color:#3B3A36;text-decoration:none;}
.drawer-news-date{display:block;font-size:12px;color:#8B847A;}
.drawer-news-title{display:block;font-size:14px;line-height:1.4;}
.drawer-news-empty{font-size:14px;color:#8B847A;padding:8px 0;}
.drawer-info{display:flex;flex-direction:column;align-items:flex-start;}
.drawer-contact-item{border-left:4px solid #C9AA86;padding-left:14px;margin-bottom:10px;}
.drawer-contact-title{margin:0 0 6px;font-size:14px;color:#6B675F;}
.drawer-phone{font-size:24px;font-weight:700;color:#3B3A36;text-decoration:none;}
.drawer-phone:hover{color:#C9AA86;}
.drawer-sns a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(60,50,40,.08);color:#3B3A36;}
.drawer-sns a:hover{background:#C9AA86;color:#fff;}
@media (max-width:900px){.drawer-grid{grid-template-columns:1fr;}.drawer-brand{order:-1;margin-bottom:32px;}}
.drawer-menu{position:fixed;inset:0;background:#F6F1E8;z-index:200;transform:translateX(100%);transition:.45s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.drawer-inner{padding:120px 32px;min-height:100%;display:flex;flex-direction:column;}


.hero-logo-wrap{justify-content:center;align-items:center;}
.hero-logo{max-width:300px;width:100%;height:auto;}
@media(max-width:768px){.hero-logo{max-width:230px;}}

.btn-contact{background:#8FBF9B;color:#fff;padding:14px;border-radius:999px;text-align:center;text-decoration:none;}
.btn-tel{background:#fff;border:1px solid #8FBF9B;color:#8FBF9B;padding:14px;border-radius:999px;text-align:center;text-decoration:none;}

@media(min-width:768px){.sp-only{display:none;}}

.hero-section{position:relative;}
.hero-clip{position:absolute;inset:0;overflow:hidden;z-index:0;}
.hero-section-bg{background-image: url(https://silvertarna.com/smilesmile-test/wp-content/themes/smilesmile/assets/images/hero.jpg);}
@media(min-width:768px){.hero-section-bg{background-image: url(https://silvertarna.com/smilesmile-test/wp-content/themes/smilesmile/assets/images/hero.jpg);transform: translateY(-110px);}}
.hero-section-bg,.hero-section-overlay,.hero-wave{position:absolute;inset:0;}
.hero-wave{inset:auto 0 0 0;height:200px;}
.hero-content{position:relative;z-index:2;}
.services-section{margin-top:50px;}
.logotype img{max-width:220px;width:100%;height:auto;}

/* ===== Hero Big Wave ===== */
.hero-wave {position: absolute;bottom: -1px;left: 0;width: 100%;height: 220px;z-index: 3;pointer-events: none;}
.hero-wave svg {width: 100%;height: 100%;display: block;}
@media (max-width: 768px) {.hero-wave {height: 100px;}}
.wave-divider{position:relative;height:160px;overflow:hidden;}
.wave{position:absolute;left:0;width:100%;height:120px;}
.wave-top{top:0;}
.wave-bottom{bottom:0;transform:scaleY(-1);}
.greeting-section .greeting-lead{display:block;width:100%;max-width:980px;margin:0 auto 1.8rem;text-align:center !important;font-size:1.25rem;font-weight:600;letter-spacing:.05em;color:#3B3A36;}
@media (max-width:767px){.greeting-lead{font-size:1.05rem;}.greeting-lead-fade{font-size:1.1rem;}}

.facility-more{text-align:center;margin-top:3rem;}
.facility-more-btn{display:inline-block;padding:0.9rem 2.6rem;border-radius:999px;background:#c9aa86;color:#fff;font-weight:600;text-decoration:none;letter-spacing:.08em;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:all .3s ease;}
.facility-more-btn:hover{background:#b58e63;color:#fff;transform:translateY(-2px);}

.site-logo{display:flex;align-items:center;gap:0.5rem}
.site-logo img{height:50px;width:auto}
.site-logo a{display:flex;align-items:center;gap:0.5rem;color:var(--color-text)}
.site-title{font-size:1.25rem;font-weight:700;color:var(--color-text)}
.site-description{font-size:0.75rem;color:var(--color-text-light)}
.main-navigation{display:none}@media (min-width:768px){.main-navigation{display:flex;gap:2rem}
.main-navigation a{font-size:0.95rem;font-weight:500;color:var(--color-text);transition:color 0.3s ease}
.main-navigation a:hover{color:var(--color-primary)}}
.mobile-menu-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;cursor:pointer;color:var(--color-text);font-size:1.5rem}
@media (min-width:768px){.mobile-menu-button{display:none}}.cta-button{display:inline-block;padding:0.75rem 1.5rem;background-color:var(--color-primary);color:var(--color-white);border-radius:9999px;font-weight:600;transition:background-color 0.3s ease,transform 0.2s ease;border:none;cursor:pointer;font-family:'Noto Sans JP',sans-serif}.cta-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.cta-button-outline{background-color:rgba(255,255,255,0.9);color:var(--color-primary)}.cta-button-outline:hover{background-color:rgba(255,255,255,1)}@media (max-width:767px){.main-navigation{position:fixed;top:72px;left:16px;right:16px;display:none;flex-direction:column;gap:8px;padding:12px;background:rgba(255,255,255,.92);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}.main-navigation.active{display:flex}.main-navigation a{padding:12px 12px;border-radius:12px;background:transparent}.main-navigation a:hover{background:rgba(201,170,134,.16)}.site-header-cta{display:none}}.section-title{text-align:center;margin-bottom:2.2rem}.section-title p{color:var(--color-text-light);margin:0.6rem 0 0}

/* ===== お知らせコーナー ===== */
.news-section h2{margin:0!important;}
.news-section{padding:3.5rem 0;margin-top: 200px;}
.news-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.news-item{background:#fff;border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.06);overflow:hidden;}
.news-link{display:flex;gap:14px;align-items:center;padding:14px 16px;text-decoration:none;}
.news-date{font-weight:700;opacity:.7;white-space:nowrap;}
.news-title{font-weight:700;line-height:1.4;}
.news-more{margin-top:14px;text-align:right;}
.news-more-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#f1d9b7;color:#5a4a3b;text-decoration:none;font-weight:700;}
.news-empty{opacity:.7;margin:0;}

/* ===== お知らせ一覧 ===== */
.news-hero{padding:6rem 1rem 4rem;text-align:center;background:#F6F1E8;}
.news-sub{opacity:.7;margin-top:.5rem;}
.breadcrumb{font-size:.85rem;margin:1.5rem auto;}
.breadcrumb a{text-decoration:none;color:#555;}
.news-archive-section{padding:2rem 0 4rem;}
.news-archive-list{list-style:none;margin:0;padding:0;display:grid;gap:18px;}
.news-archive-item{background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.06);overflow:hidden;}
.news-archive-link{display:block;padding:22px;text-decoration:none;color:#333;}
.news-archive-meta{font-weight:700;opacity:.6;margin-bottom:6px;}
.news-archive-title{font-size:1.1rem;margin:0 0 8px;}
.news-archive-excerpt{opacity:.8;margin:0;}
.news-pagination{text-align:center;margin-top:2rem;}
.news-pagination .page-numbers{display:inline-block;margin:0 6px;padding:6px 10px;border-radius:999px;background:#eee;text-decoration:none;}
.news-pagination .current{background:#f1d9b7;font-weight:700;}

.news-hero{position:relative;}
.news-hero-inner{height:220px;background:#ddd;}
.news-hero-wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0;}
.news-hero-wave svg{display:block;width:100%;height:140px;}
.news-head{padding:1.2rem 0 1rem;}
.news-titleblock{align-items:flex-start;}
.news-sub{margin:.2rem 0 0;opacity:.7;}
.news-list-section{background:#F6F1E8;padding:1.6rem 0 4rem;}
.news-panel{background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.6);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.08);padding:18px;}
.news-panel-head{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;text-align: center;}
.news-panel-logo{width:min(240px,60vw);height:auto;opacity:.9;margin: auto;}
.news-panel-lead{margin:0;opacity:.75;}
.news-cards{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.news-card{background:#fff;border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.08);overflow:hidden;}
.news-card-link{display:block;padding:16px 16px 14px;text-decoration:none;color:#3B3A36;}
.news-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.news-card-date{font-weight:700;opacity:.65;}
.news-card-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:rgba(241,217,183,.6);color:#5a4a3b;font-weight:700;font-size:.85rem;white-space:nowrap;}
.news-card-title{margin:0 0 6px;font-size:1.05rem;line-height:1.5;}
.news-card-excerpt{margin:0;opacity:.75;line-height:1.8;}
.news-card-more{display:inline-block;margin-top:10px;font-weight:800;letter-spacing:.04em;}
.news-pagination{text-align:center;margin-top:16px;}
.news-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;margin:0 6px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.08);text-decoration:none;color:#3B3A36;font-weight:800;}
.news-pagination .current{background:#f1d9b7;border-color:rgba(0,0,0,.04);}
.news-empty{margin:0;opacity:.7;padding:10px 0;}
.single-news-body{background:#F6F1E8;padding:1.4rem 0 4rem;}
.single-news-titleblock{padding:6px 0 0;}
@media(max-width:768px){.single-news-titleblock{margin-left: 20px;}}
.single-news-kicker{margin:0 0 6px;font-weight:900;letter-spacing:.08em;opacity:.7;}
.single-news-title{margin:0 0 8px;font-size:1.2rem;line-height:1.5;}
.single-news-date{font-weight:800;opacity:.6;}
.single-news-article{background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.65);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.08);padding:18px;}
.single-news-content{line-height:2;}
.single-news-content p{margin:0 0 14px;}
.single-news-content p:last-child{margin:0;}
.single-news-actions{margin-top:18px;display:flex;justify-content:flex-start;}
.single-news-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#f1d9b7;color:#5a4a3b;text-decoration:none;font-weight:900;}
@media(min-width:769px){.news-hero-inner{height:280px;}.news-panel{padding:22px;}.news-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ===== Services Section ===== */
.services-section{padding:100px 0;background:#f8f6f2;}
.services-section .section-title{text-align:center;}
.services-section .section-title h2{font-size:1.5rem;letter-spacing:.08em;font-weight:600;color:#333;position:relative;display:inline-block;padding-bottom:15px;}
.services-section .section-title h2:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:2px;background:#d8cfc2;}


.principle-row{display:flex;align-items:center;justify-content:center;margin-bottom:100px;}
.principle-row.reverse{flex-direction:row-reverse;}
.principle-text{max-width:900px;}
.principle-text h3{font-size:1.6rem;margin-bottom:25px;font-weight:600;color:#444;letter-spacing:.05em;}
.principle-text p{font-size:1rem;line-height:2.1;color:#555;letter-spacing:.03em;}

/* アニメーション余白安定 */
.fade-up{opacity:0;transform:translateY(30px);transition:all .8s ease;}
.fade-up.is-visible{opacity:1;transform:translateY(0);}

/* SP対応 */
@media(max-width:768px){
.services-section{padding:70px 0;}
.services-section .section-title h2{font-size:1.5rem;}
.principle-row{flex-direction:column;margin-bottom:70px;padding:0 20px;}
.principle-row.reverse{flex-direction:column;}
.principle-text h3{font-size:1.3rem;margin-bottom:18px;}
.principle-text p{font-size:.95rem;line-height:1.9;}
}

/* ===== Emphasis Title ===== */
.card-grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width:768px){.card-grid{grid-template-columns:repeat(3,1fr);gap:18px}}.card{background:rgba(255,255,255,.86);border:1px solid var(--color-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.card img{border-radius:calc(var(--radius) - 6px)}
.staff-grid{grid-template-columns:1fr}
@media (min-width:768px){.staff-grid{grid-template-columns:repeat(3,1fr)}}
.staff-photo img{width:100%;height:220px;object-fit:cover}
.staff-name{margin:12px 0 8px}
.staff-note{margin:0;color:var(--color-text-light);line-height:1.8}
.gallery-body{padding:14px 16px}
.gallery-body p{margin:0;color:var(--color-text-light)}
.contact-inner{max-width:760px;margin:0 auto}
.contact-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:26px}
@media (min-width:768px){.contact-actions{grid-template-columns:repeat(3,1fr)}}
.cta-button-block{width:100%}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.contact-form input,.contact-form textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:14px;font-family:inherit;background:rgba(255,255,255,.92)}
.contact-form textarea{resize:vertical}
.site-content{overflow:hidden;min-height:calc(100vh - 200px)}
.page-section{padding:4rem 0}
@media (min-width:768px){.page-section{padding:1rem 0}}
.section-title{text-align:center;margin-bottom:3rem}
.section-title h2{margin-bottom:0.5rem}
.section-title p{color:var(--color-text-light);font-size:0.95rem}
.hero-section{position:relative;height:70vh;min-height:380px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-white);}
.hero-section-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero-section-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.2),rgba(0,0,0,0.1),rgba(0,0,0,0.3));z-index:1}
.hero-content{position:relative;z-index:10;max-width:800px;padding:0 1rem}
.hero-content h1{font-size:2rem;line-height:1.3;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,0.3);font-weight:700}
.hero-content p{font-size:1rem;line-height:1.6;margin-bottom:2rem;}
@media (min-width:640px){.hero-content h1{font-size:2.5rem}
.hero-content p{font-size:1.1rem}}
@media (min-width:768px){.hero-content h1{font-size:3rem}}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}
.card{background-color:var(--color-white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);transition:transform 0.3s ease,box-shadow 0.3s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card-icon{font-size:2.5rem;margin-bottom:1rem;display:inline-block}
.card h3{margin-bottom:0.5rem}
.card p{color:var(--color-text-light);font-size:0.95rem}
.wave-divider{position:relative;height:120px;overflow:hidden;background-color:var(--color-background)}
.wave-divider svg{width:100%;height:100%;display:block}
.wave-divider path{animation:none}
.site-footer{background-color:var(--color-secondary);color:var(--color-text);padding:3rem 0 0;border-top:1px solid var(--color-border);}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}
.footer-section h3{margin-bottom:1rem;font-size:1.1rem}
.footer-section ul{list-style:none}
.footer-section ul li{margin-bottom:0.5rem}
.footer-section a{color:var(--color-text);transition:color 0.3s ease}
.footer-section a:hover{color:var(--color-primary)}
.footer-bottom{border-top:1px solid var(--color-border);padding-top:2rem;text-align:center;color:var(--color-text-light);font-size:0.9rem}
@media (max-width:767px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1rem}
.page-section{padding:1rem 0}
.hero-section{height:380px}
.hero-content h1{font-size:1.75rem}
.hero-content p{font-size:1rem}
}
.schedule-text:empty{display:none}
.access-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
.access-cards{display:grid;grid-template-columns:1fr;gap:14px}
.access-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.access-map iframe{width:100%;height:360px;border:0;border-radius:var(--radius)}
.map-embed{overflow:hidden;border-radius:var(--radius)}
@media (min-width:900px){.access-grid{grid-template-columns:1.2fr .8fr;gap:24px}
.access-cards{grid-template-columns:repeat(3,1fr)}}
.gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.gallery-open img{width:100%;height:220px;object-fit:cover;display:block;border-radius:calc(var(--radius) - 6px)}
.gallery-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:999}
.gallery-modal[aria-hidden="false"]{display:flex}
.gallery-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.gallery-modal-content{position:relative;z-index:1;max-width:min(92vw,980px);max-height:86vh;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:12px}
.gallery-modal-image{display:block;max-width:100%;max-height:calc(86vh - 24px);border-radius:calc(var(--radius) - 6px)}
.gallery-modal-close{position:absolute;top:8px;right:10px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.9);cursor:pointer;font-size:22px;line-height:1}
@media(max-width:767px){.footer-content{font-size: .9rem;}}

.greeting-wrap{text-align:center;}
.greeting-section {background-color: #F6F1E8;padding-top: 2rem;}
.greeting-inner{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
@media(max-width:767px){.greeting-lead{font-size:1.05rem;}.greeting-lead-fade{font-size:1.1rem;}}
.greeting-image-wrap img{width:100%;max-width:480px;margin:0 auto;border-radius:1.5rem;box-shadow:0 10px 30px rgba(0,0,0,0.12);}
.greeting-image img{width:500px;}
@media(max-width:767px){.greeting-image img{width:250px;}}
.greeting-lead{font-size:1.2rem;font-weight:600;color:#6b5a4a;margin-bottom:2rem;line-height:1.7;}
.greeting-lead span{color:#c9aa86;letter-spacing:0.08em;}
.greeting-text p{line-height:2;color:#555;margin-bottom:1.5rem;}
.section-sub{font-size:0.9rem;color:#9b8a77;margin-top:0.5rem;}
.principles-alt{background:var(--color-secondary);position:relative;padding-top:6rem;}
.principle-row{gap:2rem;align-items:center;margin-bottom:4rem;opacity:0;transform:translateY(30px);transition:opacity 0.9s ease,transform 0.9s ease;}
.principle-row.is-visible{opacity:1;transform:translateY(0);}
@media(min-width:768px){.principle-row{grid-template-columns:1fr 1fr;gap:4rem;}.principle-row.reverse{grid-template-columns:1fr 1fr;}}
@media (max-width:768px){.principle-row{display:flex;flex-direction:column;gap:0;}.principle-row .principle-text{order:1;}.principle-row .principle-image{order:2;}.principle-row.reverse .principle-text{order:1;}.principle-row.reverse .principle-image{order:2;}}

.principle-text h3{font-size:1.2rem;margin-bottom:0.4rem;color:var(--color-text);}
.principle-text .en{display:inline-block;opacity:0;transform:translateY(10px);transition:0.6s ease;transition-delay:0.2s;}
.fade-up.is-visible .en{opacity:1;transform:translateY(0);}
.principle-text p{color:var(--color-text-light);line-height:1.9;max-width:950px;}
.en{color:#7a6a5f;font-weight:500;}
.principle-image{position:relative;overflow:hidden;border-radius:var(--radius);}
.principle-image img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-md);object-fit:cover;transition:transform 0.6s ease;}
.principle-image::after{content:"";position:absolute;inset:-6%;background:rgba(201,170,134,0.25);mix-blend-mode:multiply;pointer-events:none;transform:translate(-22px,6px) rotate(-1deg);}
@media(max-width:767px){.principle-row{margin-bottom:3rem;}.principle-text h3{font-size:1rem;}.principle-text p{max-width:100%;}}
.wave-connect{margin-bottom:-60px;}
.info-head{text-align:center;margin-bottom:2.5rem;}
.info-logo{display:block;margin:0 auto 1.4rem;max-width:400px;height:auto;}
@media(max-width:767px){.info-logo{max-width:190px;}}
.info-links{padding:30px 0;background:#faf8f4;}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;list-style:none;padding:0;}
.info-grid a{display:flex;flex-direction:column;justify-content:center;text-align:center;background:#e8e3da;border-radius:18px;padding:30px 20px;text-decoration:none;color:#4f4032;font-size:16px;transition:all 0.3s ease;}
.info-grid a span{font-size:13px;color:#7a6a58;margin-top:5px;}
.info-grid a:hover{background:#dcd4c7;transform:translateY(-3px);}
.info-lead{text-align:center;margin-bottom:2rem;line-height:1.8;}

.schedule-tab-content {display: none;}
.schedule-tab-content.is-active {display: block;}

/* ===== Schedule Tabs ===== */
.schedule-tabs{display:flex;justify-content:center;gap:1.2rem;margin-bottom:2.5rem;}
.tab-button{position:relative;padding:0.7rem 2rem;border-radius:999px;border:1px solid #d6cfc4;background:#f3efe9;color:#6b5a4a;font-weight:700;cursor:pointer;letter-spacing:0.08em;transition:all 0.25s ease;}
.tab-button:hover{background:#e8dfd3;transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,0.12);}
.tab-button::after{content:"▼";font-size:0.6rem;position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);color:#c9aa86;opacity:0;transition:opacity 0.2s ease;}
.tab-button:hover::after{opacity:1;}
.tab-button.is-active{background:#cfd8c3;color:#2f3a2f;border-color:#bfcab3;box-shadow:0 8px 18px rgba(0,0,0,0.18);transform:translateY(-3px);}
.tab-button.tab-holiday{background:#f1e5da;color:#6b4f3f;}
.tab-button.tab-holiday:hover{background:#e5d4c4;}
.tab-button.tab-holiday.is-active{background:#d9c7b8;color:#4a3325;border-color:#cbb5a3;}
.schedule-tab-content{display:none;}
.schedule-tab-content.is-active{display:block;}
.schedule-intro{text-align:center;font-size:0.9rem;color:#6b675f;margin-bottom:1.5rem;}

.weekday-bg{position:relative;padding:2rem 0;}
.weekday-bg::before{content:"";position:absolute;top:-10%;right:-10%;width:420px;height:420px;background:rgba(200,215,200,0.35);border-radius:50%;}
.holiday-bg{position:relative;padding:2rem 0;}
.holiday-bg::before{content:"";position:absolute;bottom:-15%;left:-10%;width:460px;height:460px;background:rgba(230,215,200,0.35);border-radius:50%;}

.facility-section{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;}
.facility-bg{position:relative;padding:6rem 1.5rem;background:linear-gradient(180deg,#f4f2ee 0%,#faf9f7 100%);}
.facility-inner{max-width:1200px;margin:0 auto;position:relative;}
.bg-circle{position:absolute;border-radius:50%;background:rgba(200,190,170,0.15);z-index:0;}
.circle-1{width:300px;height:300px;top:10%;left:-120px;}
.circle-2{width:220px;height:220px;bottom:15%;right:-100px;}
.facility-section .section-title{text-align:center;margin-bottom:3rem;position:relative;z-index:1;}
.facility-section .section-title h2{font-size:2.2rem;margin-bottom:0.5rem;}
.facility-section .section-title p{color:#6b675f;font-size:0.95rem;}
.facility-image{width:100%;max-width:1000px;margin:3rem auto 4rem;border-radius:28px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,0.15);position:relative;z-index:1;}
.facility-image img{width:100%;height:auto;display:block;}
.facility-gallery{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.facility-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,0.08);transition:transform 0.3s ease,box-shadow 0.3s ease;}
.facility-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(0,0,0,0.15);}
.facility-more{text-align:center;margin-top:1.5rem;position:relative;z-index:1;}
.facility-more-btn{display:inline-block;padding:0.9rem 2.6rem;border-radius:999px;background:#c9aa86;color:#fff;font-weight:600;letter-spacing:0.08em;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,0.12);transition:all 0.3s ease;}
.facility-more-btn:hover{background:#b58e63;transform:translateY(-2px);}
@media(max-width:768px){.facility-bg{padding:4rem 1rem;}}
@media(max-width:768px){.facility-image{margin:2.5rem auto 3rem;border-radius:20px;}}

/* ===== 活動内容 ===== */
.activities-hero{position:relative;padding:5rem 1.5rem 4rem;text-align:center;overflow:hidden;background:#faf9f7;}
.activities-hero::before{content:"";position:absolute;inset:0;background:url("assets/images/activities-01.jpg") center 40%/cover no-repeat;transform:scale(1.05);z-index:0;}
/* .activities-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(239,230,218,.65),rgba(250,249,247,.9));z-index:1;} */
.activities-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.activities-hero h1{font-size:2.4rem;letter-spacing:.08em;margin-bottom:.6rem;}
.activities-sub{font-size:.85rem;letter-spacing:.18em;color:#9b8a77;margin-bottom:1rem;text-align: center;}
.activities-lead{color:#6b5a4a;}
@media(max-width:768px){.activities-hero{padding:4rem 1.2rem 3.2rem;}.activities-hero h1{font-size:1.9re  m;}}
.activities-bridge{text-align:center;margin-top:2rem;}
.activity-intro-logo{text-align:center;margin: 30px 0;}
.activity-intro-logo img{width: 340px;height: auto;opacity: 0;transform: translateY(20px);transition: opacity .8s ease, transform .8s ease;}
.activity-intro-logo img.is-show{opacity: 1;transform: translateY(0);}
@media(max-width:768px){.activity-intro-logo img{width: 180px;}}
.activity-intro-catch{text-align:center;margin:60px 0;font-size:2em;}
@media(max-width:768px){.activity-intro-catch{margin:30px 0 0;font-size:1.2em;}}

.activities-layout{background:#faf8f5;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:9rem 0;overflow:hidden;}
.activities-layout .container{max-width:1200px;margin:0 auto;padding:0 3rem;}
.activity-row{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;margin-bottom:7rem;}
.activity-row:last-child{margin-bottom:0;}
.activity-row.reverse{direction:rtl;}
.activity-row.reverse .activity-text,.activity-row.reverse .activity-image{direction:ltr;}
.activity-image{position:relative;}
.activity-image img{width:100%;border-radius:58% 42% 48% 52% / 55% 60% 40% 45%;box-shadow:0 18px 36px rgba(0,0,0,.1);object-fit:cover;transition:transform .8s ease,border-radius 1.2s ease;}
.activity-row:hover .activity-image img{transform:translateY(-6px);border-radius:50% 50% 55% 45% / 50% 55% 45% 50%;}
.activity-text h3{font-size:1.45rem;margin-bottom:1.4rem;color:#5c4a3d;letter-spacing:.05em;}
.activity-text p{font-size:.95rem;line-height:2;color:#6b5a4a;}

@media(max-width:768px){
.activities-layout{padding:6rem 0;}
.activities-layout .container{padding:0 1.5rem;}
.activity-row{grid-template-columns:1fr;gap:2.5rem;margin-bottom:4.5rem;}
.activity-row.reverse{direction:ltr;}
.activity-text{text-align:center;}
.activity-image img{max-width:100%;margin:0 auto;}
.activities-bridge img{display:block;margin:10px auto;width:250px;}}

/* ===== Section ===== */
.activity-detail-section{
padding:90px 0 110px;background:#f7f3ec;}.activity-main-title-wrap{text-align:center;margin-bottom:70px;}.activity-main-title{display:inline-block;padding:18px 60px;background:linear-gradient(135deg,#c9aa86,#b89a76);color:#fff;font-size:1.4rem;letter-spacing:.2em;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.08);}.activity-card-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:36px;}.activity-card{background:linear-gradient(#ffffff,#fdfbf8);padding:34px 36px;border-radius:18px;box-shadow:0 14px 30px rgba(0,0,0,.06);border:1px solid #eee7dc;}
@media(max-width:768px){.activity-detail-section,.activity-detail-section .container{padding-top:40px !important;padding-bottom:40px !important;}}
.activity-card-title{font-size:1.15rem;font-weight:600;color:#5c4a3d;margin-bottom:18px;letter-spacing:.08em;}
.activity-card p{font-size:.95rem;line-height:2;color:#6b5a4a;}
@media(max-width:768px){
.activity-main-title{font-size:1.1rem;padding:14px 36px;}.activity-card{padding:24px;}.activity-card p{font-size:.9rem;}}
@media(max-width:768px){.activity-main-title-wrap{margin-bottom: 20px;}}
@media(max-width:768px){.cal-day{cursor:pointer;}.cal-day-detail{display:none;}.cal-day{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px;background:rgba(255,255,255,.85);border:1px solid rgba(201,170,134,.35);}.cal-day-num{font-weight:700;font-size:.95rem;line-height:1;}}
.cal-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:999;}
.cal-modal[aria-hidden="false"]{display:flex;}
.cal-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);}
.cal-modal-panel{position:relative;z-index:1;width:min(92vw,560px);max-height:86vh;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:16px 16px 18px;overflow:auto;}
.cal-modal-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.92);cursor:pointer;font-size:22px;line-height:1;}
.cal-modal-date{font-weight:800;font-size:1.05rem;margin:6px 0 12px;color:#3B3A36;letter-spacing:.04em;}
.cal-modal-body{font-size:.95rem;line-height:1.9;color:#6B675F;}

.weekday-bg h2,.holiday-bg h2{text-align:center;position:relative;font-size:1.5rem;margin-bottom:0.5rem;color:#5c4a3d;}
@media(max-width:768px){.schedule-row{display:flex;align-items:center;gap:14px;}.schedule-time-circle{width:70px;min-width:70px;text-align:center;font-size:1.1rem;flex-shrink:0;}.schedule-content{flex:1;display:flex;align-items:center;}.schedule-content h3{font-size:1.05rem;margin:0;}}


/* ===== 月間スケジュール ===== */
.activity-main-title-wrap,.flow-main-title-wrap{text-align:center;margin-bottom:2rem;}
.activity-main-title,
.flow-main-title{display:inline-block;padding:18px 60px;background:linear-gradient(135deg,#c9aa86,#b89a76);color:#fff;font-size:1.4rem;letter-spacing:.2em;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.08);}
@media(max-width:768px){.activity-main-title,.flow-main-title{font-size:1.05rem;padding:12px 34px;letter-spacing:.15em;}}
.schedule-page { max-width:1200px; margin:0 auto; padding:2rem 1rem; }
.schedule-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; font-weight:600; }
.schedule-nav span { font-size: 1.8rem; }
@media(max-width:768px){.schedule-nav span { font-size: 1.3rem; }}

.schedule-pdf-actions{display:flex;justify-content:flex-end;margin:0 0 12px;}
.schedule-pdf-btn{display:inline-block;padding:.6rem 1rem;border-radius:10px;background:#f2a65a;color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;}
.schedule-pdf-btn:hover{opacity:.9;}
@media(max-width:768px){.schedule-pdf-actions{justify-content:center;}.schedule-pdf-btn{width:100%;text-align:center;}}

.schedule-grid { display:grid; grid-template-columns:repeat(7, 1fr); background:#fff; }
.schedule-grid .cell { background:#fff; min-height:115px; padding:0.5rem; font-size:0.85rem; position:relative; }
.schedule-grid .cell.empty { background:#f7f7f7; }
.schedule-grid .cell.holiday { background:#fff0f0; }
.schedule-grid .cell .day { font-weight:700; font-size:0.9rem; }
.schedule-grid .cell .title { margin-top:0.5rem; font-weight:600; }
.schedule-grid .cell .subtitle { display:block; font-size:0.75rem; color:#666; }
.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);}
.weekday{padding:0.6rem 0;text-align:center;font-weight:600;font-size:0.9rem;color:#6b5a4a;border:1px solid #e5e1da;}
.weekday.sun{color:#c65a4a;}
.weekday.sat{color:#4a6fc6;}
.cell.sun{background:#fff2f2;}
.cell.sat{background:#f2f6ff;}
.cell.holiday{background:#f0f0f0;}
@media(max-width:768px){.cell{min-height:auto;}.cell.empty{display:none;}.schedule-grid .cell{min-height:65px;}}
@media(max-width:768px){.cell{box-shadow:0 6px 16px rgba(0,0,0,0.08);}}
@media(max-width:768px){.cell .day{display:block;font-size:1.1rem;font-weight:700;margin-bottom:0.4rem;}}
.category-dots{margin-top:0.4rem;display:flex;gap:4px;}
.dot{width:10px;height:10px;border-radius:50%;}
.dot.health{background:#e57373;}
.dot.exercise{background:#64b5f6;}
.dot.cognitive{background:#ba68c8;}
.dot.language{background:#ffb74d;}
.dot.social{background:#81c784;}
.category-legend{display:flex;justify-content:flex-end; margin-bottom:12px;flex-wrap:wrap;}
.legend-item{display:flex;align-items:center;gap:6px;font-size:0.8rem;color:#555;padding-left: 10px;}
.legend-item{margin-left:10px;}
@media(max-width:768px){.legend-item{margin-left:0;}}
.legend-dot{display:flex;align-items:center;}
.legend-text{white-space:nowrap;}
.holiday-text{color:#d64545;font-weight:600;margin-top:0.4rem;}
.schedule-note{margin-top:1.5rem;font-size:0.85rem;color:#555;line-height:1.6;}
.fee-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#f6c445;color:#7a4a00;font-size:0.75rem;font-weight:700;position:absolute;top:6px;right:6px;}
.cell{position:relative;}
.fee-icon-inline{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:0.65rem;font-weight:700;border-radius:50%;background:#f6c445;color:#7a4a00;margin:0 0 0 10px;vertical-align:middle;position:relative;top:-1px;}
.schedule-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.schedule-nav a{text-decoration:none;color:#5a4a3b;font-weight:600;}
.schedule-nav .is-disabled{color:#bbb;pointer-events:none;}
.pdf-wrap { font-family:"ipaexg","Noto Sans JP",sans-serif;font-size:11pt;line-height:1.6; }
.pdf-wrap h1 { font-size:18pt;margin:0 0 12px 0; }
.pdf-wrap table { width:100%;border-collapse:collapse; }
.pdf-wrap th,.pdf-wrap td { border:0.5pt solid #333;padding:6px 8px;vertical-align:top; }
.pdf-wrap th { background:#f2f2f2;text-align:center;font-weight:bold; }
.pdf-wrap .col-day { width:8%;text-align:center;font-weight:bold; }
.pdf-wrap .holiday { font-weight:bold; }
.pdf-wrap .fee { margin-left:6px;font-weight:bold; }

.schedule-month-image{margin:1rem 0;text-align:center;}
.schedule-month-image img{width:100%;max-width:420px;height:auto;display:inline-block;border-radius:14px;}

@media(max-width:768px){.schedule-month-image img{max-width:150px;}}

/* ===== Monthly schedule: keep 7-column grid on mobile ===== */
.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);}
.weekday{padding:8px 0;text-align:center;font-weight:700;font-size:.85rem;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.06);}
.weekday.sun{color:#c04b4b;}
.weekday.sat{color:#3d6fb6;}

.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.cell{position:relative;min-height:110px;padding:10px;background:rgba(255,255,255,.86);border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 18px rgba(60,50,40,.06);}
.cell.empty{background:transparent;border:0;box-shadow:none;min-height:110px;}
.cell.sun{border-color:rgba(192,75,75,.18);}
.cell.sat{border-color:rgba(61,111,182,.18);}
.cell.holiday{background:rgba(255,245,245,.92);}

.cal-day-num{font-weight:800;font-size:1rem;color:#3B3A36;}
.fee-icon{position:absolute;top:8px;right:10px;font-size:.85rem;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:2px 6px;line-height:1;}
.category-dots{position:absolute;left:10px;bottom:10px;display:flex;gap:4px;flex-wrap:wrap;}
.dot{width:10px;height:10px;border-radius:999px;display:inline-block;}

.cal-day-detail{margin-top:8px;font-size:.84rem;line-height:1.55;color:#6B675F;}

@media(min-width:768px){.holiday-mark{display: none;}}

/* ===== Mobile compact view (still 7 columns) ===== */
@media (max-width:768px){
  .weekday-row{margin:0 0 4px;}
  .weekday{padding:6px 0;font-size:.75rem;border-radius:10px;}
  .schedule-grid{grid-template-columns:repeat(7,1fr);gap:0;}
  .cell{min-height:64px;padding:6px;box-shadow:none;}
  .cell.empty{min-height:64px;}
  .cal-day-num{font-size:.85rem;}
  .fee-icon{top:25px;right:13px;font-size:.75rem;padding:1px 5px;}
  .category-dots{left:6px;bottom:6px;gap:3px;}
  .dot{width:7px;height:7px;}
  .cal-day-detail{display:none;} /* スマホはセル内詳細を消してモーダル前提 */
}

/* ===== If something forces vertical layout, override hard ===== */
@media (max-width:768px){
  .schedule-grid{display:grid !important;}
  .weekday-row{display:grid !important;}
  .cell{display:block !important;}
}

.weekday-bg{position:relative;padding:0 0 2rem 0;}
.weekday-bg::before{content:"";position:absolute;top:-10%;right:-10%;width:240px;height:240px;background:rgba(237, 231, 210, 0.35);border-radius:50%;z-index:-1;}
.holiday-bg{position:relative;padding:2rem 0;}
.holiday-bg::before{content:"";position:absolute;bottom:-15%;left:-10%;width:260px;height:260px;background:rgba(230,215,200,0.35);border-radius:50%;}
.schedule-card{max-width:680px;margin:0 auto;background:rgba(255,255,255,0.65);backdrop-filter:blur(6px);border-radius:24px;padding:2.5rem;position:relative;z-index:1;}
.facility-section{position:relative;overflow:hidden;}
.facility-bg{position:relative;padding:6rem 1rem;background:linear-gradient(180deg,#f4f2ee 0%,#faf9f7 100%);}
.facility-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.section-title{text-align:center;margin: 30px 0;}
.section-title h2{font-size:1.5rem;margin-bottom:1rem;}
.section-title p{color:#666;font-size:1rem;}
.facility-image{width:70%;max-width:900px;border-radius:24px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,0.15);}
.facility-image img{width:100%;height:auto;display:block;transition:transform 0.6s ease;}
.facility-image:hover img{transform:scale(1.02);}
.bg-circle{position:absolute;border-radius:50%;background:rgba(200,190,170,0.15);z-index:0;}
.circle-1{width:300px;height:300px;top:10%;left:-100px;}
.circle-2{width:200px;height:200px;bottom:15%;right:-80px;}
.fade-in{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease;}
.fade-in.is-visible{opacity:1;transform:translateY(0);}
@media(max-width:768px){.facility-image{width:100%;}}
.access-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;}
@media(max-width:768px){.access-wrapper{grid-template-columns:1fr;gap:32px;}}
.access-info-list div{display:grid;grid-template-columns:140px 1fr;padding:14px 0;border-bottom:1px solid rgba(0,0,0,0.08);}
.access-info-list dt{font-size:12px;color:#888;white-space:nowrap;}
.access-info-list dd{margin:0;font-size:15px;color:#333;line-height:1.7;}
.access-map iframe{width:100%;border-radius:6px;}
.map-link{display:inline-block;margin-top:10px;font-size:13px;color:#777;text-decoration:none;border-bottom:1px solid #ccc;padding-bottom:10px;}
.map-link:hover{color:#000;border-color:#000;}
.contact-cta-section{padding:4rem 1.5rem;text-align:center;}
.contact-cta-inner{max-width:640px;margin:0 auto;}
.contact-cta-logo{max-width:400px;margin:0 auto 1.5rem;opacity:0.9;}
@media(max-width:767px){.contact-cta-logo{max-width:200px;}}
.contact-cta-text{font-size:1rem;line-height:1.8;color:#6b5a4a;margin-bottom:2rem;}
.contact-cta-button{display:inline-block;padding:0.9rem 2.4rem;border-radius:999px;background:transparent;border:1px solid #c9aa86;color:#5a4a3b;font-weight:600;text-decoration:none;transition:all 0.3s ease;}
.contact-cta-button:hover{background:#c9aa86;color:#fff;}

.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:0;padding:0;}
.info-grid li{margin:0;padding:0;}
.info-card{display:block;position:relative;background:#fff;border:1px solid #E7DFD3;border-radius:18px;padding:18px 18px 16px;color:#3B3A36;font-weight:700;line-height:1.4;box-shadow:0 6px 18px rgba(60,50,40,.06);}
.info-card small{display:block;margin-top:8px;font-size:12px;font-weight:500;color:#6B675F;line-height:1.6;}
.info-card span{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;padding:6px 12px;border-radius:999px;background:rgba(201,170,134,.18);color:#6B4F3F;font-size:12px;font-weight:700;}
@media (max-width:900px){.info-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.info-grid{grid-template-columns:1fr;}}

/* カレンダー全体のラッパ（必要ならテンプレ側で schedule-page を付与） */
.schedule-page{max-width:1200px;margin:0 auto;padding:2rem 1rem;}

/* 月送りナビ（既にあるなら上書き） */
.schedule-page .schedule-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;font-weight:700;}
.schedule-page .schedule-nav a{text-decoration:none;color:#5a4a3b;font-weight:700;}
.schedule-page .schedule-nav .is-disabled{color:#bbb;pointer-events:none;}

/* PDFボタン（既にあるなら上書き） */
.schedule-page .schedule-pdf-btn{display:inline-block;margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#f2a65a;color:#fff;text-decoration:none;font-size:.9rem;font-weight:700;}

/* 曜日行 */
.schedule-page .weekday-row{display:grid;grid-template-columns:repeat(7,1fr);}
.schedule-page .weekday-row .weekday{padding:10px 0;text-align:center;font-weight:800;font-size:.88rem;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.06);color:#6b5a4a;}
.schedule-page .weekday-row .weekday.sun{color:#c65a4a;}
.schedule-page .weekday-row .weekday.sat{color:#4a6fc6;}

/* グリッド（常に7列） */
.schedule-page .schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);}

/* セル */
.schedule-page .schedule-grid .cell{position:relative;min-height:135px;padding:10px;background:rgba(255,255,255,.88);box-shadow:0 6px 18px rgba(60,50,40,.06);overflow:hidden;}
@media (min-width:769px){.schedule-page .schedule-grid .cell{min-height:150px;}}
.schedule-page .schedule-grid .cell.empty{background:transparent;border:0;box-shadow:none;min-height:110px;}
.schedule-page .schedule-grid .cell.sun{border-color:rgba(198,90,74,.18);background:rgba(255,242,242,.75);}
.schedule-page .schedule-grid .cell.sat{border-color:rgba(74,111,198,.18);background:rgba(242,246,255,.75);}
.schedule-page .schedule-grid .cell.holiday{background:rgba(255,245,245,.92);}

/* 日付数字 */
.schedule-page .schedule-grid .cal-day-num{display:inline-block;font-weight:900;font-size:1rem;color:#3B3A36;}

/* 料金アイコン */
.schedule-page .schedule-grid .fee-icon{position:absolute;top:8px;right:10px;font-size:.85rem;font-weight:900;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:2px 8px;line-height:1;}

/* カテゴリドット */
.schedule-page .schedule-grid .category-dots{position:absolute;left:10px;bottom:10px;display:flex;gap:4px;flex-wrap:wrap;}
.schedule-page .schedule-grid .dot{width:10px;height:10px;border-radius:999px;display:inline-block;}

/* PC用の詳細（セル内表示） */
.schedule-page .schedule-grid .cal-day-detail{margin-top:8px;font-size:.84rem;line-height:1.55;color:#6B675F;}
.schedule-page .schedule-grid .cal-day-detail p{margin:0 0 6px;}
.schedule-page .schedule-grid .cal-day-detail p:last-child{margin:0;}

/* 凡例 */
.schedule-page .category-legend{display:flex;justify-content:flex-end;;margin:12px 0 0;flex-wrap:wrap;}
.schedule-page .category-legend .legend-item{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#555;background:rgba(255,255,255,.65);border:1px solid rgba(0,0,0,.06);border-radius:999px;padding:6px 10px;}
.schedule-page .category-legend .legend-text{white-space:nowrap;}

/* 注釈 */
.schedule-page .schedule-note{margin-top:16px;font-size:.88rem;color:#555;line-height:1.75;}
.schedule-page .fee-icon-inline{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:.75rem;font-weight:900;border-radius:50%;background:#f6c445;color:#7a4a00;margin:0 -7px 0 12px;vertical-align:middle;position:relative;top:-1px;}

/* ========== Mobile (7列維持のままコンパクト) ========== */
@media (max-width:768px){
  .schedule-page .fee-icon-inline{margin:0 -4px 0 8px;top:-2px;}
  .schedule-page .weekday-row{gap:0;margin:0 0 8px;}
  .schedule-page .weekday-row .weekday{padding:7px 0;font-size:.75rem;border-radius:10px;}

  .schedule-page .schedule-grid{grid-template-columns:repeat(7,1fr);gap:0;}
  .schedule-page .schedule-grid .cell{min-height:64px;padding:6px;box-shadow:none;}
  .schedule-page .schedule-grid .cell.empty{min-height:64px;}

  .schedule-page .schedule-grid .cal-day-num{font-size:.86rem;}
  .schedule-page .schedule-grid .fee-icon{top:25px;right:12px;font-size:.70rem;padding:1px 6px;}
  
  .schedule-page .schedule-grid .category-dots{left:6px;bottom:6px;gap:3px;}
  .schedule-page .schedule-grid .dot{width:7px;height:7px;}

  /* スマホはセル内詳細を非表示（モーダル前提） */
  .schedule-page .schedule-grid .cal-day-detail{display:none;}
  .schedule-page .cell.holiday .cal-day-detail{display:none;}
  
  .page-template-page-schedule .schedule-page .cell.holiday::after{content:"休";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#c64545;letter-spacing:0.1em;top:15px;}
}
.holiday-mark{font-weight:900;font-size:14px;color:#c60000;background:none;display:block;}
@media (min-width:769px){.holiday-mark{display: none;}}


/* ========== Schedule Modal (Mobile) : SINGLE SOURCE OF TRUTH ========== */
.schedule-modal{position:fixed;inset:0;z-index:9999;display:none;padding:16px;}
.schedule-modal[aria-hidden="false"]{display:flex;align-items:center;justify-content:center;}
.schedule-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);}
.schedule-modal-content{position:relative;width:min(92vw,560px);max-height:86dvh;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:16px 16px 18px;overflow:auto;}
.schedule-modal[aria-hidden="false"] .schedule-modal-content{animation:modalFadeUp .25s ease-out;}
@keyframes modalFadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.schedule-modal-close{position:absolute;top:16px;right:16px;z-index:10;width:40px;height:40px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.92);cursor:pointer;font-size:22px;line-height:1;}
.schedule-modal-head{display:flex;flex-direction:column;gap:10px;padding:0 64px 10px 0;}
.schedule-modal-date{font-weight:900;font-size:1.05rem;margin:6px 0 0;color:#3B3A36;letter-spacing:.04em;}
.schedule-modal-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.schedule-modal-body{font-size:.95rem;line-height:1.9;color:#6B675F;}
.schedule-modal-body p{margin:0 0 10px;}
.schedule-modal-body p:last-child{margin:0;}
.schedule-modal-cats{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.modal-cat{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:6px 10px;font-size:.9rem;}
.modal-cat .dot{width:10px;height:10px;border-radius:999px;display:inline-block;}
.fee-icon-modal{display:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#f6c445;color:#7a4a00;font-weight:700;}
.schedule-modal .fee-icon,.schedule-modal .fee-icon-modal{position:static!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;transform:none!important;margin:0!important;}
@media (min-width:769px){.schedule-modal{display:none!important;}}


.office-schedule-block{padding:2.5rem 1.5rem;border-radius:20px;}
.office-header{text-align:center;margin-bottom:1rem;}
.office-name{font-size:1.5rem;font-weight:700;letter-spacing:.08em;margin:0;}
.office-brand{font-size:1.8rem;font-weight:900;margin:.3rem 0;letter-spacing:.1em;}
.office-subtitle{font-size:1.2rem;margin:0 0 1rem 0;opacity:.8;}

@media (max-width:768px){.office-schedule-block{padding:2.5rem .5rem;border-radius:20px;}}



/* 福津 */
/* .office-fukutsu{background:#f3f8ff;} */

/* 古賀 */
/* .office-koga{background:#f4fbf6;} */

/* パンくず */
.page-head{padding:1.4rem 0 1.2rem;}
.breadcrumb-list{list-style:none;display:flex;gap:10px;padding:0;margin:0 10px .8rem;flex-wrap:wrap;}
.breadcrumb-item{font-size:.9rem;opacity:.8;}
.breadcrumb-item a{text-decoration:none;}
.breadcrumb-item+li:before{content:"›";margin-right:10px;opacity:.5;}
.page-title-wrap{text-align:left;}
.page-title{margin:0;font-size:1.5rem;letter-spacing:.06em;text-align: center;}
.page-sub{margin:.2rem 0 0;opacity:.7;}

/* ===== SMILE SMILEについて ===== */
.about-hero{position:relative;padding:6rem 1.5rem 6rem;text-align:center;overflow:hidden;background:#faf9f7;}
@media (min-width:768px){.about-hero{padding:15rem 1.5rem;}}
.about-hero::before{content:"";position:absolute;inset:0;background:url("assets/images/about-bg-1.jpg") center 50%/cover no-repeat;transform:scale(1.05);z-index:0;}
.about-hero::after{content:"";position:absolute;inset:0;z-index:1;}
.about-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.about-hero h1{font-size:2.4rem;letter-spacing:.08em;margin-bottom:.6rem;}
@media(max-width:768px){.about-hero h1{white-space:nowrap;font-size:1.85rem;letter-spacing:.04em;}}
  
.about-sub{font-size:.85rem;letter-spacing:.18em;color:#9b8a77;margin-bottom:1.2rem;text-align: center;}
.about-lead{color:#6b5a4a;}

.fade-section{opacity:0;transform:translateY(40px);transition:opacity 1.2s ease,transform 1.2s ease;}
.fade-section.is-visible{opacity:1;transform:translateY(0);}
.fade-item{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease;}
.fade-section.is-visible .fade-item{opacity:1;transform:translateY(0);}
.fade-section.is-visible .fade-item:nth-child(1){transition-delay:.2s;}
.fade-section.is-visible .fade-item:nth-child(2){transition-delay:.4s;}

.about-intro{padding: 0;}

.greeting-image{margin-bottom:3.5rem;text-align:center;}
@media(max-width:768px){.greeting-image{margin-bottom:2.2rem;padding:0 1rem;}.greeting-image img{max-width:170px;width:100%;height:auto;}}
.greeting-lead{text-align:center;font-size:1.4rem;font-weight:600;margin-bottom:2rem;}

.info-section img{width:80%;max-width:400px;margin-bottom:30px;}

.philosophy-heading{text-align:center;margin-bottom:4rem;}
.philosophy-label{display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.2em;color:#ffffff;background:#2fa6a0;padding:.35rem .9rem;border-radius:999px;margin-bottom:1rem;}
.philosophy-title{font-size:2.4rem;line-height:1.4;color:#4a2b1f;font-weight:700;}
@media(max-width:768px){.philosophy-title{font-size:1.8rem;}}

.philosophy-section{background:#faf7f3;}
.philosophy-title-image{text-align:center;margin-top: 3rem;}
.philosophy-title-image img{max-width:420px;width:100%;height:auto;}
@media(max-width:768px){.philosophy-title-image img{max-width:250px;}}
.philosophy-title-block{display:flex;flex-direction:column;align-items:center;gap:0.5rem;}
@media(max-width:768px){.philosophy-title-block{gap:0.3rem;}}
.philosophy-concept-section{margin-top: 3rem;margin-bottom: 2.2rem;font-size: 1.2rem;font-weight: 700;letter-spacing: .18em;color: #4a2b1f;text-align: center;position: relative;}
.philosophy-concept-section::after{content:"";width:60px;height:2px;background:#d8c8b6;display:block;margin:12px auto 0;}
.philosophy-subtitle{display:inline-block;margin-top:3rem;margin-bottom:3rem;padding:.8rem 2.2rem;font-size:1.35rem;font-weight:700;letter-spacing:.2em;color:#4a2b1f;background:#f3efe9;border:1px solid #e2d7c8;border-radius:16px;text-align:center;}
@media(max-width:768px){.philosophy-subtitle{font-size:1.1rem;padding:.5rem 1.4rem;margin-top:5rem;margin-bottom:2rem;}}
.philosophy-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;}
@media(max-width:900px){.philosophy-cards{grid-template-columns:1fr;gap:1.8rem;}}
.philosophy-card{background:#fff;margin-bottom:0;padding:2.2rem 1.6rem 2rem;border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.06);position:relative;opacity: 0;transform: translateY(20px);transition: opacity .6s ease, transform .6s ease;}
.philosophy-card.visible {opacity: 1;transform: translateY(0);}
.philosophy-badge{position:absolute;top:-18px;left:24px;width:44px;height:44px;border-radius:50%;background:#c9aa86;color:#fff;font-weight:600;font-size:.95rem;display:flex;align-items:center;justify-content:center;letter-spacing:.05em;}
.philosophy-card h3{font-size:1.05rem;line-height:1.8;font-weight:600;color:#5c4a3d;margin:0;}

.access-wrapper{margin-bottom: 4rem;}

/* ===== Support Policy ===== */
.support-policy-cards{
  margin-top: 1rem;
}

.support-policy-cards .philosophy-card{
  padding: 2.4rem 1.8rem;
}

.support-policy-cards p{
  font-size: .95rem;
  line-height: 1.9;
  color: #6b5a4a;
  margin-top: .8rem;
}


.message-wave{width:100%;line-height:0;background:#fff;}
.message-wave svg{display:block;width:100%;height:90px;}

.section-wave{width:100vw;margin-left:calc(50% - 50vw);line-height:0;}
.section-wave svg{display:block;width:100%;height:110px;}
.section-wave path{fill:#f3efe9;}
.message-section{background:#faf7f3;padding:4rem 0;}
@media(max-width:768px){.message-section .fade-item{opacity:1;transform:none;}}
.message-inner{max-width:1200px;margin:0 auto;padding:0 4rem;}
@media(max-width:768px){.message-inner{padding:0 1.5rem;}}
.message-title{text-align:center;font-size:2rem;margin-top:2rem;margin-bottom:5rem;color:#5c4a3d;letter-spacing:.05em;}
@media(max-width:768px){.message-title{margin-bottom:3.5rem;font-size:1.5rem;}}
  
.message-title::after{content:"";display:block;width:48px;height:2px;background:#c9aa86;margin:1.2rem auto 0;}
.message-cards{display:flex;flex-direction:column;gap:5rem;}
.message-card{display:grid;grid-template-columns:160px 1fr;gap:3rem;align-items:center;}
.message-card.reverse{grid-template-columns:1fr 160px;}
.message-card.reverse .message-photo{order:2;}
.message-card.reverse .message-text{order:1;}
@media(max-width:768px){.message-card,.message-card.reverse{grid-template-columns:1fr;text-align:center;}.message-card .message-photo,.message-card.reverse .message-photo{order:1;}.message-card .message-text,.message-card.reverse .message-text{order:2;}.message-text p{
    text-align:left;}}
  
.message-photo img{width:160px;height:160px;border-radius:50%;object-fit:cover;box-shadow:0 10px 24px rgba(0,0,0,.1);border:4px solid #fff;}
.message-text h3{font-size:1.2rem;margin-bottom:.8rem;color:#5c4a3d;}
.message-text p{font-size:.95rem;line-height:1.9;color:#6b5a4a;}
@media(max-width:768px){.message-text p{font-size:.9rem;line-height:1.85;}}
  

.fade-item{transition:opacity .6s ease, transform .6s ease;}  
.fade-item.is-visible{opacity:1;transform:translateY(0);}

.info-section{padding:80px 0;background:#faf9f7;}
.info-section .section-title{margin-bottom:3rem;}
@media(max-width:768px){.info-section{padding-bottom:50px;}.flow-section{padding-top:50px;}}
.info-inner{max-width:900px;margin:0 auto;padding:0 40px;}
.info-block{margin-bottom:56px;}
.info-title{position:relative;font-size:1.5rem;font-weight:700;margin-bottom:20px;padding-left:18px;}
.info-row{display:flex;gap:1rem;}
.info-label{width:5em;font-weight:600;}
.info-time{flex:1;}
@media(max-width:768px){.info-label{width:4em;}}

.info-title::before{content:"";position:absolute;left:0;top:.25em;width:4px;height:1.4em;background:#c9aa86;border-radius:2px;}
.info-block p{line-height:1.9;margin-bottom:14px;}
.price-box{background:#fff;border-radius:14px;padding:20px 24px;margin:20px 0;box-shadow:0 8px 20px rgba(0,0,0,.03);}
.price-title{font-weight:700;margin-bottom:10px;}
.price-box ul{padding-left:18px;margin:0;}
.price-box li{line-height:1.8;}
.note{font-size:.9rem;color:#666;}

/* ===== About Page Flow Section ===== */
.about-flow-section .section-title,.about-flow-section .section-lead{text-align:center;margin-left:auto;margin-right:auto;}
@media(max-width:768px){.about-flow-section{padding:60px 0;}}
.about-flow-list{max-width:900px;margin:0 auto;}
.about-flow-item{display:flex;align-items:center;background:#fff;padding:28px 32px;border-radius:20px;box-shadow:0 10px 24px rgba(0,0,0,.05);}
@media(max-width:768px){.about-flow-item{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:8px;padding:22px 20px;}.about-flow-content{display:contents;}.about-flow-step{grid-column:1;grid-row:1;margin:0;}.about-flow-content h3{grid-column:2;grid-row:1;margin:0;font-size:17px;color:#3f3a36;}.about-flow-content p{grid-column:1 / 3;grid-row:2;margin:0;font-size:14px;line-height:1.8;color:#6f6861;}}
  
.about-flow-step{min-width:110px;padding:12px 16px;color:#fff;font-weight:600;font-size:14px;margin-right:28px;clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%);display:flex;align-items:center;gap:8px;}
.about-flow-step i{font-size:16px;opacity:.85;}
.about-step-1{background:#b9a89a;}
.about-step-2{background:#a8b9a3;}
.about-step-3{background:#a3b1b9;}
.about-step-4{background:#b9b0a3;}
.about-step-5{background:#a9b3a9;}

.about-flow-content h3{font-size:18px;color:#3f3a36; margin-bottom:6px;}
.about-flow-content p{font-size:14px;line-height:1.8;color:#6f6861; }
.about-flow-arrow{height:32px;position:relative;}
.about-flow-arrow::after{content:"▼";position:absolute;left:50%;transform:translateX(-50%);color:#c7beb6;font-size:18px;}
  

.fade-up{opacity:0;transform:translateY(20px);animation:fadeUp .8s ease forwards;}
.fade-delay-1{animation-delay:.2s;}
@keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

@media(max-width:768px){.flow-item{padding:22px 20px;}.flow-step{margin:0 0 16px;}}

/* ===== 施設の様子 ===== */
.page-facility{background:#faf9f7;overflow:hidden;}
.facility-hero{position:relative;padding:6rem 1.5rem 6rem;text-align:center;overflow:hidden;background:#faf9f7;}
@media (min-width:768px){.facility-hero{padding:15rem 1.5rem;}}
.facility-hero::before{content:"";position:absolute;inset:0;background:url("assets/images/facility-bg-1.jpg") center 30%/cover no-repeat;z-index:0;}
.facility-hero::after{content:"";position:absolute;inset:0;z-index:1;}
.facility-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.facility-hero h1{font-size:2.4rem;letter-spacing:.08em;margin-bottom:.6rem;}
.facility-sub{font-size:.85rem;letter-spacing:.18em;color:#9b8a77;margin-bottom:1rem;text-align: center;}
.facility-lead{color:#6b5a4a;font-size:1rem;}

.facility-intro{text-align:center;padding:3rem 1rem 1rem;line-height:2;color:#444;}

.facility-gallery{padding:1rem 1rem 5rem;}
.facility-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;}
.facility-thumb{border:none;padding:0;background:none;cursor:pointer;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.1);}
.facility-thumb img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .6s ease;}
.facility-thumb:hover img{transform:scale(1.06);}

.facility-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:999;}
.facility-modal[aria-hidden="false"]{display:flex;}
.facility-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);}
.facility-modal-content{position:relative;z-index:1;max-width:92vw;max-height:88vh;background:#fff;border-radius:18px;padding:12px;}
.facility-modal-image{max-width:100%;max-height:80vh;border-radius:12px;}
.facility-modal-close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border-radius:50%;border:none;background:#c9aa86;color:#fff;font-size:20px;cursor:pointer;}

/* ===== Instagram Section Heading ===== */
.facility-instagram h2{font-size:1.2rem; font-weight:600; text-align:center; margin-bottom:40px; color:#333; letter-spacing:0.08em; line-height:1.6; position:relative; padding-bottom:20px;}
.facility-instagram h2::after{content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:70px; height:2px; background:#d8cfc4; border-radius:2px;}
.insta-koga{margin-top: 50px; margin-bottom: 4rem;}

/*相談支援について*/
/* ===== 相談支援 共通 ===== */
.page-consultation{background:#faf9f7;}

/* ===== ヒーロー（パララックス対応） ===== */
.consultation-hero{position:relative;padding:5rem 1.5rem 4rem;text-align:center;overflow:hidden;}
.consultation-hero::before{content:"";position:absolute;inset:0;background:url("assets/images/consultation-bg-1.jpg") center 30%/cover no-repeat;z-index:0;}
.consultation-hero::after{content:"";position:absolute;inset:0;z-index:1;}
.consultation-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.consultation-hero h1{font-size:2.2rem;letter-spacing:.08em;margin-bottom:.8rem;}
.consultation-hero p{color:#6b5a4a;font-size:1rem;}
.consultation-sub{font-size:.85rem;letter-spacing:.18em;color:#9b8a77;margin-top:.3rem;text-align: center;}
.consultation-hero-logo{text-align:center;margin-top:24px;}
.consultation-hero-logo img{width:340px;max-width:40%;height:auto;opacity:0;transform:translateY(20px);animation:fadeLogo 1.2s ease forwards;animation-delay:.3s;}
@keyframes fadeLogo{to{opacity:1;transform:translateY(0);}}
/* 相談支援：方針カード */
.consultation-subtitle{margin-top:3rem;margin-bottom:2.2rem;font-size:1.35rem;font-weight:700;letter-spacing:.18em;text-align:center;position:relative;}
.sp-br{display:none;}
@media(max-width:768px){.consultation-hero-logo{ margin-top:16px;}.consultation-subtitle{font-size:1.15rem;white-space:normal;line-height:1.5;margin-top:0.5rem;}.sp-br{display:block;}}
.consultation-policy-cards{display:grid;grid-template-columns:1fr;gap:1.6rem;}
.consultation-policy-card{background:#fff;margin-bottom:0;padding:2.2rem 1.6rem 2rem;border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.06);position:relative;opacity: 0;transform: translateY(20px);transition: opacity .6s ease, transform .6s ease;}
.consultation-policy-card.visible {opacity: 1;transform: translateY(0);}
.consultation-policy-card h3{font-size:1.05rem;line-height:1.8;font-weight:600;color:#5c4a3d;margin:0;}
.consultation-content hr{margin:2.5rem 0;}

/* ===== 本文 ===== */
.consultation-content{max-width:900px;margin:0 auto;padding:3.5rem 1.5rem 0;line-height:2;}
.consultation-content p{margin-bottom:1.6rem;color:#444;}
.consultation-content hr{border:none;height:1px;background:linear-gradient(to right,transparent,#ddd,transparent);margin:3rem 0;}
.consultation-content h2{font-size:1.5rem;margin:3rem 0 1.2rem;position:relative;padding-left:1.2rem;}
.consultation-content h2::before{content:"";position:absolute;left:0;top:.3em;width:6px;height:1.2em;background:#c9aa86;border-radius:3px;}
@media(max-width:768px){.consultation-content h2{font-size:1.25rem;}}
/* ===== ご利用案内 ===== */
.consultation-info{list-style:none;padding:1.5rem;background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);margin:2rem 0;}
.consultation-info li{display:flex;gap:.8rem;margin-bottom:.9rem;}.consultation-info strong{min-width:8em;display:inline-block;text-align:right;font-weight:600;}
@media(max-width:768px){.consultation-info{padding:1.3rem 1.2rem;}.consultation-info li{display:flex;align-items:flex-start;gap:0;}.consultation-info strong{width:5.2em;text-align:right;flex-shrink:0;white-space:nowrap;}}

/* ==== 相談支援｜悩みセクション ===== */
.consultation-worry{padding:3rem 1.5rem;background:#faf8f5;}
.consultation-worry-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:1rem;align-items:center;}
.consultation-worry-visual{text-align:center;}
.consultation-worry-visual img{width:100%;max-width:420px;height:auto;opacity:.95;}
.consultation-worry-content{width:100%;}
.consultation-worry-title{font-size:1.5rem;margin-bottom:1.6rem;position:relative;padding-left:1rem;}
@media(max-width:768px){.consultation-worry-title{font-size:1.25rem;;white-space:normal;}}
.consultation-worry-title::before{content:"";position:absolute;left:0;top:.25em;width:5px;height:1.3em;background:#c9aa86;border-radius:3px;}
.consultation-worry-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;}
.consultation-worry-list li{width:100%;height:60px;background:#fff;padding:0.65rem 1.2rem 0.65rem 2.2rem;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.06);font-size:0.9rem !important;line-height:1.6;position:relative;}
.consultation-worry-list li::before{content:"";position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:#c9aa86;}
.consultation-worry-list li{display:flex;align-items:center;min-height:45px;padding:0 1.4rem 0 2.6rem;line-height:1.3;height:45px;}
.consultation-worry-list li::before{top:50%;transform:translateY(-50%);} .consultation-worry-list{gap:0.8rem;}
.consultation-worry-lead{font-size:1.5rem;font-weight:600;color:#6b5a4a;text-align:center;margin-top: 20px;}
@media(max-width:768px){.consultation-worry-lead{font-size:1rem;}.consultation-worry-lead{font-size:1.2rem;}}
.consultation-worry-visual img{animation:gentle-sway 6s ease-in-out infinite;transform-origin:50% 90%;} @keyframes gentle-sway{0%{transform:rotate(0deg) translateY(0);}25%{transform:rotate(0.6deg) translateY(-2px);}50%{transform:rotate(0deg) translateY(0);}75%{transform:rotate(-0.6deg) translateY(-2px);}100%{transform:rotate(0deg) translateY(0);}}
.consultation-flow{padding:5rem 1.5rem;background:#fff;}
.consultation-flow-inner{max-width:900px;margin:0 auto;}
.consultation-flow-title{text-align:center;font-size:1.5rem;margin-bottom:3rem;color:#3b3a36;}
.consultation-flow-list{display:flex;flex-direction:column;gap:0;position:relative;}
@media(min-width:768px){.consultation-flow-list{gap:3rem;}}

.flow-item{display:grid;grid-template-columns:80px 1fr;gap:1.6rem;align-items:flex-start;position:relative;}

.flow-item:last-child::before{display:none;}
.flow-step{width:70px;height:70px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;color:#fff;line-height:1.1;font-size:0.85rem;letter-spacing:.08em;opacity:0;transform:scale(0.6);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1);}
.flow-step.is-visible{opacity:1;transform:scale(1);}
.step-01 .flow-step{background:#d6b26d;}
.step-02 .flow-step{background:#d08a55;}
.step-03 .flow-step{background:#c65a4a;}
.step-04 .flow-step{background:#b34747;}
.step-05 .flow-step{background:#8f2e2e;}
.step-06 .flow-step{background:#6b1f1f;}
.flow-content h3{font-size:1.15rem;margin-bottom:0.4rem;color:#3b3a36;}
.flow-content p{font-size:0.95rem;color:#555;line-height:1.8;}
.flow-step{margin-bottom:0.6rem;}
.flow-item::before{left:5%;top:80px;transform:translateX(-50%);}
@media(max-width:768px){.flow-item{padding:22px 20px;}.flow-content h3{font-size:16px;}}

/* ===== 相談支援：悩みリスト（一覧表示） ===== */
.consultation-worry-list{position:static;height:auto;display:flex;flex-direction:column;gap:.8rem;}
.consultation-worry-list li{position:relative;inset:auto;opacity:1;transform:none;transition:none;font-size:.75rem;}
.consultation-worry-list li.is-active{opacity:1;transform:none;z-index:auto;}

/* ===== スマホ固定CTA ===== */
.consultation-fixed-cta{position:fixed;bottom:0;left:0;width:100%;display:flex;z-index:4;box-shadow:0 -6px 20px rgba(0,0,0,.15);}
.consultation-fixed-cta a{width:100%;text-align:center;padding:1.1rem;font-weight:700;text-decoration:none;letter-spacing:.08em;}
.cta-phone{background:linear-gradient(180deg,#f1d9b7,#e7cfa8);color:#5a4a3b;}
.cta-time{display:block;font-size:.65rem;font-weight:400;opacity:.85;margin-top:.2rem;}
@media(min-width:769px){.consultation-fixed-cta{display:none;}}
.consultation-fixed-cta{
position:fixed;left:0;right:0;bottom:0;display:flex;z-index:4;box-shadow:0 -6px 20px rgba(0,0,0,.15);
padding-bottom:env(safe-area-inset-bottom);
}
.consultation-fixed-cta a{
width:100%;text-align:center;padding:1.1rem;font-weight:700;text-decoration:none;letter-spacing:.08em;
padding-bottom:calc(1.1rem + env(safe-area-inset-bottom));
}

/* ===== レスポンシブ ===== */
@media(max-width:900px){
.consultation-worry-inner{grid-template-columns:1fr;}
.consultation-worry-visual img{max-width:280px;}
}

/* ===== フェード ===== */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.fade-in.is-visible{opacity:1;transform:translateY(0);}

/* ===== 支援プログラム／自己評価 ===== */
.page-program{background:#faf9f7;}

/* ===== ファーストビジュアル ===== */
.program-hero{position:relative;padding:5rem 1.5rem 4rem;text-align:center;overflow:hidden;background:#faf9f7;}
.program-hero::before{content:"";position:absolute;inset:0;background:url("assets/images/program-bg-1.jpg") center 60%/cover no-repeat;transform:scale(1.05);z-index:0;}
.program-hero::after{content:"";position:absolute;inset:0;z-index:1;}
.program-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.program-hero h1{font-size:2.4rem;letter-spacing:.08em;margin-bottom:.6rem;}
.program-sub{font-size:.85rem;letter-spacing:.18em;color:#9b8a77;margin-bottom:1.2rem;text-align: center;}
.program-lead{color:#6b5a4a;margin-bottom:2rem;}

.program-section{text-align: center;}

/* ===== PDFボタン ===== */
.program-pdf-btn{display:block;padding:1rem 2.2rem;border-radius:999px;background:linear-gradient(180deg,#dac59d,#ac8d5f);color:#ffffff;font-weight:700;text-decoration:none;box-shadow:0 6px 18px rgba(60,50,40,.15);transition:all .3s ease;width:301px;margin: auto;}
.program-pdf-btn:hover{background:#f1e3cf;color:#5a4a3b;transform:translateY(-2px);}

/* ===== 自己評価セクション ===== */
.evaluation-section{padding:4rem 1rem 5rem;}
.evaluation-title{text-align:center;font-size:2.2rem;margin-bottom:2.5rem;}
.evaluation-box{max-width:760px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(0,0,0,.08);padding:1.8rem;}
.evaluation-box summary{font-weight:700;font-size:1.1rem;cursor:pointer;list-style:none;position:relative;padding-right:1.5rem;}
.evaluation-box summary::marker{display:none;}
.evaluation-box summary::after{content:"＋";position:absolute;right:0;top:0;}
.evaluation-box[open] summary::after{content:"－";}
.evaluation-list{margin-top:1.2rem;padding-left:1.2rem;}
.evaluation-list li{margin-bottom:.8rem;}
.evaluation-list a{color:#3b3a36;font-weight:600;text-decoration:none;}
.evaluation-list a:hover{text-decoration:underline;}

/* ===== レスポンシブ ===== */
@media(max-width:768px){.program-hero{background-position:center 95%;background-attachment:scroll;}.program-hero h1{font-size:1.7rem;}.evaluation-title{font-size:1.5rem;}.program-title{font-size:1.3rem;}.evaluation-title{font-size:1.3rem;}}

/* ===== フッター ===== */
.footer-logo{display:flex;align-items:center;}
.footer-logo img{max-width:200px;height:auto;}

.footer-contact{display:flex;flex-direction:column;}

.footer-phone-block{border-left:4px solid var(--color-primary);padding-left:14px;margin-bottom:10px;}
.footer-phone-title{font-size:0.9rem;color:var(--color-text-light);margin-bottom:0.2rem;}
.footer-phone{font-size:1.5rem;font-weight:700;color:var(--color-text);text-decoration:none;}
.footer-phone:hover{color:var(--color-primary);}

.footer-sns a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(60,50,40,.08);color:var(--color-text);}
.footer-sns a:hover{background:var(--color-primary);color:#fff;}

.footer-bottom-custom{background:#000;color:#fff;padding:18px 0;text-align:center;}
.footer-bottom-custom p{margin:0;font-size:14px;letter-spacing:.05em;}

.footer-address-block{margin-bottom:14px;}
.footer-office-name{font-weight:700;margin:0 0 4px;}
.footer-address{margin:0;font-size:14px;line-height:1.6;opacity:.85;}

.footer-fukutsu-contact-inner{margin-bottom: 30px;}

/* ===== お問い合わせ ===== */
.page-contact{background:#faf9f7;}
.contact-hero{position:relative;padding:5rem 1.5rem 4rem;text-align:center;overflow:hidden;}
.contact-hero::before{content:"";position:absolute;inset:0;background:url("assets/images/contact-bg-1.jpg") center 40%/cover no-repeat;transform:scale(1.05);z-index:0;}
.contact-hero::after{content:"";position:absolute;inset:0;z-index:1;}
.contact-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.contact-hero h1{font-size:2.4rem;letter-spacing:.08em;margin-bottom:.6rem;}
.contact-sub{font-size:.85rem;letter-spacing:.18em;color:#9b8a77;margin-bottom:1rem;text-align: center;}
.contact-lead{color:#6b5a4a;font-size:1rem;line-height:1.8;}
.contact-hero-logo{text-align:center;margin-top:24px;}
.contact-hero-logo　img{width:340px;max-width:40%;height:auto;opacity:0;transform:translateY(20px);animation:fadeLogo 1.2s ease forwards;animation-delay:.3s;}
.contact-intro{text-align:center;color:#444;line-height:2;}
.contact-intro p{margin:0;}
.contact-phones{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;padding:2rem 1rem 4rem;}
.contact-phones h2{text-align: center;margin: 20px 0 20px 0;}
.contact-phone-box{background:#fff;border-radius:20px;padding:2rem;text-align:center;box-shadow:0 10px 28px rgba(0,0,0,.08);margin-bottom: 30px;}
.contact-phone-label{font-size:.9rem;color:#9b8a77;margin-bottom:.6rem;}
.contact-phone-number{display:block;font-size:1.6rem;font-weight:700;color:#3b3a36;margin-bottom:.4rem;}
.contact-phone-number:hover{color:#c9aa86;}
.contact-phone-time{font-size:.8rem;color:#6b675f;}

.contact-note{text-align:center;padding-bottom:4rem;color:#777;font-size:.85rem;line-height:1.8;}

.contact-fixed-cta{position:fixed;bottom:0;left:0;width:100%;display:flex;z-index:4;box-shadow:0 -6px 20px rgba(0,0,0,.15);}
.contact-fixed-cta a{flex:1;text-align:center;padding:.8rem;font-weight:700;text-decoration:none;letter-spacing:.08em;font-size: .8rem;}
.contact-fixed-cta .cta-phone{background:linear-gradient(180deg,#f1d9b7,#e7cfa8);color:#5a4a3b;}
.contact-fixed-cta .cta-contact{background:linear-gradient(180deg,#d8bfa1,#c9aa86);color:#fff;font-size: .8rem;}
.contact-fixed-cta .cta-time{display:block;font-size:.65rem;font-weight:400;opacity:.85;margin-top:.2rem;}

.icon-phone{display: block;}

@media(min-width:769px){.contact-fixed-cta{display:none;}}


/* ===== お問い合わせ：マップ（1拠点） ===== */
.contact-map{padding:2rem 1rem 4rem;}
.contact-map-title{text-align:center;font-size:1.8rem;margin-bottom:2rem;}
.contact-map-item.single{max-width:760px;margin:0 auto;background:#fff;border-radius:20px;padding:1.6rem;box-shadow:0 10px 28px rgba(0,0,0,.08);}
.contact-map-label{text-align:center;font-size:.95rem;font-weight:600;color:#6b675f;margin-bottom:.8rem;line-height:1.6;}
.contact-map-note{display:block;font-size:.75rem;color:#9b8a77;margin-top:.2rem;}
.contact-map-embed{overflow:hidden;border-radius:16px;margin:1rem 0;}
.contact-map-embed iframe{width:100%;height:300px;border:0;}
.contact-map-address{text-align:center;font-size:.85rem;color:#555;margin-top:.6rem;}
.contact-map-logo{text-align:center;margin-bottom:.8rem;}
.contact-map-logo img{max-width:280px;width:100%;height:auto;margin:0 auto .4rem;display:block;}
.contact-map-note{display:block;font-size:.75rem;color:#9b8a77;}

@media(max-width:768px){
.contact-map-embed iframe{height:220px;}
}

/*その他*/
.page-hero{padding:8rem 0;}
@media(min-width:768px){
.page-hero{padding:20rem 0;}
.pc-none{display: none;}
}
.schedule-pdf-actions{display:block!important;margin:12px 0!important;}
.schedule-pdf-btn{display:inline-block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:20!important;padding:.65rem 1rem!important;border-radius:10px!important;background:#f2a65a!important;color:#fff!important;text-decoration:none!important;font-weight:700!important;line-height:1.2!important;}
