.difficulty-section{
  position:relative;
  overflow:hidden;
  padding:58px 0 42px;
  background:
    radial-gradient(90% 26% at 50% 100%,rgba(79,139,255,.26) 0%,rgba(79,139,255,0) 72%),
    linear-gradient(180deg,#eef4fb 0%,#dfeafb 54%,#d4e4fb 100%);
}
.difficulty-section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:34px solid transparent;
  border-right:34px solid transparent;
  border-top:34px solid rgba(245,248,250);
}
.difficulty-container{
  position:relative;
  z-index:1;
  width:min(calc(100% - 44px),430px);
  margin:0 auto;
}
.difficulty-title{
  width:100%;
  max-width:360px;
  margin:0 auto 34px;
  color:#173463;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:28px;
  line-height:1.6;
  font-weight:700;
  letter-spacing:.025em;
  text-align:center;
}
.difficulty-title span{
  display:block;
  width:100%;
  text-align:center;
}
.difficulty-grid{
  display:grid;
  gap:26px;
}
.difficulty-card{
  padding:27px 25px 23px;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 16px rgba(19,43,79,.20);
}
.difficulty-card-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:17px;
}
.difficulty-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:0;
  background-color:transparent;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.difficulty-card:nth-child(1) .difficulty-icon{background-image:url('../img/difficulty/value.png');}
.difficulty-card:nth-child(2) .difficulty-icon{background-image:url('../img/difficulty/people.png');}
.difficulty-card:nth-child(3) .difficulty-icon{background-image:url('../img/difficulty/information.png');}
.difficulty-card:nth-child(4) .difficulty-icon{background-image:url('../img/difficulty/buyer.png');}
.difficulty-card h3{
  margin:0;
  color:#173463;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:28px;
  line-height:1.25;
  font-weight:700;
}
.difficulty-card p{
  margin:0;
  color:#20242c;
  font-size:16px;
  line-height:1.82;
  font-weight:600;
  letter-spacing:.01em;
}
.difficulty-callout{
  position:relative;
  min-height:238px;
  margin-top:44px;
  padding:20px 18px 18px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:14px;
  background:rgba(178,208,248,.66);
  color:#173463;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:18px;
  line-height:1.92;
  font-weight:600;
  letter-spacing:.02em;
  text-align:center;
}
.difficulty-callout p{
  margin:0;
}
.difficulty-highlight{
  display:inline;
  padding:1px 5px 2px;
  background:#fff;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.difficulty-callout::after{
  content:"";
  position:absolute;
  inset:11px;
  pointer-events:none;
  background:
    linear-gradient(#d7a632,#d7a632) left top/105px 2px no-repeat,
    linear-gradient(#d7a632,#d7a632) left top/2px 82px no-repeat,
    linear-gradient(#d7a632,#d7a632) right bottom/105px 2px no-repeat,
    linear-gradient(#d7a632,#d7a632) right bottom/2px 82px no-repeat;
}
@media(max-width:430px){
  .difficulty-section{padding:58px 0 42px;}
  .difficulty-container{width:calc(100% - 44px);}
  .difficulty-title{font-size:28px;}
}
@media(max-width:374px){
  .difficulty-container{width:calc(100% - 32px);}
  .difficulty-title{font-size:25px;}
  .difficulty-card{padding:24px 21px 21px;}
  .difficulty-card h3{font-size:25px;}
  .difficulty-card p{font-size:15px;}
  .difficulty-callout{font-size:16px;}
}
@media(min-width:768px){
  .difficulty-section{
    padding:82px 0 68px;
    margin-top: -80px;
  }
  .difficulty-section::before{
    border-left-width:42px;
    border-right-width:42px;
    border-top-width:42px;
  }
  .difficulty-container{width:min(100% - 48px,920px);}
  .difficulty-title{max-width:760px;font-size:40px;margin-bottom:46px;}
  .difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
  .difficulty-card{padding:30px 28px;}
  .difficulty-callout{max-width:760px;min-height:270px;margin:48px auto 0;padding:30px 28px;}
  .difficulty-callout{font-size:24px;}
}


/* PC: difficulty section. Existing SP declarations above remain unchanged. */
@media (min-width:768px) {
  .difficulty-section {
    margin-top:-80px;
    padding:75px 0 70px;
    background:#eaf1ff;
  }
  .difficulty-section::before {
    border-left-width:39px;
    border-right-width:39px;
    border-top-width:43px;
    border-top-color:#f7faff;
  }
  .difficulty-container {
    width:min(calc(100% - 96px),1450px);
  }
  .difficulty-title {
    max-width:none;
    margin:0 auto 60px;
    font-size:clamp(30px,3vw,51px);
    line-height:1.55;
    white-space:normal;
  }
  .difficulty-title span {
    display:inline;
    width:auto;
  }
  .difficulty-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:42px;
    align-items:stretch;
  }
  .difficulty-card {
    padding:33px 30px 27px;
    border-radius:22px;
    box-shadow:0 6px 7px rgba(24,40,67,.24);
  }
  .difficulty-card-heading {
    gap:16px;
    min-height:56px;
    margin-bottom:22px;
  }
  .difficulty-icon {
    width:55px;
    height:55px;
    flex-basis:55px;
  }
  .difficulty-card h3 {
    font-size:clamp(26px,2.1vw,37px);
  }
  .difficulty-card p {
    font-size:clamp(15px,1.18vw,20px);
    line-height:1.68;
    font-weight:600;
  }
  .difficulty-callout {
    max-width:1175px;
    min-height:205px;
    margin:48px auto 0;
    padding:33px 35px 25px;
    border:2px solid #fff;
    border-radius:16px;
    background:rgba(255,255,255,.2);
    font-size:clamp(21px,1.8vw,30px);
    line-height:1.75;
    font-weight:700;
    letter-spacing:.01em;
    text-align:center;
  }
  .difficulty-callout p {
    display:inline;
    margin:0;
  }
  .difficulty-callout p:nth-child(2)::after {
    content:"";
    display:block;
  }
  .difficulty-callout p:nth-child(3) {
    display:block;
  }
  .difficulty-callout p:nth-child(4)::after {
    content:" ";
    white-space:pre;
  }
  .difficulty-highlight {
    padding:1px 5px 2px;
  }
  .difficulty-callout::after {
    inset:12px;
    background:
      linear-gradient(#d7a632,#d7a632) left top/125px 2px no-repeat,
      linear-gradient(#d7a632,#d7a632) left top/2px 95px no-repeat,
      linear-gradient(#d7a632,#d7a632) right bottom/125px 2px no-repeat,
      linear-gradient(#d7a632,#d7a632) right bottom/2px 95px no-repeat;
  }
}
@media (min-width:768px) and (max-width:1199px) {
  .difficulty-section {padding:65px 0 60px; margin-top:-35px;}
  .difficulty-container {width:calc(100% - 64px);}
  .difficulty-title {max-width:900px;margin-bottom:40px;font-size:clamp(29px,3.6vw,42px);}
  .difficulty-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
  .difficulty-card {min-height:235px;padding:24px;}
  .difficulty-card p {font-size:16px;}
  .difficulty-callout {font-size:clamp(20px,2.5vw,27px);}
}
