/*---------------------------
問い合わせ／エントリーフォーム共通パーツ
---------------------------*/

.contact_form { width:100%; }
.contact_row { padding:24px 0; border-bottom:1px solid #e3e3e3; }
.contact_row:first-child { border-top:1px solid #e3e3e3; }
.contact_label { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; font-size:14px; font-weight:bold; }
.contact_required { width:44px; height:22px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:13px; background:#FF523A; border-radius:3px; }
.contact_input input[type="text"],
.contact_input input[type="tel"],
.contact_input input[type="email"],
.contact_input select,
.contact_input textarea { width:100%; padding:12px; box-sizing:border-box; font-size:14px; font-family:inherit; border:1px solid #707070; background:#fff; border-radius:3px; }
.contact_input select { width:auto; min-width:140px; }
.contact_input textarea { height:160px; resize:vertical; border-radius:3px; }
.contact_error { margin-top:8px; color:#e2352a; font-size:12px; }
.contact_submit { text-align:center; font-weight:normal; }
.contact_submit button,
.contact_submit a { width:100%; height:65px; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:16px; letter-spacing:0.1em; font-weight:bold; background:#000; border:none; cursor:pointer; text-decoration:none; border-radius:5px; }
.contact_thanks { padding:80px 0; text-align:center; }
.contact_thanks p { text-align:left; }
.contact_thanks_title { width:min(100%,400px); display:inline-block; color:#e2352a; border:1px solid #e2352a; padding:30px 10px; font-size:20px; font-weight:bold; }
.contact_thanks .contact_submit { margin-top:40px; }
.contact_sent { margin-top:80px; text-align:left; }
.contact_sent > p { margin-bottom:16px; font-size:14px; font-weight:bold; }
.contact_sent_list { border-top:1px solid #e3e3e3; }
.contact_sent_row { padding:16px 0; border-bottom:1px solid #e3e3e3; }
.contact_sent_label { display:block; margin-bottom:4px; font-size:13px; font-weight:bold; }
.contact_sent_value { display:block; font-size:14px; }

@media screen and (min-width:769px){
    .contact_sent_row { display:flex; align-items:flex-start; }
    .contact_sent_label { width:220px; flex:0 0 auto; margin-bottom:0; }
}

@media screen and (min-width:769px){
    .contact_row { display:flex; align-items:stretch; padding:0; }
    .contact_label { width:220px; flex:0 0 auto; margin-bottom:0; background:#f5f5f5; padding:24px 20px; }
    .contact_input { flex:1; padding:24px 20px 24px 7%; }
    .contact_input input[type="text"],
    .contact_input input[type="tel"],
    .contact_input input[type="email"],
    .contact_input select { max-width:80%; }
    .contact_input textarea { width:715px; max-width:100%; }
}

/*エントリーフォーム（.info_section内）：PC幅ではラベル左・入力欄右の横並び（背景色なし）*/
  .info_section_body .contact_row:first-child { border-top:none; }
.info_section_body .contact_row { border-bottom:none; }
@media screen and (min-width:769px){
    .info_section_body .contact_row { display:flex; align-items:stretch; padding:0; }
  
    .info_section_body .contact_label { width:220px; flex:0 0 auto; justify-content:space-between; background:none; padding:24px 0; margin:0; border-top:1px solid #000000; }
    .info_section_body .contact_input { flex:1; min-width:0; display:flex; align-items:center; padding:24px 0 24px 68px; border-top:1px solid #e3e3e3; }
    .info_section_body .contact_row:last-child .contact_label { border-bottom:1px solid #000000; }
    .info_section_body .contact_row:last-child .contact_input { border-bottom:1px solid #e3e3e3; }
    .info_section_body .contact_input input[type="text"],
    .info_section_body .contact_input input[type="tel"],
    .info_section_body .contact_input input[type="email"],
    .info_section_body .contact_input select { max-width:80%; }
    .info_section_body .contact_input textarea { width:100%; }
}

.info_section_body .contact_submit { text-align:left; }
/*Turnstileの行はラベル無しで単体表示のため、.contact_inputの左余白(68px)を無くしてボタンと左端を揃える。
他の項目行と違って区切り線(border-top)も不要なので消す（同意チェックボックスの直下に線が出てしまうため）*/
.info_section_body .contact_row_turnstile .contact_input { border-top:none; }
@media screen and (min-width:769px){
    .info_section_body .contact_row_turnstile .contact_input { padding-left:0; }
}

/*リニューアル前クラス（そのまま流用）*/
.entry__privacy { overflow-x:hidden; overflow-y:scroll; width:100%; font-size:12px; height:200px; border:1px #ddd solid; padding:20px; margin-top:20px; }
@media screen and (min-width:769px){
    .entry__privacy { box-sizing:border-box; height:340px; border-color:#707070; margin-top:80px; }
}
.entry__pmark { display:flex; font-size:10px; align-items:center; justify-content:flex-end; }
.entry__pmark p { margin:0 0 0 10px; width:100px; }
.entry__pmark img { width:75px; }
.contact_submit button.entry__disabled { background-color:#DEDEDE; border-radius:5px; }
.entry__check { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start; margin:30px 0 40px 0; }
/*people/index.phpの.people_inputと同じ作り方（サイズ・チェック時の見た目を揃える）*/
.entry__check_input { position:relative; flex:0 0 auto; width:26px; height:26px; margin:0; appearance:none; -webkit-appearance:none; background:#fff; border:1px solid #808080; border-radius:4px; cursor:pointer; }
.entry__check_input:checked { background:#006CFF; }
.entry__check_input:checked::after { content:''; position:absolute; left:8px; top:3px; width:7px; height:13px; border:solid #fff; border-width:0 3px 3px 0; transform:rotate(45deg); }
.entry__hissu { width:44px; height:22px; display:inline-flex; align-items:center; justify-content:center; background-color:#FF523A; color:#fff; font-size:13px; border-radius:3px; margin:0 10px; }
/*スマホは幅が足りず「同意する」の途中で改行されるため、チェックボックス行の下に100%幅で折り返す*/
.entry__label { display:flex; margin:12px 0 0; align-items:center; font-size:14px; width:100%; }
@media screen and (min-width:769px){
    .entry__label { width:auto; margin:0; }
}
.entry__note { margin-top:16px; color:#FF523A; font-size:14px; text-align:left; }
.entry__arrow { margin-left:8px; display:inline-block; transition:transform 0.3s ease; }
.entry__arrow img { width:14px; height:14px; display:block; }
.contact_submit button:disabled { cursor:not-allowed; }
@media screen and (min-width:769px){
    .contact_submit button,
    .contact_submit a { width:350px; }
    .contact_submit_link { transition:0.3s; }
    .contact_submit_link:hover { opacity:0.6; }
    .contact_submit_link:hover .entry__arrow { transform:translateX(4px); }
}


@media screen and (min-width:768px){
    .h1_img { width:350px; }
}




