/*===============================
strength
================================*/
#strength {
}
@media screen and (min-width: 768px) {
}

/* ===============================
strength : hero
================================ */
#strength .strength-hero {
 padding: 120px 0;
 background: #ffffff;
 text-align: center;
}

#strength .strength-hero__title {
 font-size: 50px;
 font-weight: 900;
 text-align: center;
 letter-spacing: 0.08em;
 color: #0a1a2a;
}

@media screen and (max-width: 767px) {
 #strength .strength-hero {
  padding: 120px 0 60px;
 }

 #strength .strength-hero__title {
  font-size: 32px;
 }
}

/* ===============================
strength : supply stability
================================ */
#strength .strength-supply {
 padding: 0px 0 60px;
 background: #fff;
}

#strength .strength-supply-inner {
 max-width: 1000px;
 margin: 0 auto;
}

#strength .strength-section-title {
 font-size: 35px;
 font-weight: 900;
 color: #e60012;
 margin-bottom: 40px;
}

#strength .strength-supply-block h3 {
 font-size: 25px;
 font-weight: 700;
 color: #0a1a2a;
 margin-bottom: 24px;
}

#strength .strength-supply-block p {
 font-size: 18px;
 line-height: 1.9;
 color: #333;
}

#strength .strength-supply-block p + p {
 margin-top: 16px;
}

#strength .strength-supply-block.border {
 margin-top: 40px;
 padding-top: 40px;
 border-top: 1px solid #e5e5e5;
}

@media screen and (max-width: 767px) {
 #strength .strength-supply {
  padding: 0px 0 60px;
 }

 #strength .strength-section-title {
  font-size: 26px;
  margin-bottom: 60px;
 }

 #strength .strength-supply-block h3 {
  font-size: 20px;
 }
}

/* ===============================
strength : quality assurance
================================ */
#strength .strength-quality {
 padding: 60px 0 60px;
 background: #f2f4f6;
}

#strength .strength-quality-inner {
 max-width: 1000px;
 margin: 0 auto;
}

#strength .strength-quality-block h3 {
 font-size: 25px;
 font-weight: 700;
 color: #0a1a2a;
 margin-bottom: 24px;
}

#strength .strength-quality-block p {
 font-size: 18px;
 line-height: 1.9;
 color: #333;
}

#strength .strength-quality-block p + p {
 margin-top: 16px;
}

#strength .strength-quality-stats {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 32px;
 margin-top: 40px;
}

#strength .strength-quality-stats .stat {
 background: #fff;
 padding: 32px 24px;
 text-align: center;
}

#strength .strength-quality-stats .num {
 font-size: 36px;
 font-weight: 900;
 color: #e60012;
 margin-bottom: 8px;
}

#strength .strength-quality-stats .label {
 font-size: 17px;
 color: #333;
 letter-spacing: 0.12em;
}

#strength .strength-quality-block.border {
 margin-top: 40px;
 padding-top: 40px;
 border-top: 1px solid #e5e5e5;
}

/* ===============================
SP
================================ */
@media screen and (max-width: 767px) {
 #strength .strength-quality {
  padding: 60px 0;
 }

 #strength .strength-quality-stats {
  grid-template-columns: 1fr;
  gap: 24px;
 }

 #strength .strength-quality-block h3 {
  font-size: 20px;
 }
}
/* ===============================
strength : yuken role
================================ */
#strength .strength-yuken {
 padding: 60px 0 120px;
 background: #ffffff;
}

#strength .strength-yuken-inner {
 max-width: 1000px;
 margin: 0 auto;
}

#strength .strength-yuken-block h3 {
 font-size: 25px;
 font-weight: 700;
 color: #0a1a2a;
 margin-bottom: 24px;
}

#strength .strength-yuken-block p {
 font-size: 18px;
 line-height: 1.9;
 color: #333;
}

#strength .strength-yuken-block p + p {
 margin-top: 16px;
}

#strength .strength-yuken-block.border {
 margin-top: 40px;
 padding-top: 40px;
 border-top: 1px solid #e5e5e5;
}

#strength .strength-yuken-scope {
 margin-top: 40px;
 padding: 32px;
 background: #f2f4f6;
}

#strength .strength-yuken-scope h4 {
 font-size: 18px;
 font-weight: 700;
 color: #0a1a2a;
 margin-bottom: 16px;
}

#strength .strength-yuken-scope ul {
 display: grid;
 gap: 12px;
}

#strength .strength-yuken-scope li {
 position: relative;
 padding-left: 18px;
 font-size: 18px;
 line-height: 1.8;
 color: #333;
}

#strength .strength-yuken-scope li::before {
 content: "・";
 position: absolute;
 left: 0;
 top: 0;
}

/* ===============================
SP
================================ */
@media screen and (max-width: 767px) {
 #strength .strength-yuken {
  padding: 60px 0;
 }

 #strength .strength-yuken-block h3 {
  font-size: 20px;
 }

 #strength .strength-yuken-scope {
  padding: 24px;
 }
}
