/*
Theme Name: child-hokurikukon
Template: bootstrap-basic4
Version: 1.0
*/

:root{--color-main:#f2c94c;--color-sub:#111111;--color-subsub:#f5f5f5;--color-border:#eeeeee;--color-text:#111111;--color-bg:#ffffff;--color-muted:#fafafa;}

html,body{height:100%;}
body.lp-hokurikukon{margin:0;overflow:hidden;background:var(--color-bg);color:var(--color-text);}
*{box-sizing:border-box;}
.mf-layout{display:flex;height:100vh;overflow:hidden;background:var(--color-bg);}
.mf-left{width:clamp(240px,22vw,320px);border-right:1px solid var(--color-border);background:var(--color-bg);}
.mf-right{width:clamp(260px,28vw,420px);border-left:1px solid var(--color-border);background:var(--color-bg);}
.mf-center{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--color-bg);}
.mf-left-inner,.mf-center-inner,.mf-right-inner{padding:34px;}
.mf-year{font-weight:900;font-size:44px;line-height:1;}
.mf-title{font-weight:900;font-size:44px;line-height:.95;margin-top:6px;}
.mf-divider{width:56px;height:6px;background:var(--color-main);border-radius:999px;margin:18px 0;}
.mf-nav a{display:flex;align-items:center;gap:14px;padding:10px 0;color:var(--color-text);text-decoration:none;font-weight:800;}
.mf-nav a::before{content:"";width:10px;height:10px;background:var(--color-main);border-radius:50%;flex:0 0 auto;}
.mf-btn{display:flex;justify-content:space-between;align-items:center;margin-top:28px;width:100%;padding:16px 18px;background:var(--color-main);color:var(--color-text);text-decoration:none;font-weight:900;border-radius:999px;}
.mf-btn{white-space:nowrap;}
.mf-left{display:flex;flex-direction:column;}
.mf-left-inner{flex:1;min-height:0;}
.mf-btn-center{position:sticky;bottom:24px;align-self:center;width:calc(100% - 68px);max-width:320px;justify-content:center;gap:10px;white-space:nowrap;margin:18px 0 0;}
.mf-btn-center:hover{color:#fff;}
.mf-btn-center:hover .mf-arrow{color:#fff;}


.mf-hero-media{position:relative;border-radius:26px;overflow:hidden;}
.mf-hero-media img{width:100%;height:540px;object-fit:cover;display:block;}
.mf-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:26px;background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.22));}
.mf-hero-text{color:#fff;text-shadow:0 12px 30px rgba(0,0,0,.25);}
.mf-hero-top{font-weight:900;font-size:42px;line-height:1;}
.mf-hero-main{font-weight:900;font-size:58px;line-height:.95;}
.mf-badges{display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.mf-badge{background:#fff;color:var(--color-text);font-weight:900;padding:10px 12px;border-radius:10px;width:fit-content;box-shadow:0 10px 30px rgba(0,0,0,.15);}

.mf-notice{display:flex;gap:14px;align-items:flex-start;padding:18px 18px;background:var(--color-subsub);border-radius:18px;margin:18px 0;}
.mf-notice-tag{background:var(--color-sub);color:#fff;font-weight:700;padding:10px 14px;border-radius:12px;white-space:nowrap;}
.mf-notice-text{margin:0;font-weight:600;line-height:1.7;}

.mf-about{padding:28px 0 10px;}
.mf-about-kicker{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.mf-about-dot{width:28px;height:28px;border-radius:999px;background:var(--color-main);display:inline-block;}
.mf-about-label{font-weight:900;letter-spacing:.14em;}
.mf-about-title{font-size:36px;font-weight:900;line-height:1.25;margin:0 0 18px;}
.mf-about-body{max-width:720px;}
.mf-about-body p{margin:0 0 14px;font-weight:700;line-height:2;}
.mf-mark{display:inline;padding:.05em .25em;background:linear-gradient(transparent 62%,var(--color-main) 0);font-weight:900;}

.area-ishikawa{--color-main:#f2c94c;}
.area-fukui{--color-main:#6fcf97;}
.area-toyama{--color-main:#56ccf2;}
.mf-overview{padding:30px 0;}
.mf-overview-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.mf-overview-dot{width:38px;height:38px;border-radius:999px;background:var(--color-main);}
.mf-overview-title{font-size:26px;font-weight:900;margin:0;}
.mf-overview-list{display:flex;flex-direction:column;gap:14px;}
.mf-overview-row{display:flex;align-items:stretch;border-radius:14px;overflow:hidden;background:var(--color-subsub);}
.mf-overview-label{min-width:140px;background:var(--color-main);color:var(--color-text);font-weight:900;padding:16px 18px;}
.mf-overview-value{flex:1;padding:16px 20px;font-weight:700;line-height:1.6;}


/* 参加の流れ */
.mf-how{--color-main:#06c755;}
.mf-how{max-width:720px;margin:20px 100px 0;}
.mf-how-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:18px;}
.mf-how-dot{width:38px;height:38px;border-radius:999px;background:var(--color-main);}
.mf-how-title{font-size:22px;font-weight:900;margin:0;text-align: center;}
.mf-how-steps{display:flex;flex-direction:column;gap:14px;margin-top:8px;}
.mf-step{display:flex;gap:14px;align-items:stretch;background:var(--color-subsub);border-radius:16px;padding:14px 14px;}
.mf-step-no{width:44px;height:44px;border-radius:999px;background:var(--color-main);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;flex:0 0 auto;}
.mf-step-body{flex:1;}
.mf-step-title{font-weight:900;font-size:16px;line-height:1.3;margin:2px 0 8px;}
.mf-step-text{margin:0;font-weight:700;line-height:1.9;}
.mf-how-cta{margin-top:18px;text-align:center;}
.mf-how-btn{width:auto;display:inline-flex;padding:14px 22px;font-size:15px;}
.mf-how-btn:hover{color:#fff;}



/* 参加者の声 */
.mf-voice{padding:30px 0;}
.mf-voice-title{font-size:26px;font-weight:900;margin:0 0 18px;}
.mf-voice-marquee{overflow:hidden;position:relative;}
.mf-voice-track{display:flex;gap:14px;will-change:transform;animation:mfVoiceMarquee 20s linear infinite;}
.mf-voice-marquee:hover .mf-voice-track{animation-play-state:paused;}
.mf-voice-card{flex:0 0 calc((100% - 14px)/2);background:var(--color-subsub);border-radius:16px;padding:16px 16px;border:2px solid transparent;}
.mf-voice-card.is-female{border-color:#b71c1c;background:#fdecec;}
.mf-voice-card.is-male{border-color:#0d47a1;background:#e3f0ff;}
.mf-voice-quote{font-weight:800;line-height:1.9;margin:0 0 12px;}
.mf-voice-meta{display:flex;flex-wrap:wrap;gap:8px;}
.mf-voice-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);font-weight:900;font-size:12px;}
@keyframes mfVoiceMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (max-width:991.98px){.mf-voice-marquee{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:12px;}.mf-voice-track{animation:none;}.mf-voice-card{scroll-snap-align:start;flex-basis:88%;}}


/* 安心 */
.mf-safety{padding:30px 0;}
.mf-safety-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;}
.mf-safety-dot{width:38px;height:38px;border-radius:999px;background:var(--color-main);}
.mf-safety-title{font-size:26px;font-weight:900;margin:0;line-height:1.2;}
.mf-safety-lead{margin:0 0 16px;font-weight:800;line-height:1.9;max-width:760px;}
.mf-safety-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.mf-safety-card{display:flex;gap:12px;align-items:flex-start;background:var(--color-subsub);border-radius:16px;padding:16px 16px;}
.mf-safety-icon{width:34px;height:34px;border-radius:999px;background:var(--color-main);display:flex;align-items:center;justify-content:center;font-weight:900;}
.mf-safety-body{flex:1;}
.mf-safety-card-title{font-weight:900;font-size:16px;margin:2px 0 6px;}
.mf-safety-card-text{margin:0;font-weight:700;line-height:1.9;}
.mf-safety-note{display:flex;gap:12px;align-items:flex-start;background:#f5f5f5;border-radius:18px;padding:16px 16px;margin-top:16px;}
.mf-safety-badge{background:#111;color:#fff;font-weight:900;padding:8px 12px;border-radius:12px;white-space:nowrap;}
.mf-safety-note-text{margin:0;font-weight:700;line-height:1.9;}
@media (max-width:991.98px){.mf-safety-grid{grid-template-columns:1fr;}}


.mf-faq{padding:30px 0;}
.mf-faq-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.mf-faq-dot{width:38px;height:38px;border-radius:999px;background:var(--color-main);}
.mf-faq-title{font-size:26px;font-weight:900;margin:0;}
.mf-faq-list{display:flex;flex-direction:column;gap:14px;}
.mf-faq-item{background:#f7f7f7;border-radius:18px;padding:18px 20px;}
.mf-faq-q{font-weight:900;font-size:16px;margin-bottom:6px;}
.mf-faq-q::before{content:"Q.";margin-right:6px;color:var(--color-main);}
.mf-faq-a{font-weight:700;line-height:1.9;}
.mf-faq-a::before{content:"A.";margin-right:6px;color:#666;}



.mf-section{padding:22px 0;border-bottom:1px solid #f0f0f0;}
.mf-section h2{font-size:22px;font-weight:900;margin:0 0 10px;}
.mf-ol,.mf-ul{padding-left:18px;margin:0;}
.mf-quote{background:var(--color-muted);border-radius:14px;padding:14px;margin:10px 0;}
.mf-faq .q{font-weight:900;margin-top:12px;}
.mf-faq .a{margin-top:6px;padding-bottom:10px;border-bottom:1px dashed #eaeaea;}
.mf-bottom-cta{padding:26px 0 40px;}
.mf-thumb{border-radius:22px;overflow:hidden;margin-bottom:18px;}
.mf-thumb img{width:100%;height:220px;object-fit:cover;display:block;}
.mf-marquee{height:calc(100vh - 68px);overflow:hidden;position:relative;}
.mf-marquee::before{content:"";position:absolute;top:0;left:0;right:0;height:42px;background:linear-gradient(to bottom,var(--color-bg),rgba(255,255,255,0));z-index:2;pointer-events:none;}
.mf-marquee::after{content:"";position:absolute;bottom:0;left:0;right:0;height:42px;background:linear-gradient(to top,var(--color-bg),rgba(255,255,255,0));z-index:2;pointer-events:none;}
.mf-marquee-track{will-change:transform;animation:mfScrollUp 60s linear infinite;}
.mf-marquee:hover .mf-marquee-track{animation-play-state:paused;}
@keyframes mfScrollUp{from{transform:translateY(0);}to{transform:translateY(-50%);}}


@media (max-width:991.98px){
  body.lp-hokurikukon{overflow:auto;}
  .mf-layout{display:block;height:auto;overflow:visible;}
  .mf-left,.mf-right{display:none;}
  .mf-center{overflow:visible;}
  .mf-center-inner{padding:18px;}
  .mf-hero-media img{height:360px;}
  .mf-hero-top{font-size:32px;}
  .mf-hero-main{font-size:42px;}
  .mf-badges{align-items:flex-start;}
  .mf-badge{max-width:100%;}
  .mf-about-title{font-size:30px;}
  .mf-overview-label{min-width:108px;padding:14px;}
  .mf-overview-value{padding:14px;}
}
