:root{
  --mbns-accent:#ff6b2e;
  --mbns-secondary:#a4c63a;
  --mbns-dark:#2d2d2d;
  --mbns-text:#6a6a6a;
  --mbns-light:#ffffff;
  --mbns-max-width:1180px;
  --mbns-font-heading:"Fredoka", "M PLUS Rounded 1c", sans-serif;
  --mbns-font-body:"Noto Sans JP", sans-serif;
  --mbns-font-kicker:"Fredoka", sans-serif;
  --mbns-h1:74px;
  --mbns-h2:48px;
  --mbns-h3:28px;
  --mbns-body:16px;
  --mbns-kicker:18px;
  --mbns-button:14px;
  --mbns-line-height:1.7;
  --mbns-radius:28px;
  --mbns-shadow:0 18px 38px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--mbns-font-body);
  color:var(--mbns-text);
  background:#fff;
  line-height:var(--mbns-line-height);
  font-size:var(--mbns-body);
}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
p{margin:0 0 1rem}
h1,h2,h3,h4,.mbns-heading,.mbns-hero__title{
  margin:0 0 .8rem;
  color:var(--mbns-dark);
  line-height:1.1;
  font-family:var(--mbns-font-heading);
  font-weight:700;
}
h1,.mbns-hero__title{font-size:clamp(42px,7vw,var(--mbns-h1))}
h2,.mbns-heading{font-size:clamp(30px,4vw,var(--mbns-h2))}
h3{font-size:clamp(22px,2.5vw,var(--mbns-h3))}
.mbns-container{width:min(calc(100% - 40px),var(--mbns-max-width));margin:0 auto}
.mbns-topbar{background:var(--mbns-secondary);color:#fff;font-size:12px;position:relative;z-index:5}
.mbns-topbar__inner{display:flex;justify-content:space-between;align-items:center;padding:9px 0;gap:16px}
.mbns-topbar__text{letter-spacing:.02em}
.mbns-mini-btn,.mbns-btn,.mbns-link-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;font-weight:700;cursor:pointer;transition:.25s ease;font-size:var(--mbns-button);letter-spacing:.02em}
.mbns-mini-btn{background:#ffcf34;color:#5a3d00;padding:7px 14px;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.mbns-btn{padding:13px 24px;background:var(--mbns-accent);color:#fff}
.mbns-btn--ghost{background:#fff;color:var(--mbns-dark);border:2px solid rgba(0,0,0,.08)}
.mbns-btn--dark{background:#2d2d2d;color:#fff}
.mbns-btn--light{background:#fff;color:#2d2d2d}
.mbns-link-btn{padding:10px 18px;background:#fff;color:var(--mbns-dark);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.mbns-btn:hover,.mbns-mini-btn:hover,.mbns-link-btn:hover{transform:translateY(-2px)}

.mbns-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.mbns-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
.mbns-site-title{font-size:34px;font-family:var(--mbns-font-heading);font-weight:700;color:var(--mbns-dark)}
.custom-logo{max-height:58px;width:auto}
.mbns-menu{display:flex;gap:22px;list-style:none;padding:0;margin:0}
.mbns-menu a{font-weight:700;color:#6b6b6b;font-size:13px;text-transform:uppercase}
.mbns-header__actions{display:flex;align-items:center;gap:12px}
.mbns-social{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff0ea;color:var(--mbns-accent);font-size:18px}
.mbns-menu-toggle{display:none;border:none;background:transparent;font-size:26px}

.mbns-section{padding:78px 0;position:relative;overflow:hidden;background-repeat:no-repeat}
.mbns-section::after{content:"";position:absolute;left:-4%;right:-4%;bottom:-58px;height:116px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:0}
.mbns-section > *{position:relative;z-index:1}
#services.mbns-section::after,#categories.mbns-section::after,#contact.mbns-section::after{display:none}
.mbns-kicker{display:inline-block;color:var(--mbns-accent);font-weight:700;font-size:var(--mbns-kicker);font-family:var(--mbns-font-kicker);margin-bottom:10px}
.mbns-kicker--light{color:#fff}
.mbns-heading--light,.mbns-split__content--light h2,.mbns-split__content--light p{color:#fff}
.mbns-lead,.mbns-section-copy{font-size:1rem;max-width:760px}
.mbns-section-head{margin-bottom:34px}.mbns-section-head--center{text-align:center}
.mbns-button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.mbns-split,.mbns-features-layout,.mbns-contact__grid,.mbns-testimonial-shell,.mbns-promo-grid{display:grid;gap:34px}

.mbns-hero{padding-top:34px;background:#fff}
.mbns-hero::before{content:"";position:absolute;inset:42px auto auto 50%;transform:translateX(-50%);width:min(100% - 40px,var(--mbns-max-width));height:calc(100% - 90px);border-radius:38px;background:linear-gradient(90deg,#fff 0 54%, var(--mbns-secondary) 54% 100%);z-index:0}
.mbns-hero::after{content:"";position:absolute;left:-2%;right:-2%;bottom:0;height:86px;background:#f2f2f2;border-radius:50% 50% 0 0 / 100% 100% 0 0;z-index:0}
.mbns-hero__frame{display:grid;grid-template-columns:54% 46%;align-items:stretch;min-height:520px;position:relative;z-index:1}
.mbns-hero__image{grid-column:1;padding:18px 0 0 0}
.mbns-hero__image img{width:100%;height:100%;min-height:500px;object-fit:cover;border-radius:28px 0 0 28px;box-shadow:none}
.mbns-hero__content{grid-column:2;color:#fff;padding:66px 56px 72px 54px;display:flex;flex-direction:column;justify-content:center;position:relative}
.mbns-hero__content::before,.mbns-hero__content::after{content:"";position:absolute;background:var(--mbns-accent);width:120px;height:120px;border-radius:0 100% 0 100%;bottom:26px}
.mbns-hero__content::before{left:-54px;transform:rotate(12deg)}
.mbns-hero__content::after{right:-28px;transform:rotate(-18deg)}
.mbns-hero__title,.mbns-hero__content .mbns-kicker,.mbns-hero__content .mbns-lead{color:#fff}
.mbns-hero__title{max-width:320px;text-shadow:0 1px 0 rgba(0,0,0,.05)}

.mbns-about{background:#fff}
.mbns-about__grid{grid-template-columns:40% 60%;align-items:center}
.mbns-about__media img{width:100%;max-width:400px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;box-shadow:none}

.mbns-services{background:var(--mbns-accent);padding-top:54px;padding-bottom:74px}
.mbns-services .mbns-section-copy--light{color:rgba(255,255,255,.88)}
.mbns-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.mbns-service-card{border-radius:20px;overflow:hidden;box-shadow:var(--mbns-shadow);position:relative;padding-top:0;min-height:320px;display:flex;flex-direction:column}
.mbns-service-card--1,.mbns-service-card--3{background:#f2bf17}
.mbns-service-card--2,.mbns-service-card--4{background:#9ab63a}
.mbns-service-card__label{padding:16px 14px 6px;color:#fff;font-family:var(--mbns-font-heading);font-size:22px;line-height:1.05;min-height:78px}
.mbns-service-card__image{margin-top:auto}
.mbns-service-card__image img{width:100%;aspect-ratio:1/1;object-fit:cover}
.mbns-service-card__body{padding:14px;color:#fff;background:transparent}
.mbns-service-card__body p{min-height:54px;color:rgba(255,255,255,.94)}

.mbns-features{background:#fff}
.mbns-features-layout{grid-template-columns:1fr 320px 1fr;align-items:center;gap:26px}
.mbns-features-layout__image img{width:100%;max-width:320px;margin:0 auto;box-shadow:none;border-radius:0}
.mbns-feature-list{display:grid;gap:12px}
.mbns-feature-item{display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:start;padding:8px 0;background:transparent;box-shadow:none}
.mbns-feature-item__icon{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff3cf;color:#f2bf17;font-size:21px;border:2px solid #f4df91}
.mbns-feature-item h3{margin-bottom:4px;font-size:20px}
.mbns-feature-item p{font-size:.93rem}

.mbns-cta-band{background:var(--mbns-secondary);padding:58px 0}
.mbns-cta-band::after{display:none}
.mbns-cta-band .mbns-split{grid-template-columns:46% 54%;align-items:center}
.mbns-split__media--floating img{max-width:430px;margin-left:auto;border-radius:28px;box-shadow:0 14px 34px rgba(0,0,0,.18);transform:rotate(-6deg);border:8px solid #fff}

.mbns-gallery{background:#fff;padding-top:70px}
.mbns-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-rows:126px}
.mbns-gallery-item{overflow:hidden;border-radius:10px}
.mbns-gallery-item img{width:100%;height:100%;object-fit:cover;box-shadow:none;border-radius:10px}
.mbns-gallery-item--1{grid-row:span 2}.mbns-gallery-item--3{grid-row:span 2}.mbns-gallery-item--4{grid-row:span 1}.mbns-gallery-item--5{grid-row:span 2}.mbns-gallery-item--6{grid-row:span 1}

.mbns-categories{background:var(--mbns-accent)}
.mbns-categories::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(151,65,23,.25),rgba(151,65,23,.25));opacity:.65}
.mbns-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mbns-category-card{background:#fff;border-radius:46% 46% 42% 42%/56% 56% 34% 34%;padding:18px 16px 20px;text-align:center;box-shadow:var(--mbns-shadow)}
.mbns-category-card__thumb{width:110px;height:110px;margin:0 auto 8px;border-radius:50%;overflow:hidden;background:#f4f4f4}
.mbns-category-card__thumb img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.mbns-category-card h3{font-size:18px;margin-bottom:0}

.mbns-activities{background:#fbf5ee}
.mbns-activities .mbns-split{grid-template-columns:42% 58%;align-items:end}
.mbns-activities__media img{max-width:360px;margin:0 auto;border-radius:0;box-shadow:none}
.mbns-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px;max-width:360px}
.mbns-stat-box{background:#f4bf20;color:#fff;padding:14px;border-radius:4px;text-align:center;box-shadow:none}
.mbns-stat-box strong{display:block;font-size:28px;line-height:1;margin-bottom:4px;font-family:var(--mbns-font-heading)}

.mbns-promo{background:#fff}
.mbns-promo-grid{grid-template-columns:repeat(2,1fr);gap:0}
.mbns-promo-card{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;border-radius:0;padding:24px;color:#fff;min-height:240px;overflow:hidden}
.mbns-promo-card h3,.mbns-promo-card p{color:#fff}
.mbns-promo-card:first-child{margin-right:8px}
.mbns-promo-card:last-child{margin-left:8px}
.mbns-promo-card__media img{max-height:220px;object-fit:contain;border-radius:0;box-shadow:none;margin-left:auto}

.mbns-testimonials{background:#fff;padding-top:36px}
.mbns-testimonial-shell{grid-template-columns:1fr minmax(320px,540px) 1fr;align-items:center;gap:10px}
.mbns-testimonial-side img{width:100%;height:330px;object-fit:cover;border-radius:0;box-shadow:none}
.mbns-testimonial-center{background:#fff;border-radius:999px;padding:54px 64px;text-align:center;box-shadow:0 12px 34px rgba(0,0,0,.12);min-height:330px;display:flex;flex-direction:column;justify-content:center}
.mbns-testimonial-center blockquote{font-size:18px;margin:10px 0 18px;color:var(--mbns-dark)}
.mbns-testimonial-meta{font-weight:700;color:var(--mbns-accent)}

.mbns-news{background:#efefef;padding-top:42px}
.mbns-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mbns-news-card{background:#fff;border-radius:0;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.mbns-news-card__thumb img,.mbns-news-card__thumb--placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}
.mbns-news-card__body{padding:16px}
.mbns-news-card__meta{font-size:13px;color:#7d7d7d}

.mbns-contact{padding:0;background:transparent}
.mbns-contact__grid{grid-template-columns:46% 54%;align-items:stretch;gap:0}
.mbns-contact__side img{height:100%;min-height:460px;object-fit:cover;border-radius:0;box-shadow:none}
.mbns-contact__formwrap{padding:56px 34px;color:#fff;background:var(--mbns-accent)}
.mbns-contact-form{display:grid;gap:10px;max-width:430px}
.mbns-contact-form input,.mbns-contact-form textarea{width:100%;border:none;border-radius:999px;padding:13px 16px;font:inherit}
.mbns-contact-form textarea{min-height:124px;border-radius:24px;resize:vertical}
.mbns-notice{margin:14px 0;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.18);color:#fff}
.mbns-notice--success{background:rgba(91,214,136,.24)}

.mbns-footer{padding:38px 0 0;background:#fff}
.mbns-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;padding-bottom:26px}
.mbns-footer h3{font-size:20px;font-family:var(--mbns-font-heading)}
.mbns-footer__text{color:var(--mbns-text)}
.mbns-footer__bottom{text-align:center;padding:13px 12px;background:var(--mbns-accent);color:#fff;font-size:12px}
.mbns-page{padding:70px 0}
.mbns-text-block > * + *{margin-top:1rem}

@media (max-width: 1100px){
  .mbns-hero__frame,.mbns-about__grid,.mbns-features-layout,.mbns-cta-band .mbns-split,.mbns-activities .mbns-split,.mbns-contact__grid,.mbns-news-grid,.mbns-category-grid{grid-template-columns:1fr 1fr}
  .mbns-service-grid{grid-template-columns:repeat(2,1fr)}
  .mbns-testimonial-shell{grid-template-columns:1fr}
  .mbns-testimonial-side img{height:240px}
  .mbns-testimonial-center{border-radius:34px;min-height:auto}
  .mbns-gallery-grid{grid-auto-rows:110px}
}
@media (max-width: 820px){
  .mbns-menu-toggle{display:block}
  .mbns-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid rgba(0,0,0,.08)}
  .mbns-nav.is-open{display:block}
  .mbns-menu{flex-direction:column;padding:18px 16px}
  .mbns-header__actions .mbns-btn{display:none}
  .mbns-topbar__inner{flex-direction:column;align-items:flex-start}
  .mbns-section{padding:62px 0}
  .mbns-hero{padding-top:16px}
  .mbns-hero::before{inset:16px 20px auto 20px;transform:none;width:auto;height:calc(100% - 42px);background:linear-gradient(180deg,#fff 0 48%, var(--mbns-secondary) 48% 100%)}
  .mbns-hero__frame,.mbns-about__grid,.mbns-service-grid,.mbns-features-layout,.mbns-cta-band .mbns-split,.mbns-category-grid,.mbns-activities .mbns-split,.mbns-promo-grid,.mbns-news-grid,.mbns-contact__grid,.mbns-footer__grid{grid-template-columns:1fr}
  .mbns-hero__image{padding-top:10px}
  .mbns-hero__image img{min-height:280px;border-radius:24px 24px 0 0}
  .mbns-hero__content{padding:34px 24px 50px}
  .mbns-hero__content::before,.mbns-hero__content::after{width:84px;height:84px}
  .mbns-hero__content::before{left:-14px;bottom:14px}
  .mbns-hero__content::after{right:-14px;bottom:20px}
  .mbns-about__media img{max-width:280px;margin:0 auto}
  .mbns-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:140px}
  .mbns-gallery-item--1,.mbns-gallery-item--3,.mbns-gallery-item--5{grid-row:span 1}
  .mbns-promo-card:first-child,.mbns-promo-card:last-child{margin:0}
  .mbns-promo-card{grid-template-columns:1fr;min-height:auto}
  .mbns-split__media--floating img{max-width:300px;margin:0 auto}
  .mbns-contact__side img{min-height:260px}
  .mbns-contact__formwrap{padding:44px 20px}
}
