/* =============================================
   TOP MV / ファーストビュー
============================================= */
.mv{
  background-image:url('../img/same-bg.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:repeat;
  position:relative;
  /*overflow:hidden;*/
  height:280px;
}
.mv .container{
  padding:0; /* MVのみ左右余白を解除。重要！style.cssの左右余白20px上書き*/
  position:relative;
  width:100%;
  height:100%;
  margin: 0 auto;
}

.mv-label, h1,.mv-lead{
position:absolute;
}
.mv-label,h1,
.mv-lead{
left:6%;
}
.mv-label{
    top:15%;
    display:inline-flex;
    align-items:center;
    gap:2px;
    background:#1f9d55;
    color:#fff;
    font-weight:700;
    font-size:.95rem;
    padding:7px 20px 7px 12px;
    border-radius:999px;
    box-shadow:0 6px 16px rgba(46,168,213,.22);
    z-index:3;
}
.mv-label svg{
    width:20px;
    height:20px;
    fill:currentColor;
    flex:none;
filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));
 opacity:.95;
 margin-top: 4px;
}
.mt2{ margin-top: 2px;}

h1{
  top:33%;
  font-size:3.5rem;
  font-weight:900;
  color:#0a2d4a;
  line-height:1.2;
  letter-spacing:-.02rem;
  z-index:3;
    text-shadow:
    1px 1px 0 #fff,
   -1px 1px 0 #fff,
    1px -1px 0 #fff,
   -1px -1px 0 #fff,
    1px 0 0 #fff,
   -1px 0 0 #fff,
    0 1px 0 #fff,
    0 -1px 0 #fff;
}

.mv-lead{
  top:62%;
  max-width:550px;
  color:#0a2d4a;
  font-size:1.02rem;
  line-height:2;
  margin:0;
  font-weight:500;
  text-shadow:
  0 1px 3px rgba(255,255,255,.9),
  0 0 10px rgba(255,255,255,.7);
  z-index:3;
}

@media (min-width:901px) and (max-width:1366px){
.mv{height:250px; }
.mv-label,h1,
.mv-lead{
left:15%;
}
h1{font-size:3.3rem;}
}
/* iPad sp*/
@media (max-width: 900px) {
.mv{
  background-image:url('../img/same-bg-s.webp');
  background-size:cover;
  background-position:center center;
  background-repeat:repeat;
  position:relative;
  height:200px;
  }
.mv-label{
top:10%;
font-size:.75rem;
padding:6px 18px 6px 10px;
}
h1{
font-size:3rem;
}
h1,.mv-label, .mv-lead{
left:13%;
}
.mv-lead{
  top:66%;
  font-size:0.89rem;
  line-height:1.8;
  letter-spacing: -.03rem;
}
}
/* スマホ */
@media(max-width:680px){
.mv{
  font-size: clamp(2.2rem, 8vw, 4rem);
  min-height:200px;
  }
  .mv-label{
    position:absolute;
    top:10%;
    left:6%;
    font-size:3vw;
  }
  h1{
    position:absolute;
    top:30%;
    left:6%;
    width:auto;
    white-space:normal; /* ←重要 */
    font-size:9.3vw;/*9.3vw*/
    line-height:1.2;
  }

 .mv-lead{
    position:absolute;
    font-size:3.8vw;
    top:55%;
    left:6%;
    width:88%;
  }
main{padding:0;
}
}


.faq-wrap{max-width:1200px;margin:0 auto;padding:0px 20px 76px}
.faq-intro{background:#fff;border:1px solid #d9eef7;border-radius:16px;padding:24px;margin-bottom:30px}
.faq-intro p{line-height:1.9;color:#444;margin-bottom:12px}
.faq-toc{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 38px}
.faq-toc a{display:block;background:#fff;border:1px solid #d9eef7;border-radius:12px;padding:15px;color:#1a2f3a;font-weight:900;}


.faq-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    align-items:start;
}

.faq-section{
    margin-top:0;
}

.faq-section{margin-top:46px}
.faq-section h2{font-size:1.45rem;font-weight:900;color:#1a2f3a;border-left:6px solid #2EA8D5;padding-left:12px;margin-bottom:20px}
.faq-item{background:#fff;border:1px solid #d9eef7;border-radius:14px;margin-bottom:14px;overflow:hidden}
.faq-q{display:block;width:100%;background:#fff;border:0;text-align:left;padding:18px 46px 18px 18px;font-size:1rem;font-weight:900;color:#1a2f3a;position:relative;cursor:pointer}
.faq-q::after{content:'＋';position:absolute;right:18px;top:18px;color:#2EA8D5;font-weight:900}
.faq-item[open] .faq-q::after{content:'－'}
.faq-a{padding:0 18px 18px;color:#444;line-height:1.9}
.faq-a p{margin-bottom:12px}
.faq-a ul{padding-left:22px;margin:10px 0 14px}
.faq-a li{margin-bottom:6px}
.faq-a a{color:#1687b4;font-weight:900;text-decoration:underline}
.faq-note{background:#fff8e6;border-left:5px solid #f5a623;padding:16px 18px;margin:22px 0;border-radius:8px;line-height:1.8;color:#554}
.faq-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.faq-link-card{display:block;background:#f8fcff;border:1px solid #d9eef7;border-radius:12px;padding:18px;color:#1a2f3a}
.faq-link-card h3{font-size:1rem;font-weight:900;margin-bottom:8px}
.faq-link-card p{font-size:.86rem;color:#667;line-height:1.7;margin:0}
.faq-cta{background:linear-gradient(135deg,#e8f6fb,#fff);border:1px solid #d9eef7;border-radius:18px;padding:28px;margin-top:48px}
.faq-cta h2{font-size:1.35rem;color:#1a2f3a;font-weight:900;margin-bottom:12px}
.faq-cta p{line-height:1.8;color:#556;margin-bottom:18px}
.faq-btns{display:flex;justify-content:left;gap:12px;flex-wrap:wrap}
.faq-btn{display:inline-block;background:#2EA8D5;color:#fff!important;font-weight:900;padding:12px 22px;border-radius:999px;text-decoration:none}
.faq-btn.sub{background:#145A32}

.faq-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start;
  margin-top:46px;
}

.faq-section{
  margin-top:0;
}

.faq-section h2{
  font-size:1.25rem;
}

.faq-note{
  grid-column:1 / -1;
}

@media(max-width:900px){
.faq-toc{gap:6px;margin:24px 0 30px}
.faq-toc a{padding:15px 6px;}
.faq-link-grid{grid-template-columns:1fr 1fr}
.faq-section-grid{
grid-template-columns:repeat(2,1fr);
gap:4px;
}

}
@media(max-width:680px){
.faq-hero h1{font-size:1.55rem}
.faq-wrap{padding:0 16px 64px}
.faq-toc{grid-template-columns:repeat(2,1fr);margin:16px 0 24px}
.faq-toc a{font-size: 0.8rem;}
.faq-link-grid,.faq-section-grid{grid-template-columns:1fr}
.faq-q{font-size:.95rem;padding-right:42px}
}
