/* =========================================================
   GM contact page  (contact.html 専用)
   breakpoint: 768px  ( - 767px : SP  /  768px - : PC )
   ========================================================= */

/* --- hero --- */
.cf__hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#1a4fd0 0%,#2a63e0 55%,#3b74e8 100%);color:#fff;text-align:center}
.cf__heroImg{display:block;width:100%;height:auto;margin-top:-9%}
.cf__title{margin:0;position:relative;z-index:1}
.cf__title img{display:block;width:min(80%,300px);margin:0 auto}
.cf__eyebrow{position:relative;z-index:1;font-size:12px;font-weight:900;letter-spacing:.3em;color:var(--yellow);margin-bottom:10px}
.cf__title--text{font-size:22px;font-weight:900;letter-spacing:.06em;line-height:1.5;color:#fff}
.cf__lead{position:relative;z-index:1;font-size:14px;line-height:2.2;font-weight:700;margin-top:10px}
.cf__deco{position:absolute;pointer-events:none}
.cf__deco--robot{left:6%;bottom:44px;width:80px}
.cf__deco--woman{right:4%;bottom:14px;width:110px}
/* thanks hero */
.cf__hero--th{padding:0}
.cf__hero--th .cf__heroImg{margin-top:-6%}

/* --- form area --- */
.cf{background:#f5f7fb;padding:26px 16px 64px}
.cf__card{background:#fff;border-radius:16px;box-shadow:0 6px 20px rgba(13,47,64,.08);padding:28px 20px 36px;max-width:760px;margin:0 auto;position:relative}
.cf__note{font-size:13.5px;line-height:1.9;color:var(--ink-2);background:#f3f6fb;border-radius:10px;padding:14px 16px;margin-bottom:26px;text-align:left}
.cf__note strong{color:var(--blue-d)}

.cf__row{margin-bottom:22px}
.cf__label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px}
.cf__label .req,.cf__label .opt{font-size:10.5px;font-weight:900;letter-spacing:.06em;line-height:1;padding:4px 8px;border-radius:4px;flex:none}
.cf__label .req{background:var(--blue-d);color:#fff}
.cf__label .opt{background:#e7ebf3;color:#6b7893}

.cf__input{display:block;width:100%;border:1.5px solid var(--line);border-radius:10px;background:#fbfcfe;padding:13px 14px;font-family:inherit;font-size:16px;color:var(--ink);transition:border-color .2s,background .2s}
.cf__input::placeholder{color:#a7b0c2}
.cf__input:focus{border-color:var(--blue);background:#fff}
.cf__input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.cf__input:user-invalid{border-color:#c53030;background:#fff7f7}
.cf__textarea{resize:vertical;min-height:140px;line-height:1.8}

.cf__selectwrap{position:relative}
.cf__selectwrap::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;border-right:2px solid var(--blue-d);border-bottom:2px solid var(--blue-d);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.cf__select{appearance:none;-webkit-appearance:none;cursor:pointer}

.cf__radios{display:flex;flex-wrap:wrap;gap:8px}
.cf__radio{cursor:pointer}
.cf__radio input{position:absolute;opacity:0;width:0;height:0}
.cf__radio span{display:block;border:1.5px solid var(--line);border-radius:999px;background:#fbfcfe;padding:10px 18px;font-size:13.5px;font-weight:700;color:var(--ink-2);transition:all .15s}
.cf__radio input:checked+span{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.cf__radio input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}

.cf__hint{font-size:12px;line-height:1.8;color:#8d97ab;margin-top:8px}

.cf__agree{text-align:center;margin:30px 0 6px}
.cf__check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:500}
.cf__check input{width:20px;height:20px;accent-color:var(--blue-d);flex:none;margin:0}
.cf__check a{text-decoration:underline;font-weight:700}

.cf__turnstile{display:flex;justify-content:center;margin-top:22px;min-height:65px}
.cf__error{color:#c53030;font-size:13.5px;font-weight:700;text-align:center;margin-top:14px}
.cf__error:focus-visible{outline:2px solid #c53030;outline-offset:4px}

.cf__submit{display:flex;justify-content:center;margin-top:22px}
.cf__btn{width:100%;max-width:340px;border:0;cursor:pointer;font-size:16px;font-weight:900}
.cf__btn:disabled{cursor:wait;opacity:.7}

/* --- done --- */
.cf__done{text-align:center;padding:34px 4px}
.cf__doneTitle{font-size:20px;font-weight:900;color:var(--blue-d);margin-bottom:14px}
.cf__doneText{font-size:14.5px;line-height:2;color:var(--ink-2)}
.cf__back{display:inline-block;margin-top:26px;font-weight:700;text-decoration:underline}
.cf__receipt{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cf__receiptHead{padding:22px 20px;background:#f3f6fb;text-align:center}
.cf__receiptHead h2{font-size:18px;color:var(--blue-d);font-weight:900}
.cf__receiptHead p{font-size:13px;margin-top:6px;color:var(--ink-2)}
.cf__receiptList>div{padding:18px 20px;border-bottom:1px solid var(--line)}
.cf__receiptList dt{font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:7px}
.cf__receiptList dd{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
.cf__receiptHelp{padding:18px 20px;font-size:12px;line-height:1.8;color:var(--ink-2);text-align:center}
.cf__receiptHelp a{text-decoration:underline}
.cf__doneActions{text-align:center;padding-bottom:8px}

/* =========================================================
   PC  (768px - )
   ========================================================= */
@media (min-width:768px){
  .cf__receiptHead{padding:24px 28px}
  .cf__receiptHelp{padding-left:28px;padding-right:28px}
  .cf__receiptList>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;padding:20px 28px}
  .cf__receiptList dt{font-size:13px;line-height:1.9;margin-bottom:0}
  .cf__card .cf__note{text-align:center}
  .cf__hero{padding:96px 24px 110px}
  .cf__heroImg{display:none}
  .cf__title img{width:min(44vw,540px)}
  .cf__eyebrow{font-size:13px}
  .cf__title--text{font-size:30px}
  .cf__lead{font-size:16px;margin-top:6px}
  .cf__deco--robot{left:calc(50% - 420px);bottom:auto;top:16%;width:120px}
  .cf__deco--woman{right:calc(50% - 460px);bottom:0;width:170px}
  .cf__hero--th{padding:64px 24px 72px;min-height:360px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
  .cf__hero--th .cf__title img{width:min(38vw,460px)}
  .cf__deco--thman{left:max(16px,calc(50% - 440px));bottom:0;width:165px}
  .cf__deco--thpair{right:max(16px,calc(50% - 460px));bottom:0;width:210px}
}
@media (min-width:768px) and (max-width:1099px){
  .cf__title img{width:min(62vw,600px)}
  .cf__hero--th .cf__title img{width:min(54vw,520px)}
  .cf__deco--thman{width:165px;left:max(40px,calc(50% - 380px))}
  .cf__deco--thpair{width:195px;right:max(40px,calc(50% - 395px))}
}
@media (min-width:768px) and (max-width:999px){
  .cf__deco--robot{left:16px}
  .cf__deco--woman{right:16px;width:130px}

  .cf{padding:44px 24px 90px}
  .cf__card{padding:48px 56px 56px;margin-top:0;border-radius:20px}
  .cf__note{font-size:14px;padding:16px 22px;margin-bottom:34px}

  .cf__row{display:grid;grid-template-columns:220px 1fr;gap:0 24px;align-items:start;margin-bottom:24px}
  .cf__label{margin-bottom:0;padding-top:14px;justify-content:space-between}
  .cf__radios{padding-top:6px}
  .cf__input{font-size:15px}

  .cf__btn{transition:background .2s,color .2s,transform .12s,box-shadow .12s}
  .cf__btn:hover{background:var(--blue-dd);color:var(--yellow);transform:translateY(-2px);box-shadow:0 8px 0 #0d2a63,0 16px 26px rgba(4,26,70,.4)}
}
