@charset "UTF-8";
/* CSS Document */
/* ====== 02/03/04: お問い合わせフォームUI（追記CSS） ====== */
:root{
  --sim-accent: #00a4d3;   /* 既存の青緑に合わせて調整してOK */
  --sim-accent2:#00a4d3;
  --sim-bg:     #d6ecf2;   /* 02の薄い背景 */
  --sim-line:   #00a4d38a;
  --sim-shadow: 0 10px 14px rgba(0,0,0,.12);
  --sim-radius: 10px;
  --sim-radius2: 16px;
  --red:#be0000;
}

.form-inline {
  display: flex;
  align-items: center;
  gap: 1em;
}

.sim-sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.sim-contact{ margin-top: 28px; }
.sim-contact__bg{
  background: var(--sim-bg);
  padding: 0px 16px 60px;
    margin-top: 100px;
}

.sim-bubble{
    max-width: 75%;
    margin: 0px auto 22px;
    background: var(--red);
    border-radius: 15px;
    box-shadow: var(--sim-shadow);
    position: relative;
    padding: 14px 18px;
    text-align: center;
    top: -50px;
}
.sim-bubble:after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-14px;
  width:0;height:0;
  border-left:16px solid transparent;
  border-right:16px solid transparent;
  border-top:16px solid var(--red);
}
.sim-bubble__text{
      margin: 0;
    font-weight: 700;
    color: #fff;
    line-height: 1.6;
    letter-spacing: .02em;
    font-size: 30px;
}

.sim-panel{
  max-width: 680px;
  margin: 0 auto;
}
.sim-panel.is-active{ display:block; }

.sim-form{ margin-top: 22px; }

.sim-field{ margin: 14px 0; }
.sim-label, .sim-legend{
  display:flex;
  align-items:center;
  gap: 10px;
  margin: 0 0 8px;
  font-weight: 700;
  color: rgba(0,0,0,.8);
  font-size: 16px;
}

.sim-req{
  margin-left:auto;
  background: var(--sim-accent);
  color: #fff;
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 3px;
}

.sim-input, .sim-textarea{
  width:100%;
  border: 2px solid var(--sim-line);
  background: #fff;
  border-radius: 6px;
  padding: 20px 14px;
  outline: none;
  box-shadow: 0 8px 14px rgba(0,0,0,.08);
  font-size: 16px;
}
.sim-input:focus, .sim-textarea:focus{
  border-color: var(--sim-accent2);
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
}

.sim-input--error,
.sim-textarea.sim-input--error{
  border-color: var(--red) !important;
  box-shadow: 0 0 0 3px rgba(190,0,0,.2) !important;
}

.sim-fieldset{
  margin: 18px 0;
  padding:0;
  border:0;
}

.sim-choice2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.sim-card-radio input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.sim-card-radio{
  position:relative;
  display:block;
}
.sim-card-radio__ui{
  display:flex;
  align-items:center;
  gap: 10px;
  border: 2px solid var(--sim-line);
  background:#fff;
  border-radius: 6px;
  padding: 14px 14px;
  box-shadow: 0 8px 14px rgba(0,0,0,.08);
  font-weight: 700;
  color: rgba(0,0,0,.55);
  cursor:pointer;
}
.sim-dot{
  width:18px;height:18px;
  border-radius:999px;
  border: 2px solid var(--sim-line);
  background:#fff;
  position:relative;
  flex: 0 0 18px;
}
.sim-card-radio input:checked + .sim-card-radio__ui{
  border-color: var(--sim-accent2);
}
.sim-card-radio input:checked + .sim-card-radio__ui .sim-dot:after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:999px;
  background: var(--sim-accent2);
}

.sim-checkgrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.sim-card-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.sim-card-check{ display:block; }
.sim-card-check__ui{
  display:flex;
  align-items:center;
  gap: 10px;
  border: 2px solid var(--sim-line);
  background:#fff;
  border-radius: 6px;
  padding: 20px 12px;
  box-shadow: 0 8px 14px rgba(0,0,0,.08);
  font-weight: 700;
  color: rgba(0,0,0,.55);
  cursor:pointer;
  min-height: 54px;
}
.sim-circle{
  width:18px;height:18px;
  border-radius:999px;
  border: 2px solid var(--sim-line);
  background:#fff;
  position:relative;
  flex: 0 0 18px;
}
.sim-card-check input:checked + .sim-card-check__ui{
  border-color: var(--sim-accent2);
}
.sim-card-check input:checked + .sim-card-check__ui .sim-circle:after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:999px;
  background: var(--sim-accent2);
}

.sim-actions{
  display:flex;
  justify-content:center;
  margin-top: 50px;
margin-bottom: 50px;
}
.sim-actions--2{
  justify-content: space-between;
  gap: 14px;
}
.sim-btn{
  border:0;
  border-radius: 999px;
  padding: 13px 28px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow: var(--sim-shadow);
    width: 45%;
font-size: 30px;
}
.sim-btn--primary{
  background: var(--red);
  color:#fff;
  min-width: 180px;
}
.sim-btn--ghost{
  background:#fff;
  color: var(--sim-accent2);
  border: 2px solid var(--sim-accent2);
  box-shadow: 0 8px 16px rgba(0,0,0,.10);
}
.sim-btn--wide{ min-width: 300px; }

.sim-error{
  margin: 14px 0 0;
  text-align:center;
  color: #d33;
  font-weight: 700;
  min-height: 1.2em;
}

/* 確認画面（03） */
.sim-confirmTitle{
  text-align:center;
  font-size: 30px;
  font-weight: 900;
  color: var(--sim-accent);
  margin: 50px 0;
}
.sim-confirm{
  background: transparent;
    text-align: left;
}
.sim-confirmRow{
  background:#fff;
  border: 2px solid var(--sim-accent);
  border-radius: 6px;
  /*padding: 12px 14px;*/
  box-shadow: 0 8px 10px rgba(0,0,0,.08);
  margin: 15px 0;
}
.sim-confirmLabel{
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 6px;
    color: #fff;
    background: var(--sim-accent);
    padding: 10px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
    
}
.sim-confirmVal{
  font-size: 16px;
  font-weight: 800;
  color: rgba(0,0,0,.60);
  padding: 10px;  
}

/* サンクス（04） */
.sim-thanks{
  text-align:center;
  color: rgba(0,0,0,.55);
  font-weight: 800;
  line-height: 1.9;
  padding: 22px 0 0;
}
.sim-notes{
  text-align:left;
  font-size: 14px;
  color: var(--sim-accent);
  margin-top: 20px;
    line-height: 1.8;
}

/* SP最適化 */
@media (max-width: 768px){
  .sim-choice2{ grid-template-columns: 1fr; }
  .sim-checkgrid{ grid-template-columns: 1fr; }
  .sim-actions--2{ flex-direction: column; }
  .sim-btn--wide{ min-width: 0; width: 100%; }
  .sim-btn--primary{ width: 100%; }
  .sim-btn--ghost{ width: 100%; }
    .sim-bubble {max-width: 100%;}
    .sim-bubble__text{font-size: 22px;}
    .sim-contact__bg {margin-top: 50px;}
    .sim-bubble{top:-20px;}
    .sim-panel{
  max-width: 90%;
  margin: 0 auto;
}
}

