/* =============================================
   TOP MV / ファーストビュー
============================================= */
.mv{
  background-image:url('../img/AI-bg.webp');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  height:541px;
}

.mv .container{
  padding:0;
  position:relative;
  width:100%;
  height:100%;
  margin:0 auto;
}

.mv-subtitle,
.mv-title,
.mv-catch{
  position:absolute;
  left:18%;
  z-index:2;
}

.mv-subtitle{
  top:10%;
  display:inline-flex;
  align-items:center;
  gap:2px;
  background:#1f9d55;
  color:#fff;
  font-size:.95rem;
  font-weight:700;
  padding:7px 20px 7px 12px;
  border-radius:999px;
  box-shadow:0 6px 16px rgba(46,168,213,.22);
}

.mv-subtitle svg{
  width:20px;
  height:20px;
  fill:currentColor;
  flex:none;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));
  opacity:.95;
}

.mv-title{
  top:18%;
  font-size:4.5rem;
  color:#fff;
  font-weight:900;
  line-height:1.2;
  margin:0;
}

.mv-catch{
  top:55%;
  max-width:480px;
  color:#0a2d4a;
  font-size:1rem;
  font-weight:600;
  line-height:1.8;
  background:rgba(255,255,255,.8);
  border-radius:8px;
  padding:20px;
  margin:0;
}

.mv-person{
  position:absolute;
  inset:0;
  z-index:1;
}

.mv-person img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

main{padding:0;}

#ranking,
#usage,
#prompt,
#caution,
#flow,
#links{
scroll-margin-top:90px;
}

/* ==================================
   AIに聞く花粉症対策 /ai/
================================== */

.ai-card,
.ai-use-card,
.prompt-box,
.ai-link-card,
.flow-list div{
  background:#fff;
  border:1px solid #d9eef7;
  box-shadow:0 4px 14px rgba(46,168,213,.06);
}

.caution-box h3,
.flow-list h3{
  font-weight:900;
  color:#1a2f3a;
  margin:0 0 12px;
}

.ai-card-grid,
.prompt-grid,
.caution-list,
.flow-list{
  display:grid;
  gap:16px;
}

.ai-section{
  padding:32px 0;
}
.ai-card-grid{
  grid-template-columns:repeat(3,1fr);
}
.flow-list{
  grid-template-columns:repeat(4,1fr);
}
.prompt-grid{
  grid-template-columns:repeat(2,1fr);
}

.ai-card,
.ai-use-card,
.prompt-box,
.ai-link-card,
.flow-list div{
  border-radius:14px;
  padding:20px;
}

.ai-card span{
  display:inline-block;
  background:#e8f6fb;
  color:#1a7fa8;
  font-size:.74rem;
  font-weight:900;
  padding:4px 10px;
  border-radius:999px;
  margin-bottom:10px;
}

.ai-card h3,
.prompt-box h3,
.ai-link-card h3{
  font-size:1.08rem;
  font-weight:900;
  color:#1a2f3a;
  line-height:1.45;
  margin:0 0 8px;
}

.ai-card p,
.ai-link-card p{
  font-size:.9rem;
  line-height:1.75;
  color:#60737f;
  margin:0 0 12px;
}

.ai-card ul{
  margin:10px 0 0;
  padding-left:18px;
  color:#60737f;
  line-height:1.8;
  font-size:.88rem;
}

.ai-card-strong{
  background:linear-gradient(135deg,#e8f6fb,#fff);
  border-color:#bde3f1;
}

.ai-use-card a,
.ai-link-card{
  color:#1687b4;
  font-weight:900;
  text-decoration:none;
}

.ai-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}

.ai-card-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:50%;
  background:#2EA8D5;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(46,168,213,.22);
}

.ai-card-icon svg{
  width:36px;
  height:36px;
  display:block;
}

.ai-card-head span{
  display:block;
  font-size:.72rem;
  font-weight:700;
  color:#2EA8D5;
  opacity:.75;
  letter-spacing:.08em;
}

.ai-card-head h3{
  margin:0;
  font-size:1.18rem;
  line-height:1.35;
  color:#123047;
}

.ai-use-card p{
  font-size:.9rem;
  line-height:1.75;
  color:#60737f;
  margin:0 0 12px;
}

.prompt-box{
  border-left:5px solid #2EA8D5;
}

.prompt-box p{
  color:#445;
  background:#f8fcff;
  border-radius:10px;
  padding:14px;
  margin:0;
  line-height:1.75;
}

.caution-box{
  background:#fff8e6;
  border-left:5px solid #f5a623;
  border-radius:12px;
  padding:20px;
  max-width:1100px;
  margin:0 auto 20px;
}

.caution-box h3{
  font-size:1.12rem;
}

.caution-box p{
  color:#554;
  line-height:1.85;
  margin:0;
}

.caution-list{
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.caution-list div{
  background:#fff;
  border:1px solid #d9eef7;
  border-radius:12px;
  padding:16px;
  color:#60737f;
  line-height:1.7;
  font-size:.9rem;
}

.caution-list strong{
  color:#1a2f3a;
}

.flow-list span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#2EA8D5;
  color:#fff;
  font-weight:900;
  margin-bottom:12px;
}

.flow-list h3{
  font-size:1.05rem;
  margin-bottom:8px;
}

.flow-list p{
  font-size:.9rem;
  color:#60737f;
  line-height:1.75;
  margin:0;
}

.ai-link-card{
  display:block;
  color:#1a2f3a;
}

.ai-cta{
  background:linear-gradient(135deg,#e8f6fb,#fff);
  border:1px solid #d9eef7;
  border-radius:18px;
  padding:30px;
  margin-top:32px;
}
.ai-cta h3{display:flex;align-items:center; font-size: 1.2rem;color: #2EA8D5;}
.ai-cta p{
  color:#556;
  line-height:1.8;
}
.ai-cta h3,.ai-cta p{width: 94%;margin: 0 auto 20px;}


.ai-btns{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.ai-btn{
  display:inline-block;
  background:#2EA8D5;
  color:#fff;
  font-weight:900;
  padding:12px 24px;
  border-radius:999px;
  text-decoration:none;
}

.ai-btn.sub{
  background:#145A32;
}
#ranking,#usage,#prompt,#caution,#flow,#links{scroll-margin-top:90px!important;}
/* =============================================
   Responsive
============================================= */
@media (min-width:901px) and (max-width:1366px){
  .mv{height:380px;}

  .mv-subtitle,
  .mv-title,
  .mv-catch{
    left:15%;
  }

  .mv-title{
    top:20%;
    font-size:3.5rem;
  }

  .mv-catch{
    top:60%;
    max-width:400px;
    font-size:.85rem;
    padding:12px 24px;
  }
  .flow-list{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:900px){
  .mv{
    height:400px;
  }

  .mv-subtitle,
  .mv-title,
  .mv-catch{
    left:10%;
  }

  .mv-subtitle{
    font-size:.75rem;
    padding:6px 18px 6px 10px;
  }

  .mv-title{
    font-size:3.3rem;
  }

  .ai-card-grid,
  .caution-list,
  .flow-list{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:680px){
  .mv{
    height:auto;
    min-height:0;
  }

  .mv-person{
    position:relative;
  }

  .mv-person img{
    height:auto;
    object-fit:contain;
  }

  .mv-subtitle{
    top:5.5%;
    left:5.5%;
    font-size:3vw;
  }

  .mv-title{
    top:15%;
    left:6%;
    width:auto;
    white-space:normal;
    font-size:15vw;
    line-height:1.15;
  }

  .mv-catch{
    top:50%;
    left:4%;
    width:92%;
    font-size:4vw;
  }

  .ai-card-grid,
  .prompt-grid,
  .caution-list,
  .flow-list{
    grid-template-columns:1fr;
  }
  .ai-section{
    padding:20px 0;
  }
  .ai-cta{
    padding:24px 8px;
  }.ai-cta h3{font-size: 1.1rem}

}

.ai-link-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.ai-link-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  background:#2EA8D5;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ai-link-icon svg{
  width:28px;
  height:28px;
  display:block;
}

.ai-link-head h3{
  margin:0;
}
/* =============================================
   AIページ：広告・拡張コンテンツ
============================================= */
.ai-ad{
  position:relative;
  text-align:center;
  line-height:0;
}
.ai-ad-label{
  display:block;
  margin:0 auto 6px;
  color:#7b8b96;
  font-size:.68rem;
  line-height:1;
  letter-spacing:.08em;
}
.ai-ad a{display:inline-block;max-width:100%;}
.ai-ad img{display:block;max-width:100%;height:auto;margin:auto;}
.ai-ad > img[width="1"]{position:absolute;width:1px;height:1px;overflow:hidden;}
.ai-ad--wide{max-width:1200px;margin:18px auto 8px;padding:0 20px;}
.ai-ad--square{max-width:520px;margin:30px auto 0;}
.ai-ad--side{margin:0 auto 24px;padding:10px;background:#fff;border:1px solid #d9eef7;border-radius:12px;}
.ai-ad--side a,.ai-ad--side img{width:100%;}

.ai-more-section{scroll-margin-top:90px;}
.ai-more-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:24px 0;
}
.ai-more-card{
  display:block;
  min-width:0;
  padding:20px;
  color:#1a2f3a;
  text-decoration:none;
  background:#fff;
  border:1px solid #d9eef7;
  border-radius:14px;
  box-shadow:0 5px 16px rgba(46,168,213,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ai-more-card:hover{
  transform:translateY(-2px);
  border-color:#77cbe8;
  box-shadow:0 9px 22px rgba(46,168,213,.14);
}
.ai-more-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:12px;
  border-radius:50%;
  background:#2EA8D5;
  color:#fff;
  font-weight:900;
}
.ai-more-card:nth-child(2) .ai-more-icon{background:#1f9d55;}
.ai-more-card:nth-child(3) .ai-more-icon{background:#7657d5;}
.ai-more-card h3{margin:0 0 8px;font-size:1.05rem;line-height:1.5;}
.ai-more-card p{margin:0 0 12px;color:#60737f;font-size:.9rem;line-height:1.75;}
.ai-more-link{color:#1689b6;font-size:.85rem;font-weight:900;}
.ai-topic-block{
  scroll-margin-top:90px;
  margin-top:16px;
  padding:18px 20px;
  background:#f8fcff;
  border-left:4px solid #2EA8D5;
  border-radius:10px;
}
.ai-topic-block h3{margin:0 0 10px;color:#1a2f3a;font-size:1.05rem;}
.ai-topic-block p{margin:10px 0 0;color:#60737f;line-height:1.75;}
.ai-topic-tags{display:flex;flex-wrap:wrap;gap:8px;}
.ai-topic-tags span{padding:5px 10px;border-radius:999px;background:#e8f6fb;color:#197da3;font-size:.78rem;font-weight:800;}
.ai-page-nav{position:relative;}
.ai-page-nav .side-link p{margin:2px 0 0;}

@media(max-width:900px){
  .ai-ad--side{display:none;}
}
@media(max-width:680px){
  .ai-ad--wide{margin-top:12px;padding:0 12px;}
  .ai-more-grid{grid-template-columns:1fr;}
  .ai-more-card{padding:18px;}
  .ai-topic-block{padding:16px;}
  .ai-ad--square{max-width:100%;margin-top:22px;}
}