html{font-size:100%;}
body{margin: 0;}
:root{font-size:clamp(0.4rem,1.6vw,1rem);}
*{box-sizing:border-box;}html,body{height:100%;}
img{width:100%;}
h2,h3,h4,p{font-variant-east-asian:proportional-width;font-feature-settings:"palt" 1,"pkna" 1;}
.pc-only { display: inline; }
.sp-only, .sp-only2 { display: none; }
body.skm-lock{overflow:hidden;}
.skm-visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px)!important;padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden!important;white-space:nowrap!important;}
.skm-skip{position:absolute;left:-999rem;top:auto;width:1px;height:1px;overflow:hidden;}
.skm-skip:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;background:#000;color:#fff;padding:.5rem 1rem;z-index:9999;border-radius:.25rem;}
.skm-mincho{font-family:"Shippori Mincho","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif;}
.skm-marugo{font-family:"M PLUS 1p","Hiragino Maru Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo","Noto Sans JP",sans-serif;}
.skm-container{max-width:87.5rem;margin-inline:auto;}
.skm-header{background:#fff;line-height: 1;}
.skm-header__logo{display:flex;padding:.875rem 0;width: 20rem;}
.skm-main{display:block;max-width: 87.5rem;margin: 0 auto;}
.skm-mv{padding:0;line-height: 1;}
.skm-mv__in{text-align:center;display: flex;}
.skm-about{padding:0;}
.skm-about .skm-container{text-align:center;max-width: 75rem;}
.skm-gift{padding:2rem 0 0;}
.skm-gift__in{text-align:center;}
.skm-gift__ttl{font-weight:800;font-size:3.125rem;color:#8d3122;margin:0;}
.skm-gift__lead{font-weight:500;font-size:1.875rem;color:#585757;margin:0 0 1rem;}
.skm-gift__imgs{display:grid;gap:4rem;justify-content:center;}
.skm-gift__imgs img:first-of-type{max-width: 68.75rem;margin: 0 auto;}
.skm-gift__imgs img:nth-of-type(2){max-width: 75rem;margin: 0 auto;}
.skm-consult{padding:3.5rem 0;}
.skm-consult__head{display:flex;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;max-width: 68.75rem;margin: 0 auto .5rem;}
.skm-consult__ttl{font-weight:700;font-size:3.125rem;color:#8d3122;margin:0;}
.skm-consult__side{font-weight:700;font-size:1.875rem;color:#8d3122;margin:0;}
.skm-consult__note{font-weight:500;font-size:1.875rem;color:#585757;max-width: 68.75rem;margin: 0 auto 2rem;}
.skm-block{margin:1rem 0 0;max-width: 68.75rem;margin: 0 auto;}
.skm-block__bar{line-height: 1;margin:0;padding:.7rem 1rem;color:#fff;font-size:2.25rem;font-weight:700;}
.skm-bar--aging{background:linear-gradient(90deg,#dd525b 0%,#af3f47 100%);}
.skm-bar--kids{background:linear-gradient(90deg,#5fb15f 0%,#3e8b54 100%);}
.skm-bar--health{background:linear-gradient(90deg,#e39a24 0%,#c6780f 100%);}
.skm-bar--car{background:linear-gradient(90deg,#1e6ea1 0%,#155d8c 100%);}
.skm-bar--home{background:linear-gradient(90deg,#1fa1a6 0%,#0e6c72 100%);}
.skm-bar--hobby{background:linear-gradient(90deg,#6d3a7d 0%,#4c2a5b 100%);}
.skm-block__body{display:grid;grid-template-columns:14rem 1fr;gap:3rem;align-items:center;margin:.5rem 0 1rem;}
.skm-block__icon{text-align:center;}
.skm-block__icon img{height: 8.75rem;width: auto;}
.skm-block__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;height: 6.25rem;}
.skm-block__links a{color:#07648e;text-decoration:none;font-weight:500;font-size: 1.75rem;}
.skm-block__links a:hover,.skm-block__links a:focus{outline:none;opacity:0.8;}
.skm-cta{margin:4rem auto 0;text-align:center;max-width: 68.75rem;}
.skm-cta__btn{display:inline-block;}
.skm-footer{border-top:.0625rem solid #eee;padding:.5rem 0;margin-top:3rem;text-align:center;color:#FFF;background-color: #b60005;}
.skm-footer__copy{font-size:.9375rem;}
.skm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;}
.skm-modal{position:fixed;inset:0;display:grid;place-items:center;padding:2rem;z-index:9999;}
.skm-modal[hidden],.skm-overlay[hidden]{display:none!important;}
.skm-modal__inner{position:relative;background:#fff;border-radius:.75rem;max-width:60rem;width:min(95vw,60rem);box-shadow:0 2rem 4rem rgba(0,0,0,.25);padding:2.5rem 2rem 4.5rem;text-align:center;}
.skm-modal__fig{margin:0;}
.skm-modal__close{position:absolute;right:1rem;top:1rem;border:0;background:transparent;cursor:pointer;line-height:1;padding:.25rem;border-radius:.375rem;}
.skm-modal__close:focus-visible{outline:.2rem solid #8d3122;}
.skm-modal__cta{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);display:inline-block;}
.skm-flow{padding:3rem 0 0;}
.skm-flow__line{display:block;width:100%;max-width: 75rem;margin: 0 auto;}
.skm-flow__in{max-width:68.75rem;margin:0 auto;padding:2.5rem 0 0;}
.skm-flow__img{display:block;width:100%;}
.skm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;}
.skm-modal{position:fixed;inset:0;display:grid;place-items:center;padding:2rem;z-index:9999;}
.skm-modal[hidden],.skm-overlay[hidden]{display:none!important;}
.skm-pop[hidden]{display:none!important;}
.skm-modal__inner{position:relative;background:#fff;border-radius:.75rem;max-width:50rem;width:min(95vw,50rem);min-height:37.5rem;box-shadow:0 2rem 4rem rgba(0,0,0,.25);padding:1.875rem;text-align:center;}
.skm-modal__close{position:absolute;right:2.5rem;top:2.5rem;border:0;background:transparent;cursor:pointer;line-height:1;padding:.25rem;border-radius:.375rem;width: 2.5rem;}
.skm-modal__close:focus-visible{outline:.2rem solid #8d3122;}
.skm-pop{display:grid;gap:1rem;}
.skm-pop__title{margin:0;text-align: left;}
.skm-pop__lead{margin:0;color:#006794;font-size:2.125rem;line-height:1.5;text-align:center;font-weight: 500;}
.skm-pop__ill{display:block;height:14.375rem;width:auto;margin:0 auto;}
.skm-pop__cta{display:block;inline-size:min(100%,39.125rem);margin:0 auto;}
.skm-pop__ctaimg{display:block;width:100%;}
/* ==== contact.php ==== */
.skm-contact{max-width:75rem;margin:0 auto;padding:5.625rem 0;}
.skm-contact__head{text-align:center;margin:0 0 2rem;}
.skm-contact__ttl{font-weight:800;font-size:4rem;color:#b60005;line-height:1;margin:0;}
.skm-contact__no{font-size:3rem;}
.skm-contact__lead{font-weight:800;font-size:3.5rem;color:#b60005;line-height:1;margin:1.5rem 0;}
.skm-contact__line{display:block;max-width:75rem;margin:4rem auto;width:100%;}
.skm-contact__form{max-width:75rem;margin:0 auto;}
.skm-contact__block{margin:0 0 2.5rem;}
.skm-contact__qrow{display:flex;gap:0;align-items:flex-start;max-width: 68.75rem;margin: 0 auto;}
.skm-contact__qleft{font-size:2.125rem;color:#6c6400;font-weight:500;line-height:1.4;}
.skm-contact__qright{flex:1;}
.skm-contact__qttl{font-size:2rem;color:#6c6400;font-weight:500;line-height:1.4;margin:0 0 2.5rem;text-align:left;}
.skm-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 3rem;align-items:start;}
.skm-contact__col{display:grid;gap:.75rem;margin:0;padding:0;list-style:none;}
.skm-contact__item{margin:0;}
.skm-contact__chk{display:flex;gap:.6rem;align-items:center;font-size:1.875rem;color:#3e3a39;font-weight:400;line-height:1.4;cursor:pointer;}
.skm-contact__chk.is-disabled{opacity:.5;cursor:not-allowed;}
.skm-contact__radios{display: grid;grid-template-columns: 1fr 1fr;gap:2.5rem;align-items:center;}
.skm-contact__radio{display:flex;gap:.6rem;align-items:center;font-size:1.875rem;color:#3e3a39;font-weight:400;line-height:1.2;cursor:pointer;}
.skm-contact__grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem 2rem;align-items:flex-start;}
.skm-contact__grid3col{display:grid;gap:.75rem;}
.skm-contact__note{font-size:1.5rem;color:#3e3a39;margin:1rem 0 2rem;}
.skm-contact__meetttl{font-size:1.875rem;color:#231815;font-weight:500;max-width: 68.75rem;margin: 0 auto 1rem;text-align:left;}
.skm-contact__triples{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem 1.5rem;max-width: 68.75rem;margin: 0 auto 1rem;}
.skm-contact__triple{display:block;}
.skm-contact__cap{font-size:1.5rem;color:#231815;font-weight:500;margin:0 0 .25rem;}
.skm-contact__selectwrap{position:relative;}
.skm-contact__select{width:100%;border:0;border-bottom:.125rem solid #231815;padding:.5rem .5rem .5rem 0;font-size:1.5rem;color:#231815;line-height:1.2;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;}
.skm-contact__chev{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1.375rem;line-height:1;color:#231815;}
#contactForm .home-input-row{display:flex;align-items:flex-start;max-width: 68.75rem;margin: 0 auto 1.25rem;flex-direction:column}
#contactForm .input-label{font-family:"M PLUS 1p",sans-serif;font-size:1.75rem;font-weight:500;width:12.5rem;color:#333;text-align:left}
#contactForm .home-text-input{border:1px solid rgba(0,175,213,.5);background:#fff;border-radius:.5rem;font-size:1.375rem;font-family:"M PLUS 1p",sans-serif;font-weight:400;color:#333;width:24.375rem;height:3.75rem;padding:0 .9375rem;box-sizing:border-box}
#contactForm .w-800{width:50rem}
#contactForm .home-button-row{display:flex;flex-wrap:wrap;justify-content:center;max-width: 68.75rem;margin: 3rem auto 0;}
#contactForm .confirm-button{border:none;border-radius:1.875rem;background:#EF8F3B;width:20.625rem;height:3.75rem;font-family:"M PLUS 1p",sans-serif;font-size:1.5rem;font-weight:400;color:#fff;line-height:1;cursor:pointer}
#contactForm .flex-row{display:flex;align-items:center}
#contactForm .name-text-input{border:1px solid rgba(0,175,213,.5);background:#fff;border-radius:.5rem;font-size:1.375rem;font-family:"M PLUS 1p",sans-serif;color:#333;width:24.375rem;height:3.75rem;margin-right:.625rem;padding:0 .9375rem;box-sizing:border-box}
#contactForm .birth-row input{width:14.375rem;margin-right:.3125rem}
#contactForm .birth-text-input{border:1px solid rgba(0,175,213,.5);background:#fff;border-radius:.5rem;font-size:1.375rem;font-family:"M PLUS 1p",sans-serif;color:#333;height:3.75rem;padding:0 .9375rem;box-sizing:border-box}
#contactForm .birth-unit{font-size:1.375rem;color:#999;margin-right:.625rem}
#contactForm .gender-row label{margin-right:1.875rem;font-size:1.5rem;font-family:"M PLUS 1p",sans-serif;color:#333;cursor:pointer}
#contactForm .gender-radio{display:block;margin:0 1.875rem 1.25rem 0;font-size:1.5rem;font-family:"M PLUS 1p",sans-serif;font-weight:500;color:#333;position:relative;padding-left:2.1875rem;line-height:1;cursor:pointer}
#contactForm .gender-radio input.radio-input{position:absolute;left:0;top:.125rem;width:1.375rem;height:1.375rem;background:#fff;border:1px solid #999;border-radius:50%}
#contactForm .gender-radio input[type="radio"].radio-input:checked::before{content:"";display:block;position:absolute;top:.3125rem;left:.3125rem;width:.625rem;height:.625rem;background:#00AFD5;border-radius:50%}
#contactForm .mail-note{font-size:1.25rem;font-family:"M PLUS 1p",sans-serif;color:#EF3B3B;line-height:1.4;margin-top:.3125rem}
#contactForm .tel-row input{width:14.375rem;margin-right:.3125rem;height:3.75rem;padding:0 .9375rem;box-sizing:border-box;border:1px solid rgba(0,175,213,.5);background:#fff;border-radius:.5rem;font-size:1.375rem;font-family:"M PLUS 1p",sans-serif;font-weight:400;color:#333}
#contactForm .tel-unit{font-size:1.375rem;color:#999;margin-right:.3125rem}
#contactForm .select-job{border:1px solid rgba(0,175,213,.5);background:#fff;border-radius:.5rem;font-size:1.375rem;font-family:"M PLUS 1p",sans-serif;color:#333;width:24.375rem;height:3.75rem;padding:0 .9375rem;box-sizing:border-box}
#contactForm .spouse-row,#contactForm .children-row{margin-right:1.25rem}
#contactForm .caution-box{background:#EEE;border-radius:1.25rem;padding:2.5rem;max-width: 68.75rem;margin: 2rem auto 4rem;text-align:left}
#contactForm .caution-box h4{font-family:"M PLUS 1p",sans-serif;font-size:1.75rem;font-weight:500;margin: 0;}
#contactForm .caution-box p{font-family:"M PLUS 1p",sans-serif;font-size:1.375rem;font-weight:400;color:#333;line-height:1.6}
#contactForm .caution-box span{font-weight:700;color:#EF3B3B}
#contactForm .caution-box .agree-label span{color:#333}
#contactForm .error-message{display:block;margin-top:.3125rem;color:red;font-size:1.125rem;font-weight:400}
/* ==== thanks.php ==== */
.skm-thanks{max-width:75rem;margin:0 auto;padding:5rem 1rem;text-align:center}
.skm-thanks__head{margin:0 auto 2rem;max-width:75rem}
.skm-thanks__ttl{font-weight:800;font-size:3rem;color:#b60005;line-height:1;margin:0 0 1rem}
.skm-thanks__lead{font-weight:700;font-size:1.5rem;color:#585757;line-height:1.8;margin:0 0 2rem}
.skm-thanks__nav{margin:2rem 0 0}
.skm-thanks__btn{display:inline-block;text-decoration:none;background:#EF8F3B;color:#fff;font-weight:700;font-size:1.25rem;line-height:1;border-radius:2rem;padding:.875rem 2rem}
.skm-thanks__btn:hover,.skm-thanks__btn:focus{opacity:.9;outline:0}

/* ==== 追加：同意チェックボックスエリア ==== */
.agree-box {
  max-width: 68.75rem;
  margin: 0 auto 2rem;
  text-align: center;
}
.agree-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1.5rem;
  cursor: pointer;
  color: #333;
}
.agree-check {
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
  margin: 0;
}
/* SP時の調整 */
@media (max-width:800px) {
  .agree-box {
    margin: 0 auto 4.5rem;
  }
  .agree-label {
    font-size: 3.375rem;
    gap: 1rem;
    align-items: center;
  }
  .agree-check {
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 1rem;
  }
}

/* ==== 追加：時間注釈 ==== */
.skm-time-note {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 0.8rem;
  color: #666;
  margin-top: 0.5rem;
  line-height: 1.4;
}
@media (max-width: 800px) {
  .skm-time-note {
    font-size: 2.5rem; /* SPは他要素に合わせて大きく */
  }
}

/* ==== 追加：ギフト画像エリア（Contact用調整） ==== */
.skm-contact-gift-area {
  margin-bottom: 3rem;
  /* Topページと同じグリッドレイアウトを維持 */
}
.skm-gift-wrapper {
  /* グリッドの1つ目の要素として機能 */
  text-align: center;
}
.skm-limit-text {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  font-size: 2rem;
  color: #ff0000; /* 赤文字 */
  margin: 1rem 0 0;
  line-height: 1.2;
}

/* ==== 追加：ギフト選択ラジオ ==== */
#contactForm .gift-row {
  display: flex;
  flex-direction: column; /* 縦並び */
  gap: 1.5rem;
  align-items: flex-start;
}
#contactForm .gift-radio {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.5rem;
  font-family: "M PLUS 1p", sans-serif;
  color: #333;
  cursor: pointer;
}
#contactForm .gift-radio input.radio-input {
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  background: #fff;
  border: 1px solid #999;
  border-radius: 50%;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}
#contactForm .gift-radio input.radio-input:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3125rem;
  left: 0.3125rem;
  width: 0.625rem;
  height: 0.625rem;
  background: #00AFD5;
  border-radius: 50%;
}

/* SP調整 */
@media (max-width: 800px) {
  .skm-contact-gift-area {
    margin-bottom: 6.75rem;
    gap: 2rem; /* SPでの画像間の余白調整 */
  }
  .skm-limit-text {
    font-size: 4rem;
    margin: 2rem 0 0;
  }
  #contactForm .gift-radio {
    font-size: 3.65625rem;
    gap: 1rem;
  }
  #contactForm .gift-radio input.radio-input {
    width: auto;
    height: auto;
    margin-right: 1rem;
    appearance: auto !important; /* SPはネイティブUI */
    -webkit-appearance: auto !important;
  }
  #contactForm .gift-radio input.radio-input:checked::before {
    display: none;
  }
}

/* ==== 追加・調整：同意チェックボックス ==== */
.agree-box {
  max-width: 68.75rem;
  margin: 2rem auto 0; /* caution-box内での余白確保 */
  text-align: center;
}
.agree-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1.5rem;
  cursor: pointer;
  color: #333;
}
.agree-check {
  width: 1.5rem;
  height: 1.5rem;
  cursor: pointer;
  margin: 0;
}
@media (max-width:800px) {
  .agree-box {
    margin: 4rem auto 0;
  }
  .agree-label {
    font-size: 3.375rem;
    gap: 1rem;
    align-items: center;
  }
  .agree-check {
    width: 2.5rem;
    height: 2.5rem;
    margin-right: 1rem;
  }
}

/* ==== 追加：ギフト画像エリア ==== */
.skm-contact-gift-area {
  margin-bottom: 1rem;
}
.skm-gift-wrapper {
  text-align: center;
}
.skm-limit-text {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  font-size: 2rem;
  color: #ff0000;
  margin: 1rem 0 0;
  line-height: 1.2;
}

/* ==== 追加：ギフト選択ラジオ ==== */
#contactForm .gift-row {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  align-items: flex-start;
}
#contactForm .gift-radio {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.5rem;
  font-family: "M PLUS 1p", sans-serif;
  color: #333;
  cursor: pointer;
}
#contactForm .gift-radio input.radio-input {
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  background: #fff;
  border: 1px solid #999;
  border-radius: 50%;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0; /* ラベル折り返し時に丸が潰れないように */
}
#contactForm .gift-radio input.radio-input:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3125rem;
  left: 0.3125rem;
  width: 0.625rem;
  height: 0.625rem;
  background: #00AFD5;
  border-radius: 50%;
}

@media (max-width: 800px) {
  .skm-contact-gift-area {
    margin-bottom: 6.75rem;
    gap: 2rem;
  }
  .skm-limit-text {
    font-size: 4rem;
    margin: 2rem 0 0;
  }
  #contactForm .gift-radio {
    font-size: 3.65625rem;
    gap: 1rem;
    line-height: 1.4; /* 折り返し時の行間 */
    align-items: flex-start; /* 複数行時に上揃え */
  }
  #contactForm .gift-radio input.radio-input {
    width: auto;
    height: auto;
    margin: 0.5rem 1rem 0 0; /* 位置微調整 */
    appearance: auto !important;
    -webkit-appearance: auto !important;
  }
  #contactForm .gift-radio input.radio-input:checked::before {
    display: none;
  }
}

@media(max-width:1200px){:root{font-size:clamp(0.4rem,1.2vw,1rem);}}
@media (max-width:800px){
  /* :root だけ clamp 許可 */
  :root{font-size:clamp(0.3rem,1.3vw,2rem);}

  .pc-only{display:none;}
  .sp-only{display:inline;}

  /* CONTACT 全体（既存倍率を維持） */
  .skm-contact{padding:7.875rem 2.8125rem;}
  .skm-contact__form{padding:0 1.6875rem;}
  .skm-contact__head{margin:0 0 5.0625rem;}
  .skm-contact__ttl{font-size:6.75rem;line-height:1.25;}
  .skm-contact__no{font-size:4.05rem;}
  .skm-contact__lead{font-size:5.0625rem;margin:2.8125rem 0;}
  .skm-contact__line{margin:5.0625rem auto;width:100%;}
  .skm-contact__block{margin:0 0 6.75rem;}
  .skm-contact__qrow{flex-direction:column;gap:2.8125rem;}
  .skm-contact__qleft{font-size:3.9375rem;line-height:1.1;margin:.5625rem 0 0;}
  .skm-contact__qttl{font-size:4.78125rem;margin:0 0 4.5rem;}
  .skm-contact__meetttl{font-size:4.5rem;}

  /* ====== リストの謎の丸（●）を恒久的に無効化 ====== */
  #contactForm ul,#contactForm ol{list-style:none;padding:0;margin:0;}
  #contactForm .skm-contact__item{list-style:none;}

  /* ====== 強制表示：ラジオ/チェック（グローバルの非表示を上書き） ====== */
  #contactForm input[type="radio"],
  #contactForm input[type="checkbox"]{
    appearance:auto !important;
    -webkit-appearance:auto !important;
    position:static !important;
    opacity:1 !important;
    width:auto !important;
    height:auto !important;
    margin:0 1rem 0 0;
    pointer-events:auto !important;
  }

  /* ─────────────────────────────────────────────
     Q1：チェックボックス（PCと同じ＝ネイティブUI）＋縦並び
     ───────────────────────────────────────────── */
  .skm-contact__grid{display:block;}
  .skm-contact__col{display:block;}
  .skm-contact__item{margin:0 0 1.5rem;}
  .skm-contact__chk{
    display:flex;align-items:center;gap:1rem;
    border:none;padding:0;background:none;border-radius:0;
    font-size:3.375rem;line-height:1.4;
  }

  /* ─────────────────────────────────────────────
     Q2/Q3：ラジオ（PCと同じ＝ネイティブUI）＋縦並び
     ※ テキストが小さい問題 → 親ラベルに明示的フォントサイズ付与
     ───────────────────────────────────────────── */
  #contactForm #q2wrap{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;}
  #contactForm #q3wrap{display:block;}
  #contactForm #q3wrap .skm-contact__grid3col{display:block;}

  #contactForm #q2wrap .skm-contact__radio,
  #contactForm #q3wrap .skm-contact__radio{
    display:flex;align-items:center;gap:1rem;
    margin:0 0 1.5rem;padding:0;border:none;background:none;border-radius:0;
    line-height:1.3;
    font-size:3.65625rem; /* ← テキスト拡大（はい/いいえ、金額帯） */
  }
  #contactForm #q2wrap .skm-contact__radio input,
  #contactForm #q3wrap .skm-contact__radio input{
    appearance:auto;position:static;opacity:1;margin:0 1rem 0 0;
  }
  #contactForm #q2wrap .skm-contact__radio span,
  #contactForm #q3wrap .skm-contact__radio span{
    display:inline;padding:0;border:none;background:none;font-size:inherit;line-height:inherit;
  }

  /* ─────────────────────────────────────────────
     性別／配偶者／お子様：縦並び（ネイティブUI）
     ※ 非表示/左上の丸対策は「強制表示＋list-style無効化」で吸収
     ───────────────────────────────────────────── */
  #contactForm .gender-row,
  #contactForm .spouse-row,
  #contactForm .children-row{
    display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;
  }
  #contactForm .gender-radio{font-size:3.65625rem;}
  #contactForm .gender-row label{
    display:flex;align-items:center;gap:1rem;
    margin:0;padding:0;border:none;background:none;border-radius:0;
    font-size:3.65625rem;line-height:1.2;
  }
  #contactForm .gender-radio input{
    appearance:auto;position:static;opacity:1;margin:0 1rem 0 0;
  }

  /* 氏名：縦並び（既定維持）＋確実に大きく */
  #nameWrap .flex-row{display:flex;flex-direction:column;gap:2.25rem;}
  #contactForm .name-text-input{
    width:100%;margin:0;height:7.125rem;padding:0 1.6875rem;
    font-size:3.375rem;border-radius:1.125rem;
  }

  /* 生年月日：横一列＋単位を小さめ右側に */
  #contactForm #birthWrap .birth-row{display:flex;flex-wrap:nowrap;align-items:center;gap:1.125rem;}
  #contactForm #birthWrap .birth-text-input{
    flex:0 0 26%;max-width:26%;
    height:10.6875rem;padding:0 2.53125rem;
    font-size:3.375rem;border-radius:1.125rem;text-align:left;
  }
  #contactForm #birthWrap .birth-unit{
    font-size:2.25rem;line-height:1;white-space:nowrap;margin-right:1.125rem;
  }

  /* 電話番号：SPは1フィールド（既存仕様維持） */
  #contactForm #telWrap .tel-unit{display:none;}
  #contactForm #telWrap .tel-text-input{display:none;}
  #contactForm #telWrap .tel-text-input:first-of-type{
    display:block;width:100%;
    height:10.6875rem;padding:0 2.53125rem;
    font-size:3.375rem;border-radius:1.125rem;text-align:left;
  }

  /* ラベル/入力（その他） */
  #contactForm .input-label{width:100%;font-size:4.5rem;margin-bottom:2.25rem;line-height:1.2;}
  #contactForm .home-input-row{width:100%;margin:0 auto 3.375rem;}
  #contactForm .home-text-input{
    width:100%;height:10.6875rem;padding:0 2.53125rem;
    font-size:3.375rem;border-radius:1.125rem;
  }
  #contactForm .w-800{width:100%;}
  #contactForm .select-job{
    width:100%;height:10.6875rem;padding:0 2.53125rem;
    font-size:3.375rem;border-radius:1.125rem;
  }
  #contactForm .mail-note{font-size:3.09375rem;}

  /* セレクト（店舗/日付/時間） */
  .skm-contact__triples{grid-template-columns:1fr;gap:3.9375rem;}
  .skm-contact__cap{font-size:3.65625rem;}
  .skm-contact__select{min-height:10.6875rem;font-size:3.09375rem;padding:2.25rem 3rem 2.25rem 0;}
  .skm-contact__chev{right:.75rem;font-size:3.375rem;}

  /* 注意書き/送信ボタン */
  #contactForm .caution-box{border-radius:1.875rem;padding:3.375rem;margin:2.625rem 0;}
  #contactForm .caution-box h4{font-size:3.9375rem;}
  #contactForm .caution-box p{font-size:3.09375rem;line-height:1.7;}
  #contactForm .confirm-button{
    width:100%;max-width:none;height:11.25rem;
    font-size:3.9375rem;border-radius:999rem;
    margin:4.5rem auto 0;
  }

  #contactForm #kanaWrap .flex-row{flex-direction: column;gap: 2.25rem;}

  #contactForm .gender-radio input[type="radio"].radio-input:checked::before{display: none;}
}

