@charset "UTF-8";
/* page title */
.ptitle{margin-top:70px;font-size:4.5rem;font-weight:bold;line-height:1.4;letter-spacing:.08em}
.ptitle.light{font-weight:normal}
.kv{margin-top:50px}
.kv img{width:100%;height:auto;aspect-ratio:1200/800;object-fit:cover}

/* section title */
.stitle{margin-top:100px;padding-bottom:22px;font-size:2.4rem;font-weight:bold;line-height:1.5;letter-spacing:.1em;border-bottom:1px solid #8a8a8a}
.stitle.first{margin-top:60px}
.stext{margin-top:44px}

/* 募集要項 */
.job-list{margin-top:44px}
.job-list .row{display:flex;padding:0}
.job-list dt{width:150px;flex-shrink:0;line-height:36px}
.job-list dd{line-height:36px;flex:1}
.job-list .row + .row{margin-top:0}

/* button */
.btn{display:block;width:100%;max-width:300px;padding:6px 0;border:2px solid var(--main);border-radius:4px;background:#fff;color:var(--main);font-weight:bold;font-size:1.4rem;text-align:center;line-height:1.7;letter-spacing:.1em;transition:.3s}
.btn:hover{background:var(--main);color:#fff}
.stext + .btn{margin-top:44px}
.tel{display:inline-block;margin-top:12px;font-size:3rem;font-weight:bold;line-height:1.4;color:var(--main);letter-spacing:.02em}

/* form */
.f-lead{margin-top:80px;}
.f-lead .req{margin:0 4px}
.req{display:inline-block;min-width:48px;padding:0 8px;background:var(--main);color:#fff;font-size:1.4rem;line-height:24px;text-align:center;letter-spacing:.05em}
.form{margin-top:60px}
.f-row{display:flex;align-items:flex-start;margin-bottom:30px}
.f-head{display:flex;justify-content:flex-end;align-items:center;gap:16px;width:200px;flex-shrink:0;min-height:60px;margin-right:30px;font-size:1.5rem;text-align:right}
.f-head .req{width:48px;order:2}
.f-head .no-req{width:48px;order:2}
.f-body{flex:1;max-width:700px}
.f-body input[type=text],.f-body input[type=tel],.f-body input[type=email],.f-body textarea,.f-body select{display:block;width:100%;height:60px;padding:0 20px;background:var(--form);border:none}
.f-body textarea{height:180px;padding:16px 20px;resize:vertical;line-height:1.8}
.f-body .sel{display:flex;align-items:center;gap:10px}
.f-body .sel select{width:120px;padding:0 36px 0 20px;cursor:pointer;background:var(--form) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%23231815' stroke-width='2'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center}
.f-body .sel .unit{margin-right:34px}
.f-body .sel .unit:last-child{margin-right:0}
.f-chk{display:flex;flex-direction:column;gap:2px;min-height:60px;justify-content:center;margin-top: 12px;}
.chk{display:inline-flex;align-items:center;cursor:pointer;line-height:1.8}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk span{position:relative;padding-left:24px}
.chk span::before{content:"";position:absolute;left:0;top:50%;width:14px;height:14px;margin-top:-7px;border:1px solid #555;background:#fff}
.chk input:checked + span::after{content:"";position:absolute;left:4px;top:50%;width:6px;height:10px;margin-top:-8px;border-right:2px solid var(--main);border-bottom:2px solid var(--main);transform:rotate(45deg)}
.chk input:focus-visible + span::before{outline:2px solid var(--main)}
.privacy{margin:50px 0 0 230px;max-width:700px;height:200px;overflow-y:scroll;border:1px solid #ddd;padding:24px 30px;text-align:left;font-size:1.2rem;line-height:1.8}
.privacy h3{font-size:1.6rem;font-weight:normal;margin-bottom:12px}
.privacy p{margin-bottom:1.6em}
.privacy .u{text-decoration:underline;display:block}
.agree{margin:50px 0 0 230px;max-width:700px;text-align:center;font-size:1.6rem}
.submit{display:block;width:100%;max-width:300px;height:60px;margin:40px auto 0 calc(230px + 200px);border:none;border-radius:20px;background:var(--main);color:#fff;font-size:1.5rem;letter-spacing:.1em;cursor:pointer;transition:.3s}
.submit:hover{opacity:.7}

/* confirm */
.confirm-form{margin-top:60px}
.f-view{padding-top:14px;word-break:break-all;line-height:1.9}
.f-view p + p{margin-top:0}
.confirm-form .f-row{margin-bottom:0;padding:16px 0;border-bottom:1px solid #e3e3e3}
.confirm-form .f-row:first-of-type{border-top:1px solid #e3e3e3}
.confirm-form .f-head{min-height:0;padding-top:14px;align-items:flex-start}
.f-btns{display:flex;align-items:center;gap:30px;margin:60px 0 0 230px}
.f-btns .btn{max-width:240px}
.f-btns .submit{margin:0;max-width:300px}
.f-error{margin:60px 0 0;padding:24px 30px;border:1px solid #d9534f;color:#b3302c}
.f-error-title{font-weight:bold;margin-bottom:8px}
.f-error li{list-style:disc !important;margin-left:1.4em}

/* thanks */
.thanks{margin-top:70px;text-align:center}
.thanks-title{margin-bottom:24px;font-size:2.4rem;font-weight:bold;color:var(--main);line-height:1.6}
.thanks .tel{margin-top:40px}
.thanks-time{margin-top:4px}
.thanks-btn{margin:50px auto 0}

.fw-n {
  font-weight: normal;
}