@charset "UTF-8";

/* --- 共通変数設定 --- */
:root {
  /* Colors */
  --c-primary: #4158D0;
  --c-accent: #E7410A;
  --c-text-black: #333333;
  --c-bg-yellow: #FFFBE7;
  --c-white: #ffffff;
  --g-main: linear-gradient(90deg, #212D6A 0%, #4158D0 100%);
  --c-dark:#212D6A;

  /* Spacing */
  --inner-w: 1000px;

  /* Font Sizes (Liquid) */
  --fz-h1: clamp(28px, 4.5vw, 40px);
  --fz-h2: clamp(20px, 3.5vw, 28px);
  --fs-h3: clamp(24px, 3.4vw, 32px);
  --fz-p: clamp(16px, 1.6vw, 18px);

  /* 上下余白：最小 50px / 推奨 8vw / 最大 100px */
  --section-pv: clamp(25px, 8vw, 50px);

  /* 上下余白：最小 50px / 推奨 8vw / 最大 100px */
  --section-cta: clamp(16px, 8vw, 24px);

  /* innerの横幅（左右の余白は確保しつつ中央寄せ） */
  --inner-w: 1000px;

  --txt__cap: 0.8rem;
}

body{
  background:#F5F5FA !important;
  letter-spacing: normal;
}

p{
  font-size: var(--fz-p);
  /* line-height: 1.5; */
}

img
{vertical-align: top;max-width: 100%;height: auto;}

.main-section__sub-title{
  margin-bottom: clamp(16px, 1vw, 24px);
}

/* --- Utility --- */
.u-bg-yellow {
  background-color: var(--c-bg-yellow);
  padding: 0 4px;
}

.u-color-accent {
  color: var(--c-accent);
}

.u-font-bold {
  font-weight: 700;
}

.u-txt__cap{
  font-size: var(--txt__cap);
}

.u-txt__cap--normal{
  font-weight: normal;
}

.u-txt__medium{
  font-size: clamp(16px, 1vw, 18px) !important;
}

.u-is-left{
  text-align:left !important;
}

.u-is-full{
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.u-marginTop{
  margin-top: 24px !important;
}

.u-marginBottom0{
  margin-bottom: 0 !important;
}

/* 黄色い枠 */
.points-item {
  list-style: none;
  padding: 0;
}

.points-item__text {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 12px;
  line-height: 1.6;
  font-size: 16px;
  color: #333;
  display: block;
}

.points-item__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;

  /* CSSで三角形を作成 */
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #D7B300;
}

.points-item__text:last-child {
  margin-bottom: 0;
}