@charset "utf-8";

/*ask*/
/*-----------------------------------------------------------*/
.accordion {
    margin-bottom: 3rem;
  }
  
  .link-privacy a {
    background: url(../../img/common/icon_newwindow.png) 100% 50% no-repeat;
    display: inline-block;
    padding-right: 1.5em;
  }
  
  /*ベース*/
  .toggle {
    display: none;
  }
  
  .Label:hover {
    text-decoration: underline;
  }
  
  .Label,
  .detail {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.4s;
  }
  
  .detail {
    /*本文*/
    height: 0;
    padding: 0;
    overflow: hidden;
  }
  
  .toggle:checked + .Label + .detail {
    /*開閉時*/
    height: auto;
    padding: 10px 0;
    transition: all 0.3s;
  }
  
  .toggle:checked + .Label::before {
    transform: rotate(-45deg) !important;
  }
  
  #ask h3 {
    border-bottom: 2px solid #959595;
    margin: 0 0 0.7em;
    padding: 0 2% 0.25em;
  }
  
  .required {
    background: var(--orange);
    border-radius: 3px;
    color: var(--bs-white);
    display: inline-block;
    font-size: 0.8rem;
    font-weight: bold;
    margin-left: 0.5em;
    padding: 0 0.5em;
    vertical-align: middle;
  }
  
  .required_box {
    border: 1px solid var(--orange);
    background: #ffffed;
  }
  textarea.required_box {
    margin-top: 0.25em;
  }
  
  .ask_purpose {
    display: block;
    list-style: none;
    margin: 0 0 2rem;
    padding: 0 2%;
  }
  
  .ask_purpose li {
    display: inline-block;
    margin: 0;
    padding: 0;
  }
  
  .ask_purpose li:not(:first-child) {
    margin-left: 3em;
  }
  
  .ask_purpose input {
    margin-right: 5px;
  }
  
  .ask_txt {
    margin: 0 2% 2rem;
  }
  
  .ask_txt textarea {
    width: 100%;
  }
  
  .table1 {
    margin: 0 2% 2rem;
  }
  
  .table1 tr td {
    padding: 8px 0;
  }
  
  .table1 tr td:first-of-type {
    position: relative;
    width: 9em;
  }
  
  .table1 tr td:first-of-type .required {
    position: absolute;
    right: 15px;
  }
  
  .submit {
    text-align: center;
  }
  
  input[type="submit"] {
    background: var(--orange);
    border: 0 none;
    border-radius: 3px;
    color: var(--bs-white);
    cursor: pointer;
    font-weight: bold;
    height: 50px;
    line-height: 50px;
    padding: 0 1em;
    transition: 0.4s;
  }
  
  input[type="submit"]:hover {
    background-color: var(--btn-inq);
    box-shadow: 2px 2px 0 var(--orange) inset,
      2px -2px 0 var(--orange) inset, -2px 2px 0 var(--orange) inset,
      -2px -2px 0 var(--orange) inset;
    color: var(--text-color);
  }
  
  .link-dl {
    background: #fffff0;
    border: 1px solid var(--txt-color);
    border-radius: 1em;
    margin: 3em auto;
    padding: 1em;
    text-align: center;
    width: 70%;
  }
  .link-dl a {
    background: url(../img/icon_newwindow.png) 100% 50% no-repeat;
    display: inline-block;
    padding-right: 1.5em;
  }
  .link-dl img {
    display: inline-block;
    margin-right: .5em;
    vertical-align: middle;
  }

/* ============================================================ */
/* レスポンシブ対応 (768px以下のスクリーン) */
/* ============================================================ */

@media screen and (max-width: 768px) {

  #ask h3 {
    padding: 0;
    font-size: 1.2rem;
  }

  /* --- 目的のラジオボタンを縦積みに --- */
  .ask_purpose li {
    display: block; /* 縦に並べる */
    margin: 0 0 12px 0; /* 下に余白を追加 */
  }

  .ask_purpose li:not(:first-child) {
    margin-left: 0; /* 横の余白をリセット */
  }

  /* --- フォームテーブルを縦積みに --- */
  .table1 tr,
  .table1 td {
    display: block; /* ブロック要素に変更して縦に積む */
    width: 100%;
  }

  .table1 tr {
    margin-bottom: 20px; /* 各項目の間に余白を設ける */
  }

  .table1 tr td {
    padding: 0;
  }

  .table1 tr td:first-of-type {
    width: auto; /* PC用の固定幅を解除 */
    position: static; /* relativeを解除 */
    font-weight: bold;
    padding-right: 0;
    margin-bottom: 8px; /* 入力欄との間に余白 */
  }
  
  .table1 tr td:first-of-type .required {
    position: static; /* 絶対配置を解除 */
    transform: none;
    display: inline-block; /* 確実に表示されるように */
  }

  /* --- 入力欄のスタイル調整 --- */
  .required_box,
  .table1 input[type="text"] {
    padding: 12px;
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box; /* paddingを含めて幅100%にする */
  }

  /* --- 送信ボタンを全幅に --- */
  .submit {
    margin-top: 1rem;
  }
  
  input[type="submit"] {
    width: 100%;
    height: auto;
    line-height: 1.5;
    padding: 14px 20px;
    font-size: 1.1rem;
  }

  /* --- ダウンロードリンクの幅調整 --- */
  .link-dl {
    width: 100%;
  }

}