/* ============================================================
   かがやきひわだ LP  style.css
   本文ゴシック(Noto Sans JP) / 見出し丸ゴシック(Zen Maru Gothic) / 欧文(Outfit)
   ============================================================ */
:root{
  --color-bg:#fff; --color-bg-soft:#F6F3EF; --color-card:#FFFFFF;
  --color-text:#484D50; --color-text-sub:#626567;
  --color-teal:#58BFAE; --color-teal-deep:#41A99B; --color-title:#3FA89B;
  --color-cyan:#42a4d3; --color-coral:#F4706B; --color-green:#8FCB6E;
  --color-border:#919191; --color-line:#E2DACE;
  --radius:0.8em; --radius-lg:1.2em; --radius-pill:999px;
  --shadow:0 14px 34px rgba(95,82,68,.10); --shadow-card:0 10px 24px rgba(95,82,68,.07);
  --ease:cubic-bezier(.2,.7,.2,1); --maxw:1600px;
  --font-sans:"Noto Sans JP",sans-serif;
  --font-round:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  --font-en:"Outfit",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:clamp(14px,1.12vw,22px);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:1.5rem;}
body{font-family:var(--font-sans);font-size:1rem;line-height:1.95;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;scroll-behavior:smooth;}
body.no-scroll{overflow:hidden;}
img{display:block;width:100%;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
.container{width:min(75vw,var(--maxw));margin-inline:auto;position: relative;z-index: 2;}

/* PC/SP 出し分け */
@media (min-width:769px){ .sp{display:none !important;} }
@media (max-width:768px){ .pc{display:none !important;} }

/* 共通：セクションラベル（ピル＋英字） */
.sec-label{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:3rem;}
.sec-label .pill{background:var(--color-cyan);color:#fff;font-family:var(--font-round);font-weight:600;font-size:1.12rem;letter-spacing:.06em;padding:.2rem 1.8rem;border-radius:var(--radius-pill);}
.sec-label .en{font-family:var(--font-en);color:var(--color-cyan);font-weight:500;letter-spacing:0em;font-size:1.4rem;}
.sec-title{font-family:var(--font-round);font-weight:500;color:var(--color-text);text-align:center;font-size:clamp(1.5rem,3vw,2rem);line-height:1.45;letter-spacing:.15em;margin-bottom:2.2rem}
.sec-lead{max-width:48rem;margin:0 auto;text-align:left;color:var(--color-text-sub);line-height:2.4;font-size:.98rem;}

/* 装飾イラスト */
.decor{position:absolute;pointer-events:none;z-index:0;user-select:none;}

/* ============================================================
   HEADER（モザイク＋ナビ＋ロゴ）
   ============================================================ */
.site-header{background:var(--color-bg);padding:1rem 0 2.5rem;}
.brandline{text-align:center;font-family:var(--font-en);letter-spacing:.1em;font-size:.78rem;color:var(--color-text-sub);margin-bottom:1rem;}
.header-inner{width:90%;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.62fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;}

.hero-mosaic{position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:9px;aspect-ratio:1.52/1;
  grid-template-areas:"p1 p3 p3 p6" "p1 p4 p7 p7" "p2 p5 p7 p7";}
.hero-mosaic .m{width:100%;height:100%;object-fit:cover;border-radius:0.6em;}
.m1{grid-area:p1}.m2{grid-area:p2}.m3{grid-area:p3}.m4{grid-area:p4}.m5{grid-area:p5}.m6{grid-area:p6}.m7{grid-area:p7}
.hero-badge{position:absolute;right: -8%;bottom:-6%;width:clamp(90px,9vw,12rem);height:auto;border-radius:0;filter:drop-shadow(0 8px 16px rgba(244,112,107,.3));}

.header-right{display:flex;flex-direction:column;align-items:center;}
.nav-main{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;width:100%;}
.nav-main .nav-link{font-family:var(--font-round);font-weight:600;font-size:.98rem;letter-spacing:.05em;color:var(--color-text);position:relative;}
.nav-main .nav-link::after{content:'';position:absolute;left:0;right:100%;bottom:-.07rem;height:1px;background:var(--color-text);transition:right .4s var(--ease);}
.nav-main .nav-link:hover::after{right:0;}
.brand-block{text-align:center;margin-top:clamp(1.4rem,3vw,6rem);}
.brand-tag5{display:inline-block;font-size:1rem;letter-spacing:.2em;color:var(--color-cyan);    font-weight: 600;}
.brand-emblem{width:clamp(86px,8vw,112px);height:auto;margin:.2rem auto .7rem;border-radius:10px;}
.brand-pill{display:inline-block;background:var(--color-cyan);color:#fff;font-weight:500;font-size:1.05rem;letter-spacing:.05em;padding: .28rem 1.3em .25rem;;border-radius:var(--radius-pill);}
.brand-name{font-family:var(--font-round);font-weight:700;font-size:clamp(1.6rem,2vw,2rem);letter-spacing:.16em;color:var(--color-text);margin:1.2rem 0 .8rem;line-height: 1em;}
.brand-note{font-size:.9rem;line-height:1.5;color:var(--color-text-sub);letter-spacing:.04em;font-weight: 600;}

/* フローティング・ハンバーガー */
.menu-toggle{--bar:#ffffff;position:fixed;top:1.5rem;right:1.5rem;z-index:100;width:5rem;height:5rem;border:0;cursor:pointer;background:var(--color-cyan);border-radius:50%;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),background .35s,box-shadow .35s}
.menu-toggle .bar{position:absolute;left:50%;width:2.4rem;height:2px;background:var(--bar);transform:translateX(-50%);transition:transform .4s var(--ease),opacity .25s,top .4s var(--ease)}
.menu-toggle .bar:nth-child(1){top:calc(50% - .5rem);}
.menu-toggle .bar:nth-child(2){top:50%;}
.menu-toggle .bar:nth-child(3){top:calc(50% + .5rem);}
body.menu-open .menu-toggle{opacity:1;pointer-events:auto;}
body.nav-collapsed .menu-toggle{opacity:1;pointer-events:auto;}
body.menu-open .menu-toggle .bar:nth-child(1){top:50%;transform:translateX(-50%) rotate(45deg);}
body.menu-open .menu-toggle .bar:nth-child(2){opacity:0;}
body.menu-open .menu-toggle .bar:nth-child(3){top:50%;transform:translateX(-50%) rotate(-45deg);}

/* ドロワー（右→左） */
.drawer-overlay{position:fixed;inset:0;z-index:90;background:rgba(40,36,30,.4);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s;}
.drawer-overlay.open{opacity:1;visibility:visible;}
.nav-drawer{position:fixed;top:0;right:0;z-index:95;height:100%;width:clamp(20rem,36vw,28rem);background:var(--color-cyan);transform:translateX(100%);transition:transform .55s var(--ease);display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,4vw,4rem);}
.nav-drawer.open{transform:translateX(0);}
.drawer-inner{display:flex;flex-direction:column;gap:2.4rem;}
.drawer-nav{display:flex;flex-direction:column;gap:0.6rem;}
.drawer-nav a{font-weight:500;font-size:1.4rem;letter-spacing:.08em;display:block;align-items:baseline;gap:.9rem;width:max-content;transition:color .4s,padding-left .35s var(--ease);color:#fff;line-height:1.8}
.drawer-nav a .en{font-family:var(--font-en);font-size:.9rem;letter-spacing:.16em;color:#c9eeff;display:block}
.drawer-nav a:hover{padding-left:.5rem;}
.drawer-foot{border-top:1px solid #fff;padding-top:1.8rem;}
.drawer-tel{font-family:var(--font-en);font-weight:600;font-size:1.8rem;color:#fff;letter-spacing:.04em;}
.drawer-addr{font-size:.8rem;color:#fff;margin-top:0;line-height:1}
.nav-drawer .drawer-nav a,.nav-drawer .drawer-foot{opacity:0;transform:translateX(1.4rem);transition:opacity .5s var(--ease),transform .5s var(--ease);}
.nav-drawer.open .drawer-nav a,.nav-drawer.open .drawer-foot{opacity:1;transform:none;}
.nav-drawer.open .drawer-nav a:nth-child(1){transition-delay:.14s}
.nav-drawer.open .drawer-nav a:nth-child(2){transition-delay:.2s}
.nav-drawer.open .drawer-nav a:nth-child(3){transition-delay:.26s}
.nav-drawer.open .drawer-nav a:nth-child(4){transition-delay:.32s}
.nav-drawer.open .drawer-nav a:nth-child(5){transition-delay:.38s}
.nav-drawer.open .drawer-nav a:nth-child(6){transition-delay:.44s}
.nav-drawer.open .drawer-foot{transition-delay:.5s}

/* ============================================================
   導入
   ============================================================ */
.about{position:relative;padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,5vw,4rem);text-align:center;overflow:hidden;}
.decor-clover{ position: absolute;width:clamp(46px,6vw,82px);top:5%;left:48%;transform:translateX(-220%);}
.about-title{font-family:var(--font-round);font-weight:500;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.7;letter-spacing:.08em;color:var(--color-text);}
.about-sub{margin-top:1.1rem;color:var(--color-cyan);font-size:1.1rem;line-height:1.8;font-weight: 500;}
.about-photo{width:min(80%,520px);margin:clamp(1.8rem,4vw,3rem) auto clamp(1.6rem,3vw,2.4rem);}
.about-body{max-width:44rem;margin:0 auto;color:var(--color-text-sub);line-height:2.3;font-size:.98rem;text-align:left;}
.hero-badge a{display:inline-block;transition:transform .4s var(--ease),box-shadow .4s;}
.hero-badge a:hover{transform:translateY(-2px);}

/* ============================================================
   サービス一覧（家型背景）
   ============================================================ */
.services,.services::before{background:var(--color-bg-soft)}
.services{position:relative;background:var(--color-bg-soft);margin-top:clamp(2rem,5vw,8rem);padding:clamp(4.5rem,7vw,10rem) 0 clamp(4rem,7vw,10rem);clip-path:polygon(0 2.4%,50% 0,100% 2.4%,100% 100%,0 100%);overflow:hidden}
.services::before{top:-60px;left:0;width:100%;height:80px;clip-path:polygon(0 100%,45% 100%,50% 0,55% 100%,100% 100%)}
.services::after{top:-12px;left:50%;transform:translateX(-50%);width:24px;height:24px;border-radius:50%}

.decor-bird{width:clamp(80px,12vw,150px);top:4%;right:26%;}
.decor-tree-l{width:clamp(70px,18vw,25rem);top:20%;left:2%;transform:scaleX(1);}
.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.8rem,1.4vw,1.3rem);margin-top:clamp(2rem,4vw,3.2rem);position:relative;z-index:1;}
.service-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:clamp(1.2rem,1.8vw,1.7rem) clamp(.9rem,1.4vw,1.4rem) clamp(1.2rem,2vw,1.4rem);text-align:center;}
.service-ico{width: 50%;;height:auto;margin:0 auto .4rem;}
.service-card h3{font-family:var(--font-round);font-weight:600;color:var(--color-cyan);font-size:1.02rem;letter-spacing:.02em;line-height:1.3;margin-bottom:.5rem;}
.service-card p{font-size:.75rem;line-height:1.6;color:var(--color-text-sub);text-align:left;}

.riyou{position:relative;background:var(--color-teal);color:#fff;border-radius:var(--radius-lg);padding:clamp(1.8rem,3vw,2.6rem) clamp(1.8rem,4vw,3.4rem);margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,3vw,3rem);align-items:center;overflow:visible;z-index:1;}
.riyou-title{font-family:var(--font-round);font-weight:500;font-size:clamp(1.1rem,1.7vw,1.35rem);letter-spacing:.06em;white-space:nowrap;position:relative;border-top:2px solid #fff;border-bottom:2px solid #fff;line-height:1em;padding:.6em 0 .7em}
.riyou-list{display:flex;flex-direction:column;gap:.7rem;}
.riyou-list li{position:relative;padding-left:1.4rem;font-size:1rem;line-height:1.5;font-weight:600}
.riyou-list li::before{content:'';position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:50%;background:#fff;}
.decor-tree-r{width:clamp(80px,17vw,22rem);right:-10%;bottom:-26%;z-index:2;transform: scaleX(-1);}
.bg {position: absolute;top: 0;width: 100%;}



/* ============================================================
   施設紹介
   ============================================================ */
.facilities{padding:clamp(4rem,7vw,10rem) 0;background: #f6f3ef;border-radius: 0 0 5em 5em;}
.facility-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2rem,8vw,4rem);margin-top:clamp(2rem,4vw,3rem);align-items:start;}
.facility-col{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3rem);min-width:0;}
.facility-name{font-weight:500;font-size:1.15rem;letter-spacing:.06em;margin-bottom:1rem;text-align: center;line-height: 1.2em;}
.facility-name span{font-size:.86rem;color:var(--color-text-sub);display: block;}
.facility-swiper{width:100%;min-width:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);}
.facility-swiper .swiper-slide{aspect-ratio:3/2;}
.facility-swiper .swiper-slide img{width:100%;height:100%;object-fit:cover;}
.facility-cap{text-align:center;font-size:.84rem;color:var(--color-text-sub);margin-top:.9rem;letter-spacing:.1em;}
.facility .swiper-pagination{position:static;margin-top:.6rem;display:flex;justify-content:center;gap:.15rem;}
.facility .swiper-pagination-bullet{width:0.7rem;height:0.7rem;background:#cdc6ba;opacity:1;transition:.4s;}
.facility .swiper-pagination-bullet-active{background:var(--color-teal);}

.spec{display:flex;flex-direction:column;gap:clamp(1.6rem,2.6vw,2.2rem);}
.spec-block h3{font-weight:500;font-size:1.05rem;letter-spacing:.04em;padding-bottom:.5rem;border-bottom:2px solid #7d7d7d;margin-bottom:.6rem}
.spec-block ul{padding-top: 0.7rem;}
.spec-block ul li{position:relative;padding-left:1rem;font-size:.92rem;line-height:1.95;}
.spec-block ul li::before{content:'・';position:absolute;left:0;color:var(--color-text-sub);}
.cost,.sched{display:grid;grid-template-columns:auto 1fr;}
.cost dt,.sched dt{line-height: 1.4;font-size:.9rem;padding:.7rem 0;border-bottom:1px solid #ebebeb;white-space:nowrap;color:var(--color-text);width:9em}
.cost dd,.sched dd{font-size:.9rem;padding:.7rem 0;border-bottom:1px solid #ebebeb;color:var(--color-text-sub);line-height:1.7;}
.sched dt{font-variant-numeric:tabular-nums;letter-spacing:.02em;}

/* 地図・アクセス */
.access{margin-top: clamp(2.5rem, 8vw, 10rem);}
.map{position:relative;height:clamp(220px,36vw,26rem);border-radius:var(--radius);overflow:hidden;
  border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;}
.map-pin{width:22px;height:22px;background:var(--color-coral);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 10px rgba(244,112,107,.4);}
.map-pin::after{content:'';position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;top:7px;left:7px;}
.map-label{position:absolute;bottom:12px;left:14px;background:rgba(255,255,255,.85);padding:.3rem .8rem;border-radius:var(--radius-pill);font-size:.76rem;color:var(--color-text-sub);}
.access-addr{margin-top:1.5rem;font-size:.9rem;line-height:1.9;color:var(--color-text);}
.map iframe {width: 100%;height: 100%;}
/* ============================================================
   入居までの流れ
   ============================================================ */
.flow-img {width: 86%;margin: 0 auto;}
.flow{padding:clamp(4rem,8vw,6.5rem) 0;}
.steps{display:flex;gap:0;margin-top:clamp(2rem,4vw,3rem);}
.step{flex:1;min-height:clamp(82px,9vw,108px);background:#7dcadc;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);
  margin-left:-14px;padding:0 .8rem 0 1.2rem;}
.step:first-child{clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);margin-left:0;padding-left:.8rem;border-radius:14px 0 0 14px;}
.step:nth-child(2){background:#67c1d6;}
.step:nth-child(3){background:#52b9d1;}
.step:nth-child(4){background:#3cafca;}
.step-last{background:var(--color-teal);border-radius:0 14px 14px 0;}
.step-txt{font-family:var(--font-round);font-weight:500;font-size:clamp(.78rem,1.1vw,.95rem);line-height:1.5;letter-spacing:.03em;}

/* ============================================================
   FAQ
   ============================================================ */
.faq{padding:clamp(4rem,8vw,6.5rem) 0;}
.faq-list{max-width:50rem;margin:clamp(1.5rem,3vw,2.4rem) auto 0;}
.faq-item{border-bottom:1px solid var(--color-line);}
.faq-q{width:100%;background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1.25rem .4rem;text-align:left;font-family:inherit;}
.faq-mark{font-family:var(--font-en);font-weight:600;font-size:1.7rem;color:var(--color-cyan);line-height:1;}
.faq-qtext{flex:1;font-weight:600;font-size:1.1rem;letter-spacing:.03em;color:var(--color-text);}
.faq-toggle{position:relative;width:20px;height:20px;flex:none;}
.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;left:50%;top:50%;background:var(--color-cyan);border-radius:2px;}
.faq-toggle::before{width:18px;height:2px;transform:translate(-50%,-50%);}
.faq-toggle::after{width:2px;height:18px;transform:translate(-50%,-50%);transition:transform .35s var(--ease);}
.faq-item.open .faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg);} /* 縦棒が横になり「−」に */
.faq-a{display:grid;grid-template-rows:0fr;background:var(--color-cyan);border-radius:0;transition:grid-template-rows .4s var(--ease),margin .4s var(--ease);}
.faq-item.open .faq-a{grid-template-rows:1fr;}
.faq-a-inner{overflow:hidden;min-height:0;}
.faq-a p{color:#fff;font-size:1rem;line-height:1.9;padding:2rem;margin:0;}

/* ============================================================
   CTA
   ============================================================ */
.cta-band{padding:clamp(3rem,6vw,5rem) 0;text-align:center;}
.cta-btn{display:inline-block;background:var(--color-coral);color:#fff;font-weight:600;font-size:clamp(1rem,1.5vw,1.2rem);letter-spacing:.05em;padding:1rem 3.5rem;border-radius:var(--radius-pill);transition:transform .4s var(--ease),box-shadow .4s;}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(244,112,107,.4);}
.cta-tel{margin-top:1.4rem;font-family:var(--font-en);font-weight:600;font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:.04em;color:var(--color-coral);}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--color-bg);padding:clamp(2.5rem,4vw,3rem) 0 2rem;}
.footer-inner{display:grid;grid-template-columns:auto auto 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:start;}
.footer-brand{text-align:center;}
.footer-emblem{width:9rem;height:auto;margin:0 auto;border-radius:10px;}
.footer-emblem-jp{font-family:var(--font-round);font-weight:700;letter-spacing:.2em;color:var(--color-text);font-size:.9rem;display:block;margin-top:.3rem;}
.fc-name{font-weight:600;font-size:1.16rem;color:var(--color-text);}
.fc-addr{font-size:.9rem;color:var(--color-text-sub);}
.fc-biz{font-size:.8rem;color:var(--color-text-sub);margin-top:.7rem;line-height:1.7;}
.fc-btn{display:inline-block;margin-top:1.1rem;border:1px solid var(--color-text);border-radius:var(--radius-pill);padding:.4rem 1.8rem;font-size:.84rem;letter-spacing:.06em;transition:.4s;font-weight:600}
.fc-btn:hover{background:var(--color-text);color:#fff;}
.footer-lead{font-size:.86rem;line-height:2;color:var(--color-text-sub);}
.copyright{text-align:center;font-family:var(--font-en);font-size:.72rem;letter-spacing:.1em;color:var(--color-text-sub);margin-top:clamp(2rem,4vw,3rem);}

/* ============================================================
   表示演出
   ============================================================ */
[data-reveal]{opacity:0;transform:translateY(1rem);transition:opacity .7s var(--ease),transform .7s var(--ease);}
[data-reveal].in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html,body{scroll-behavior:auto;}
  [data-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}

}

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width:1000px){
  .header-inner{grid-template-columns:1fr;}
  .hero-mosaic{aspect-ratio:1.7/1;margin:0 auto;}
  .nav-main{display:none;}
  .brand-block{margin-top:1.8rem;}
  .service-grid{grid-template-columns:repeat(3,1fr);}
	.hero-badge {}
	.decor-tree-l {top: 30%;}
	.decor-tree-r {
    width: clamp(80px,15vw,22rem);
    right: -15%;
}
}
@media (max-width:768px){
  .menu-toggle{opacity:1;pointer-events:auto;}
  .nav-drawer{width:100%;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .riyou{grid-template-columns:1fr;}
  .decor-tree-r{display:none;}
  .facility-grid{grid-template-columns:minmax(0,1fr);}
  .steps{flex-direction:column;gap:.5rem;}
  .step,.step:first-child,.step-last{clip-path:none !important;margin-left:0;border-radius:12px;min-height:64px;padding:.8rem 1rem;
    position:relative;}
  .step:not(.step-last)::after{content:'';position:absolute;left:50%;bottom:-.55rem;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid #7dcadc;}
.step:nth-child(2)::after{border-top:9px solid #67c1d6;}
.step:nth-child(3)::after{border-top:9px solid #52b9d1;}	
.step:nth-child(4)::after{border-top:9px solid #3cafca;}	
  .footer-inner{grid-template-columns:1fr;text-align:center;}
  .footer-brand{margin-bottom:.5rem;}
}
@media (max-width:650px){
.container { width: 85%; margin-inline: auto; position: relative; z-index: 2; }
.decor-bird { top: 1%; right: 10%; }
.riyou-title { text-align: center; font-size: 18px;border-top: none;padding-bottom: 18px;}
.step-txt { font-size: 15px; }
.sec-label .pill { font-size: 16px; }
.sec-label .en { font-size: 16px; }
.sec-title { font-size: 22px; }
.faq-qtext { font-size: 16px; }
.faq-mark { font-size: 24px; }
.cta-btn { font-size: 18px; }
.footer-emblem { width: 80px; }
.fc-name { font-size: 16px; }
.fc-addr { font-size: 14px; }
.fc-biz { font-size: 13px; }
.fc-btn { font-size: 14px; }
.footer-lead { text-align: left; font-size: 12px; }
.faq-a p { font-size: 14px; }
.cost dd, .sched dd { font-size: 14px; }
.cost dt, .sched dt { font-size: 14px; }
.spec-block ul li { font-size: 14px; }
.facility-name { font-size: 15px; }
.services { padding-bottom: 0; }
.facilities { border-radius: 0 0 20px 20px; }
.riyou-list li { font-size: 14px; }
.service-card h3 { font-size: 15px; }
.service-card p { font-size: 12px; }
.brand-pill { font-size: 15px; }
.brand-name { font-size: 24px; }
.about-sub { font-size: 14px; }
.about-body { font-size: 14px; }
.decor-tree-l { top: 8%; }
.menu-toggle { top: 1rem; right: 1rem; }
.facility-name span { font-size: 12px; }
.copyright { font-size: 12px; }
.hero-badge { position: fixed; right: 0; left: 0; bottom: 2%; width: 90%; height: auto; border-radius: 10px; filter: none; background: #f4706b; margin: 0 auto; padding: 14px 0; text-align: center; color: #fff; font-size: 18px; font-weight: 600; z-index: 6; }
.nav-drawer.open .drawer-foot { text-align: center; }
	.decor-clover {
    width: clamp(35px,6vw,82px);
    top: 6%;
    left: 42%;
	}.brandline {display: none;}
}

@media (max-width:480px){
 .faq-qtext {
    font-size: 14px;
}.cta-btn {
    font-size: 16px;
}.cta-tel {
    font-size: 15px;
}
}


/* ============================================================
   お問い合わせ / メールフォーム
   ============================================================ */
.contact-page .container{width:min(90vw,880px);}
.contact-hero{padding:clamp(3rem,7vw,6rem) 0 clamp(1.5rem,4vw,3rem);}
.contact-hero .sec-lead{text-align:center;}
.contact-block{padding:0 0 clamp(4rem,9vw,8rem);}
.tel-card .sec-label {
    margin-bottom: 1.5rem;
}
.contact-page .sec-title {
    font-weight: 600;
}
.contact-form.in-view {
    padding-top: 4em;
}
.contact-form {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: clamp(1.8rem,4vw,3rem);
    text-align: center;
}
/* 電話カード */
.contact-card{    background:var(--color-teal);
    border-radius: var(--radius-lg);
    padding: clamp(1.8rem, 4vw, 2.5rem);
    text-align: center;}
.tel-card{margin:0 auto clamp(2.5rem,6vw,4.5rem);}
.cc-label{font-family:var(--font-round);font-weight:600;color:var(--color-teal-deep);letter-spacing:.08em;font-size:1.05rem;}
.cc-label.center{text-align:center;margin-bottom:.6rem;}
.cc-tel{margin:.6rem 0 .2rem;}
.cc-tel a{font-family:var(--font-en);font-weight:600;font-size:clamp(2rem,5vw,2.8rem);color:#fff;letter-spacing:.04em;line-height:1;}
.cc-meta{display:flex;justify-content:center;gap:2.2rem;flex-wrap:wrap;}
.cc-meta div{display:flex;align-items:baseline;gap:.6rem;}
.cc-meta dt{font-weight:600;color:#fff;font-size:.92rem;}
.cc-meta dd{color:#fff;font-size:.95rem;}
.cc-note{margin-top:1rem;font-size:.78rem;color:var(--color-text-sub);}

/* フォーム共通 */
.form-head{text-align:center;margin-bottom:1.6rem;}
.form-req-note{font-size:.82rem;color:var(--color-text-sub);margin-top:.5rem;}
.mailform{max-width:720px;margin:0 auto;}
.form-row{margin-bottom:1.6rem;}
.form-label{display:flex;align-items:center;gap:.7rem;margin-bottom:.55rem;}
.form-label label{font-weight:500;color:var(--color-text);font-size:1.15rem;}
.badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:.16em .7em;border-radius:var(--radius-pill);line-height:1.4;}
.badge.req{background:var(--color-coral);color:#fff;}
.badge.any{background:#e7e2da;color:#7a756d;}
.form-field input[type=text],
.form-field input[type=email],
.form-field input[type=tel],
.form-field textarea,
.form-field select{
  width:100%;font-family:inherit;font-size:1rem;color:var(--color-text);
  background:#f9f9f9;border:2px solid var(--color-line);border-radius:8px;
  padding:.85em 1em;transition:border-color .25s,box-shadow .25s;
}
.form-field textarea{resize:vertical;min-height:9em;line-height:1.8;}
.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-teal) 50%),linear-gradient(135deg,var(--color-teal) 50%,transparent 50%);background-position:calc(100% - 1.3em) 1.25em,calc(100% - 1em) 1.25em;background-size:.4em .4em,.4em .4em;background-repeat:no-repeat;padding-right:2.6em;}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus{outline:none;border-color:var(--color-teal);box-shadow:0 0 0 3px rgba(88,191,174,.18);}
.form-field input::placeholder,
.form-field textarea::placeholder{color:#b7b1a8;}
.tel-card .sec-label .pill {
    background: #ffffff;
    color:var(--color-teal);
}
/* チェックボックス群 */

.check {
    text-align: left;
    position: relative;
    display: flex;
    align-items: center;
    gap: .5em;
    cursor: pointer;
    padding: .1em 0;
    font-size: .92rem;
    color: var(--color-text);
    transition: .2s;
    font-weight: 500;
}
/* .check input{accent-color:var(--color-teal);width:1.05em;height:1.05em;cursor:pointer;}
.check:hover{border-color:var(--color-teal);}
.check:has(input:checked){} */
.check span {
    padding-left: 0.8em;
}
.check input {
    margin: 6px 3px;
}
input[type="checkbox"] {
    width: 18px;
    height: 18px;
    transform: scale(1.2);
    margin: 4px;
}

/* エラー */
.form-error-top{background:rgba(244,112,107,.1);color:#c2453f;border-radius:var(--radius);padding:.9em 1.2em;font-size:.92rem;margin-bottom:1.6rem;text-align:center;}
.field-error{color:var(--color-coral);font-size:.82rem;margin-top:.4rem;}
.has-error input,.has-error textarea,.has-error select{border-color:var(--color-coral)!important;background:rgba(244,112,107,.04);}
.has-error .form-label label{color:#c2453f;}

/* ハニーポット（人間に見せない） */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

/* ボタン */
.form-actions{text-align:center;margin-top:2.4rem;}
.form-actions.two{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
button.cta-btn{border:0;cursor:pointer;font-family:inherit;}
.btn-ghost{display:inline-block;background:#fff;color:var(--color-text-sub);font-weight:600;font-size:clamp(1rem,1.5vw,1.1rem);letter-spacing:.05em;padding:1rem 2.6rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;transition:transform .4s var(--ease),box-shadow .4s,background .2s;}
.btn-ghost:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.08);background:#faf8f4;}

/* 確認画面 */
.confirm-note{text-align:center;color:var(--color-text-sub);margin-bottom:2rem;font-size:.95rem;}
.confirm-list{max-width:720px;margin:0 auto;border-top:1px solid var(--color-line);}
.confirm-list > div{display:grid;grid-template-columns:14em 1fr;gap:1rem;padding:1.1em .4em;border-bottom:1px solid var(--color-line);}
.confirm-list dt{font-family:var(--font-round);font-weight:500;color:var(--color-teal-deep);font-size:.95rem;}
.confirm-list dd{color:var(--color-text);line-height:1.8;word-break:break-word;}
.confirm-list .muted{color:#a8a29a;}

/* 完了画面 */
.complete-box{max-width:680px;margin:0 auto;text-align:center;background:var(--color-bg-soft);border-radius:var(--radius-lg);padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,4vw,3rem);}
.complete-title{font-family:var(--font-round);font-weight:600;color:var(--color-teal-deep);font-size:clamp(1.3rem,3vw,1.7rem);margin-bottom:1.2rem;letter-spacing:.06em;}
.complete-text{color:var(--color-text-sub);line-height:2.1;margin-bottom:2rem;font-size:.96rem;}

.page-contact .hero-mosaic {
display: none;
}
.page-contact .brand-block {
position: absolute;
}
.page-contact .brand-emblem {
    width: clamp(68px,6vw,80px);
    height: auto;
    margin: .2rem auto .7rem;
    border-radius: 10px;
}
.page-contact .brand-pill {
    font-size: 0.9rem;
}
.page-contact .brand-name {
    font-size: 1.7rem;
}
.page-contact .contact-page {
	background: var(--color-bg-soft);
}
.page-contact .header-inner {
    grid-template-columns: none;
    gap: 0;
}
.page-contact .site-header {
    padding-bottom: 12em;
}

@media (max-width:768px){
  .cc-meta{gap:.4rem 2.2rem;}
  .confirm-list > div{grid-template-columns:1fr;gap:.3rem;padding:1em .2em;}
  .confirm-list dt{font-size:.88rem;}
  .form-actions.two{flex-direction:column-reverse;align-items:stretch;}
  .form-actions.two .cta-btn,.form-actions.two .btn-ghost{width:100%;}
}

.page-contact .hero-badge{display:none;}

#contact-form{scroll-margin-top:6rem;}
