@charset "UTF-8";


:root{
  --m-red:        #E60012;   
  --m-red-dark:   #B3121A;
  --m-yellow:     #FFE100;   
  --m-badge-yellow:#FFF100;  
  --m-yellow-pale:#FFF3C4;
  --m-blue:       #0151A7;   
  --m-ink:        #221C1A;
  --m-sub:        #4A403C;
  --m-halo:       0 0 6px rgba(255,255,255,.95), 0 0 14px rgba(255,255,255,.85);
}

.mw-inner{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:32px; }
.mw-ico{ width:1em; height:1em; flex:none; }

.mw svg[stroke="currentColor"]{ stroke-width:2.5; }


.mw-notice{ background:var(--m-yellow-pale); color:var(--m-ink); font-size:14px; font-weight:700; text-align:center; padding-block:9px; line-height:1.5; }
.mw-notice__br{ display:none; }


.mw-head{ background:#fff; border-bottom:1px solid #F1E3D6; }
.mw-head__inner{ display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:96px; }
.mw-brand{ display:flex; align-items:center; gap:14px; min-width:0; }
.mw-brand__logo{ width:56px; height:56px; flex:none; }
.mw-brand__name{ color:var(--m-red); font-size:30px; font-weight:900; letter-spacing:.01em; white-space:nowrap; }
.mw-brand__area{ display:inline-flex; align-items:center; gap:6px; margin-left:14px; color:var(--m-ink); font-size:20px; font-weight:700; white-space:nowrap; }
.mw-brand__area .mw-ico{ color:var(--m-red); width:30px; height:30px; }
.mw-head__tel{ display:flex; align-items:center; gap:12px; color:var(--m-red); }
.mw-head__tel-ico{ width:48px; height:48px; flex:none; }
.mw-head__tel-body{ display:flex; flex-direction:column; line-height:1.15; }
.mw-head__tel-num{ font-size:44px; font-weight:900; letter-spacing:.01em; }
.mw-head__tel-time{ margin-top:4px; color:var(--m-ink); font-size:15px; font-weight:700; }


.mw-hero{ position:relative; overflow:hidden; background:#FBF6EF; max-height:760px; }
.mw-hero__photo{ position:absolute; inset:0; }

.mw-hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:left top; max-width:none; }
.mw-hero__inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start;
  max-width:none; padding:40px 4vw 44px 47vw; min-height:clamp(600px, 50vw, 760px); justify-content:center; }

.mw-hero__badge{ display:inline-flex; align-items:center; gap:8px; background:var(--m-badge-yellow); color:var(--m-red);    
  border-radius:999px; padding:7px 22px; font-size:22px; font-weight:900; }
.mw-hero__badge .mw-ico{ width:34px; height:34px; }

.mw-hero__title{ margin:18px 0 0; color:var(--m-red); font-size:clamp(40px, 4.4vw, 66px); font-weight:900; line-height:1.22; letter-spacing:.01em; text-shadow:var(--m-halo); }
.mw-hero__line{ display:block; white-space:nowrap; }
.mw-dot{ margin-inline:-0.18em; }   
.mw-hero__mark{ background:linear-gradient(transparent 62%, var(--m-yellow) 62%, var(--m-yellow) 92%, transparent 92%); padding-inline:2px; }
.mw-br-sp{ display:none; }

.mw-hero__lower{ width:100%; }
.mw-hero__sub{ margin:16px 0 0; color:var(--m-ink); font-size:clamp(20px, 1.9vw, 28px); font-weight:800; text-shadow:var(--m-halo); }

.mw-hero__points{ list-style:none; margin:22px 0 0; padding:0; display:flex; gap:0; }
.mw-point{ position:relative; flex:none; display:flex; align-items:center; gap:12px; padding:2px 22px; white-space:nowrap; }
.mw-point:first-child{ padding-left:0; }

.mw-point + .mw-point::before{ content:""; position:absolute; left:0; top:8%; bottom:8%; width:1px; background:#CDBFB3; }
.mw-point__ico{ width:72px; height:72px; flex:none; color:var(--m-red); display:flex; align-items:center; justify-content:center;
  border:3px solid var(--m-red); border-radius:50%; background:#fff; }
.mw-point__ico svg{ width:44px; height:44px; }
.mw-point__txt{ color:var(--m-ink); font-size:19px; font-weight:800; line-height:1.4; text-shadow:var(--m-halo); }
.mw-point__txt b{ font-size:1.35em; }

.mw-hero__note{ margin:12px 0 0; color:var(--m-sub); font-size:15px; font-weight:700; text-shadow:var(--m-halo); }

.mw-hero__cta{ margin-top:18px; display:flex; flex-direction:column; gap:14px; width:100%; max-width:640px; }
.mw-btn{ display:flex; align-items:center; justify-content:center; gap:14px; min-height:84px; padding:12px 24px;
  border-radius:12px; font-weight:900; transition:transform .15s ease, filter .15s ease; }
.mw-btn:hover{ transform:translateY(-1px); filter:brightness(1.04); }
.mw-btn__ico{ width:48px; height:48px; flex:none; }
.mw-btn--tel{ background:var(--m-red); color:#fff; box-shadow:0 6px 16px rgba(179,18,26,.28); flex-wrap:wrap; column-gap:18px; row-gap:0; }
.mw-btn--tel .mw-btn__label{ font-size:32px; }
.mw-btn--tel .mw-btn__num{ position:relative; font-size:32px; padding-left:18px; letter-spacing:.01em; }

.mw-btn--tel .mw-btn__num::before{ content:""; position:absolute; left:0; top:12%; bottom:12%; width:2px; background:rgba(255,255,255,.55); }
.mw-btn__time{ flex-basis:100%; text-align:center; font-size:15px; font-weight:700; opacity:.95; }
.mw-btn--web{ background:#fff; color:var(--m-blue); border:3px solid var(--m-blue); min-height:76px; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.mw-btn--web .mw-btn__label{ font-size:26px; }
.mw-btn--web .mw-btn__ico{ width:40px; height:40px; }

@media (prefers-reduced-motion: reduce){ .mw-btn{ transition:none; } .mw-btn:hover{ transform:none; } }


@media (max-width: 1100px){
  .mw-head__tel-num{ font-size:34px; }
  .mw-brand__name{ font-size:24px; }
  .mw-brand__area{ font-size:17px; }
  .mw-hero__inner{ padding-left:42vw; padding-right:3vw; }
  .mw-point{ padding-inline:14px; gap:8px; }
  .mw-point__txt{ font-size:16px; }
}


@media (max-width: 767px){
  .mw-inner{ padding-inline:14px; }
  .mw-notice{ font-size:14px; padding-block:6px; }
  .mw-notice__comma{ display:none; }
  .mw-notice__br{ display:inline; }

  .mw-head__inner{ min-height:58px; gap:10px; }
  .mw-brand{ gap:8px; }
  .mw-brand__logo{ width:38px; height:38px; }
  .mw-brand__name{ font-size:clamp(16px, 4.6vw, 19px); }
  .mw-brand__area{ display:none; }          
  .mw-head__tel{ width:44px; height:44px; border-radius:50%; background:var(--m-red); color:#fff; justify-content:center; flex:none; }
  .mw-head__tel-ico{ width:24px; height:24px; }
  .mw-head__tel-body{ display:none; }        

  
  .mw-hero{ min-height:173.15vw; max-height:none; }             
  .mw-hero__photo{ inset:0 0 auto 0; }
  .mw-hero__photo img{ height:auto; object-fit:initial; }      
  .mw-hero__inner{ padding:10vw 0 4vw; min-height:173.15vw; justify-content:flex-start; }
  .mw-hero__copy{ align-self:stretch; width:100%; padding-left:50.8vw; padding-right:2.6vw; }   
  .mw-hero__badge{ font-size:19px; padding:1.2vw 2.8vw; gap:1vw; }                   
  .mw-hero__badge .mw-ico{ width:6.2vw; height:6.2vw; }                                       
  .mw-hero__badge-tail{ display:none; }                                                        
  .mw-hero__title{ margin-top:2.4vw; font-size:9.3vw; line-height:1.24; letter-spacing:-0.05em; } 
  .mw-br-sp{ display:inline; }

  .mw-hero__lower{ margin-top:33vw; padding-inline:5.4vw; }                                     
  
  .mw-hero__panel{ background:rgba(255,255,255,.82); border-radius:14px; padding:2.4vw 2vw 2.6vw; }
  .mw-hero__panel .mw-hero__sub, .mw-hero__panel .mw-point__txt{ text-shadow:none; }
  .mw-hero__sub{ margin:0; text-align:center; font-size:5.1vw; line-height:1.25; }
  .mw-hero__points{ margin-top:0.8vw; justify-content:space-between; }                          
  .mw-point{ flex:1 1 0; flex-direction:column; gap:0.8vw; padding:0 1.5vw; text-align:center; white-space:normal; }
  .mw-point__ico{ width:11.8vw; height:11.8vw; border:none; border-radius:0; background:none; }   
  .mw-point__ico svg{ width:11.8vw; height:11.8vw; }
  .mw-point__txt{ font-size:max(14px, 3.85vw); line-height:1.22; }
  .mw-hero__note{ text-align:center; font-size:14px; line-height:1.4; margin-top:0.4vw; }

  .mw-hero__cta{ margin-top:1vw; gap:1.8vw; max-width:none; }
  .mw-btn{ padding:0 4vw; gap:3vw; border-radius:10px; }
  
  .mw-btn--tel{ min-height:17.7vw; display:grid; grid-template-columns:auto auto; grid-template-areas:"ico label" "ico num";
    justify-content:center; align-content:center; align-items:center; column-gap:3.5vw; row-gap:0; }
  .mw-btn--tel .mw-btn__ico{ grid-area:ico; width:10.5vw; height:10.5vw; }
  .mw-btn--tel .mw-btn__label{ grid-area:label; font-size:6.2vw; line-height:1.15; }
  .mw-btn--tel .mw-btn__num{ grid-area:num; font-size:5.5vw; line-height:1.15; padding-left:0; }
  .mw-btn--tel .mw-btn__num::before{ display:none; }
  .mw-btn__time{ display:none; }                     
  
  .mw-btn--web{ min-height:13vw; border-width:2.5px; }
  .mw-btn--web .mw-btn__label{ font-size:5.4vw; }
  .mw-btn--web .mw-btn__ico{ width:8.2vw; height:8.2vw; }                                     
}
