/* ═══════════════════════════════════════
   MUSE Contact — ページ固有CSS
   ═══════════════════════════════════════ */

.pg-hero{
  padding:var(--sp-hero-top) clamp(20px,3vw,40px) var(--sp-hero-bottom);
  position:relative;
  background:var(--w);
  box-shadow:var(--shadow-section);
}
.pg-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:var(--grain-fine),linear-gradient(155deg,transparent 20%,rgba(212,220,233,.3) 60%,rgba(168,181,204,.18) 100%);
  background-size:200px 200px,100% 100%;
  opacity:.45;mix-blend-mode:multiply;
}
.pg-hero__inner{
  max-width:1240px;margin:0 auto;
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:clamp(24px,4vw,64px);
  position:relative;z-index:1;
}
.pg-hero__left{display:flex;flex-direction:column}
.pg-hero__ey{
  font-family:var(--fm);font-size:clamp(6px,.5vw,8px);
  letter-spacing:.36em;text-transform:uppercase;color:var(--k6);
  display:flex;align-items:center;gap:12px;
  margin-bottom:clamp(16px,2vh,28px);
}
.pg-hero__ey::before{content:'';width:26px;height:1px;background:var(--k7);flex-shrink:0}
.pg-hero__title{
  font-family:var(--fd);font-weight:800;
  font-size:clamp(48px,7vw,96px);
  letter-spacing:-.04em;line-height:.85;color:var(--k);
}
.pg-hero__title .--dot{color:var(--bl)}
.pg-hero__title-sub{
  font-family:var(--fm);font-size:clamp(8px,.65vw,10px);
  letter-spacing:.28em;text-transform:uppercase;color:var(--k6);margin-top:clamp(10px,1.2vh,16px);
}
.pg-hero__right{
  max-width:480px;
}
.pg-hero__copy{
  font-family:var(--fjs);font-weight:400;font-size:clamp(13px,1vw,15px);
  line-height:2.2;letter-spacing:.07em;color:var(--k4);
}
@media(max-width:767px){
  .pg-hero{padding:clamp(120px,15vh,160px) clamp(20px,5vw,32px) clamp(44px,6vh,64px)}
  .pg-hero__inner{flex-direction:column;align-items:flex-start;gap:clamp(20px,3vh,32px)}
  .pg-hero__title{font-size:clamp(36px,10vw,56px)}
}


/* ══════════════════════════════
   §1 CONTACT FORM + INFO — 2カラム
   ══════════════════════════════ */
.ct{
  margin-top:var(--sp-section);
  display:grid;
  grid-template-columns:1fr clamp(280px,30%,380px);
  gap:var(--slit);
  box-shadow:var(--shadow-section);
}

/* ── 左: フォーム ── */
.ct__form{
  background:var(--w);position:relative;overflow:hidden;
  padding:var(--sp-inner);
}
.ct__form::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:var(--grain-fine),linear-gradient(160deg,transparent 15%,rgba(212,220,233,.35) 60%,rgba(168,181,204,.22) 100%);
  background-size:200px 200px,100% 100%;
  opacity:.45;mix-blend-mode:multiply;
}
.ct__form-ey{
  font-family:var(--fm);font-size:clamp(6px,.5vw,8px);
  letter-spacing:.36em;text-transform:uppercase;color:var(--k6);
  display:flex;align-items:center;gap:12px;
  margin-bottom:clamp(20px,2.5vh,32px);
  position:relative;z-index:2;
}
.ct__form-ey::before{content:'';width:22px;height:1px;background:var(--k7);flex-shrink:0}

.ct__row{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--slit);
  margin-bottom:var(--slit);
  position:relative;z-index:2;
}
.ct__row.--full{grid-template-columns:1fr}

.ct__field{
  display:flex;flex-direction:column;gap:clamp(6px,.8vh,10px);
}
.ct__field.--full{grid-column:1/-1}

.ct__label{
  font-family:var(--fm);font-size:clamp(7px,.55vw,9px);
  letter-spacing:.22em;text-transform:uppercase;color:var(--k5);
  display:flex;align-items:center;gap:6px;
}
.ct__req{
  font-family:var(--fd);font-size:7px;font-weight:700;
  letter-spacing:.08em;color:var(--bl);opacity:.6;
}

.ct__input,.ct__select,.ct__textarea{
  font-family:var(--fj);font-size:clamp(13px,.95vw,15px);
  font-weight:400;letter-spacing:.03em;color:var(--k3);
  background:var(--bg);border:1px solid transparent;
  padding:clamp(12px,1.4vh,18px) clamp(14px,1.6vw,22px);
  transition:border-color .35s var(--smooth),background .35s,box-shadow .35s;
  outline:none;
  -webkit-appearance:none;appearance:none;
}
.ct__input:focus,.ct__select:focus,.ct__textarea:focus{
  border-color:rgba(37,99,235,.25);
  background:var(--w);
  box-shadow:0 0 0 3px rgba(37,99,235,.06);
}
.ct__input::placeholder,.ct__textarea::placeholder{
  color:var(--k6);font-weight:300;
}
.ct__select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%236B7E9C' stroke-width='1.5'%3E%3Cpath d='M1 2l5 4 5-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right clamp(14px,1.6vw,22px) center;
  padding-right:clamp(40px,3.5vw,56px);
  cursor:pointer;
}
.ct__textarea{
  resize:vertical;min-height:clamp(140px,18vh,200px);
  line-height:1.9;
}

.ct__submit{
  margin-top:clamp(20px,2.5vh,32px);
  position:relative;z-index:2;
  display:inline-flex;align-items:center;gap:clamp(10px,1.2vw,16px);
  padding:clamp(14px,1.6vh,20px) clamp(32px,4vw,52px);
  background:var(--k);border:none;cursor:pointer;
  position:relative;overflow:hidden;
  transition:background .35s var(--smooth);
}
.ct__submit::before{
  content:'';position:absolute;inset:0;background:var(--bl);
  transform:translateX(-101%);transition:transform .45s var(--smooth);
}
.ct__submit:hover::before{transform:translateX(0)}
.ct__submit-label{
  position:relative;z-index:1;
  font-family:var(--fd);font-size:clamp(10px,.8vw,13px);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--w);
}
.ct__submit-arr{
  position:relative;z-index:1;
  width:clamp(16px,1.4vw,22px);height:clamp(16px,1.4vw,22px);
  display:grid;place-items:center;transition:transform .35s var(--smooth);
}
.ct__submit:hover .ct__submit-arr{transform:translateX(4px)}
.ct__submit-arr svg{width:100%;height:auto;fill:none;stroke:var(--w);stroke-width:1.8}

/* ── 右: 会社情報（ダーク） ── */
.ct__info{
  background:linear-gradient(160deg,#1A52D8 0%,#1238A8 60%,#0D2A7A 100%);
  position:relative;overflow:hidden;
  padding:var(--sp-inner);
  display:flex;flex-direction:column;justify-content:space-between;
}
.ct__info::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 110% 110%,rgba(255,255,255,.07),transparent);
}
/* Geometric 3D */
/* (.geo-container → tokens.css) */
/* (.geo-shape → tokens.css) */
/* (geoRotate → tokens.css) */}
/* (geoMorph → tokens.css) */
  25%{border-radius:70% 30% 30% 70%/70% 70% 30% 30%}
  50%{border-radius:30% 70% 70% 30%/70% 30% 30% 70%}
  75%{border-radius:70% 30% 30% 70%/30% 70% 70% 30%}
}
/* (.geo-s1 → tokens.css) */
/* (.geo-s2 → tokens.css) */
/* (.geo-s3 → tokens.css) */

.ct__info-ey{
  font-family:var(--fm);font-size:clamp(6px,.44vw,7px);
  letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.2);
  position:relative;z-index:2;flex-shrink:0;
}
.ct__info-head{
  position:relative;z-index:2;margin:auto 0;
  padding:clamp(24px,3vh,40px) 0;
}
.ct__info-title{
  font-family:var(--fd);font-weight:800;font-size:clamp(28px,3vw,40px);
  letter-spacing:-.02em;line-height:.9;color:var(--w);
  margin-bottom:clamp(16px,2vh,24px);
}
.ct__info-title .--dot{color:var(--bl4)}
.ct__info-sub{
  font-family:var(--fjs);font-weight:300;font-size:clamp(11px,.85vw,13px);
  line-height:2;letter-spacing:.06em;color:rgba(255,255,255,.45);
}

.ct__info-data{
  position:relative;z-index:2;
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:clamp(16px,2vh,24px);
  display:flex;flex-direction:column;gap:clamp(14px,1.8vh,22px);
  flex-shrink:0;
}
.ct__info-item{display:flex;flex-direction:column;gap:3px}
.ct__info-label{
  font-family:var(--fm);font-size:clamp(6px,.44vw,7px);
  letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.2);
}
.ct__info-val{
  font-family:var(--fj);font-size:clamp(12px,.88vw,14px);
  font-weight:400;letter-spacing:.03em;color:rgba(255,255,255,.65);
}
.ct__info-val a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .3s}
.ct__info-val a:hover{color:var(--w)}

@media(max-width:767px){
  .ct{grid-template-columns:1fr;grid-template-rows:auto auto}
  .ct__info{min-height:320px}
  .ct__row{grid-template-columns:1fr}
}

/* ══════════════════════════════
   §2 注意事項
   ══════════════════════════════ */
.ct__note{
  margin-top:var(--sp-section);
  margin-bottom:var(--sp-page-bottom);
  background:var(--w);position:relative;overflow:hidden;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),var(--shadow-section);
  padding:var(--sp-inner);
}
.ct__note::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:var(--grain-fine),linear-gradient(170deg,transparent 25%,rgba(212,220,233,.3) 65%,rgba(168,181,204,.2) 100%);
  background-size:200px 200px,100% 100%;
  opacity:.42;mix-blend-mode:multiply;
}
.ct__note-ey{
  font-family:var(--fm);font-size:clamp(6px,.5vw,8px);
  letter-spacing:.36em;text-transform:uppercase;color:var(--k6);
  display:flex;align-items:center;gap:12px;
  margin-bottom:clamp(10px,1.2vh,16px);position:relative;z-index:2;
}
.ct__note-ey::before{content:'';width:22px;height:1px;background:var(--k7);flex-shrink:0}
.ct__note-text{
  font-family:var(--fj);font-size:clamp(11px,.82vw,13px);
  font-weight:300;line-height:2;letter-spacing:.03em;color:var(--k5);
  position:relative;z-index:2;
}

/* ══════════════════════════════
   FOOTER — HOME同一
   ══════════════════════════════ */
