@charset "UTF-8";
/* CSS Document */

.reason3 {
.reason3 {
  background: #f3f3f3;

  /* 上下だけ適度に余白 */
  margin: 40px 0;

  /* 内側余白を少し小さく */
  padding: 20px 12px;
}
}

.reason3__inner {
  width: 100%;
  max-width: 375px;
  margin: 0 auto;
}

/* タイトル */
.reason3__head {
  position: relative;
  background: #2f4ea1;
  color: #fff;
  padding: 16px 14px 18px;
  overflow: hidden;
}

.reason3__head-sub {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 4px;
}

.reason3__head-title {
  margin: 0;
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
  color: #ffe500;
  letter-spacing: 0.02em;
}

/* 各ブロック */
.reason3__item {
  margin-top: 24px;
}

.reason3__point-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.reason3__point {
  flex: 0 0 56px;
  width: 56px;
  height: 72px;
  border: 3px solid #111;
  border-radius: 999px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-sizing: border-box;
}

.reason3__point-label {
  font-size: 9px;
  font-weight: 700;
  margin-bottom: 4px;
}

.reason3__point-num {
  font-size: 28px;
  font-weight: 900;
}

.reason3__item-title {
  margin: 0;
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  color: #2f4ea1;
}

.reason3__item-title span {
  display: inline;
  background: linear-gradient(transparent 62%, #fff25c 62%);
  font-size: 17px;
  font-weight: 900;
}

/* 画像 */
.reason3__image {
  width: 100%;
  margin-bottom: 14px;
}

.reason3__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* 本文 */
.reason3__text {
  margin: 0;
  font-size: 12px;
  line-height: 1.9;
  color: #333;
}

/* PCで少し見やすく */
@media screen and (min-width: 768px) {
  .reason3 {
    padding: 40px 20px 60px;
  }

  .reason3__inner {
    max-width: 760px;
  }

  .reason3__head {
    padding: 24px 24px 26px;
  }

  .reason3__head-sub {
    font-size: 22px;
  }

  .reason3__head-title {
    font-size: 84px;
  }

  .reason3__item {
    margin-top: 36px;
  }

  .reason3__point-wrap {
    gap: 18px;
    margin-bottom: 18px;
  }

  .reason3__point {
    flex: 0 0 74px;
    width: 74px;
    height: 96px;
  }

  .reason3__point-label {
    font-size: 11px;
  }

  .reason3__point-num {
    font-size: 38px;
  }

  .reason3__item-title {
    font-size: 24px;
  }

  .reason3__item-title span {
    font-size: 30px;
  }

  .reason3__text {
    font-size: 15px;
  }
}

.flow-section{
background:#f2f2f2;
padding:40px 20px 60px;
}

.flow-inner{
max-width:900px;
margin:auto;
}

.flow-header{
text-align:center;
margin-bottom:40px;
}

.flow-header img{
max-width:520px;
width:100%;
height:auto;
}

/* STEP */

.flow-item{
display:flex;
gap:30px;
align-items:flex-start;
}

.flow-step{
width:120px;
min-width:120px;
}

.flow-step img{
width:100%;
height:auto;
display:block;
}

/* 文章 */

.flow-content{
flex:1;
}

.flow-content h3{
color:#3f5ea9;
font-size:26px;
font-weight: 600;
margin-bottom:10px;
}

.flow-content p{
font-size:16px;
line-height:1.9;
}

/* 区切り */

.flow-divider{
display:flex;
justify-content:center;
align-items:center;
margin:20px 0 25px;
}

.flow-divider span{
background:#666;
color:#fff;
width:34px;
height:34px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
}

/* スマホ */

@media(max-width:768px){

.flow-step{
width:70px;
min-width:70px;
}

.flow-content h3{
font-size:20px;
}

.flow-content p{
font-size:15px;
}

}

/* FAQ */

.faq-section{
  padding:40px 20px 60px;
}

.faq-inner{
  max-width:900px;
  margin:0 auto;
}

.faq-header{
  text-align:center;
  margin-bottom:36px;
}

.faq-header img{
  width:100%;
  max-width:520px;
  height:auto;
  display:block;
  margin:0 auto;
}

/* 1件ごとのFAQ */
.faq-item{
  border-bottom:1px solid #a8a8a8;
  padding:0 0 28px;
  margin:0 0 28px;
}

.faq-item:last-child{
  margin-bottom:0;
}

/* Q/A共通行 */
.faq-row{
  display:flex;
  align-items:flex-start;
  gap:26px;
}

.faq-row-q{
  align-items:center; /* Qと質問を縦中央 */
  margin-bottom:18px;
}

.faq-row-a{
  align-items:flex-start;
}

/* Q/Aアイコン */
.faq-icon{
  position:relative;
  width:54px;
  min-width:54px;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
  line-height:1;
  text-align:center;
  flex-shrink:0;
}

/* 矢印 */
.faq-icon::after{
  content:"";
  position:absolute;
  top:50%;
  right:-16px;
  width:18px;
  height:18px;
  border-top:2px solid currentColor;
  border-right:2px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}

.faq-icon.q{
  color:#3f5ea9;
  font-size:62px;
}

.faq-icon.a{
  color:#e53935;
  font-size:62px;
}

/* 質問タイトル */
.faq-title{
  margin:0;
  color:#3f5ea9;
  font-size:25px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:0.01em;
  flex:1;
}

/* 回答文 */
.faq-row-a p{
  margin:0;
  color:#222;
  font-size:16px;
  line-height:1.95;
  font-weight:500;
  flex:1;
}

/* タブレット */
@media screen and (max-width:768px){
  .faq-section{
    padding:30px 16px 42px;
  }

  .faq-header{
    margin-bottom:28px;
  }

  .faq-item{
    padding:0 0 22px;
    margin:0 0 22px;
  }

  .faq-row{
    gap:18px;
  }

  .faq-row-q{
    margin-bottom:14px;
  }

  .faq-icon{
    width:42px;
    min-width:42px;
  }

  .faq-icon::after{
    right:-12px;
    width:14px;
    height:14px;
  }

  .faq-icon.q,
  .faq-icon.a{
    font-size:48px;
  }

  .faq-title{
    font-size:20px;
    line-height:1.5;
  }

  .faq-row-a p{
    font-size:14px;
    line-height:1.85;
  }
}

/* スマホ */
@media screen and (max-width:480px){
  .faq-section{
    padding:24px 14px 36px;
  }

  .faq-row{
    gap:14px;
  }

  .faq-icon{
    width:34px;
    min-width:34px;
  }

  .faq-icon::after{
    right:-10px;
    width:12px;
    height:12px;
    border-top:2px solid currentColor;
    border-right:2px solid currentColor;
  }

  .faq-icon.q,
  .faq-icon.a{
    font-size:38px;
  }

  .faq-title{
    font-size:18px;
    line-height:1.45;
  }

  .faq-row-a p{
    font-size:13px;
    line-height:1.8;
  }
}

.credit-section{
  padding:50px 20px;
  text-align:center;
}

.credit-title{
  font-size:28px;
  font-weight:700;
  color:#333;
  letter-spacing:0.05em;
  display:inline-block;
  position:relative;
  padding-bottom:12px;
}

/* 下ライン */

.credit-title::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:120px;
  height:3px;
  background:#3f5ea9;
}

/* アニメーショングリッド */
/* セクション */

.fade-grid{
  padding:0;
}

/* グリッド */

.fade-grid__inner{
  max-width:760px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px; /* 隙間最小 */
}

/* アニメーション前 */

.fade-grid__item{
  opacity:0;
  transform:translateY(-30px);
  transition:
    opacity .9s ease,
    transform .9s ease;
}

/* 表示 */

.fade-grid__item.is-show{
  opacity:1;
  transform:translateY(0);
}

/* 画像 */

.fade-grid__item img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
}

/* 遅延 */

.fade-grid__item:nth-child(1){transition-delay:.05s;}
.fade-grid__item:nth-child(2){transition-delay:.2s;}
.fade-grid__item:nth-child(3){transition-delay:.35s;}
.fade-grid__item:nth-child(4){transition-delay:.5s;}

/* スマホ */

@media(max-width:768px){

.fade-grid__inner{
  gap:4px;
}

}

.note-list{
  font-size:10px;
  line-height:1.3;
  color:#444;
  margin-top:20px;
}

.note-list p{
  margin:4px 0;
}