:root{--white:#fff;--paper:#f9f8f5;--line:#e9e6df;--ink:#2b2d28;--muted:#6a6c64;--deep:#30352c;--gold:#b59a6a;--ease:cubic-bezier(.22,.8,.2,1)}
*{box-sizing:border-box}
html{font-size:112.5%}
body{font-variant-numeric:lining-nums;margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-weight:300;line-height:2;letter-spacing:.06em}
a{color:inherit;text-decoration:none}
header{display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;border-bottom:1px solid var(--line)}
.logo img{display:block;height:50px;width:auto}
header nav{display:flex;gap:26px;font-size:.72rem;letter-spacing:.2em}
header nav a:hover{color:var(--gold)}
main{max-width:760px;margin:0 auto;padding:70px 6vw 110px}
h1{font-family:"Cormorant Garamond","Shippori Mincho","Noto Serif JP",serif;font-weight:300;font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:.14em;line-height:1.6;margin:0 0 8px}
.label{font-size:.68rem;letter-spacing:.4em;color:var(--gold);margin:0 0 6px}
.meta{font-size:.78rem;color:var(--muted);margin:0 0 30px}
.cover{display:block;width:100%;max-height:480px;object-fit:cover;margin:0 0 34px}
article p{margin:0 0 1.4em;font-size:.95rem}
.list{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--line)}
.list li a{display:flex;gap:22px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--line);transition:padding .5s var(--ease)}
.list li a:hover{padding-left:14px}
.list img{width:120px;height:90px;object-fit:cover;flex:none;background:var(--paper)}
.list time{font-family:"Cormorant Garamond",serif;color:var(--gold);letter-spacing:.14em;font-size:.95rem}
.list h2{font-size:1rem;font-weight:400;letter-spacing:.1em;margin:0;line-height:1.7}
.list p{margin:2px 0 0;font-size:.78rem;color:var(--muted);line-height:1.8}
.back{display:inline-block;margin-top:40px;font-size:.78rem;letter-spacing:.2em;color:var(--muted);border-bottom:1px solid var(--line)}
.back:hover{color:var(--gold)}
footer{padding:50px 6vw;text-align:center;border-top:1px solid var(--line);font-size:.68rem;color:var(--muted);letter-spacing:.2em}
@media(max-width:560px){.list img{width:88px;height:66px}header nav{display:none}}

.job{margin:46px 0 0;padding-top:34px;border-top:1px solid var(--line)}
.job h2{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:1.15rem;letter-spacing:.14em;margin:0 0 14px}
.job-desc p{margin:0 0 1em;font-size:.92rem}
.job-dl{display:grid;grid-template-columns:130px 1fr;margin:18px 0 0;border-top:1px solid var(--line)}
.job-dl dt,.job-dl dd{margin:0;padding:16px 6px;border-bottom:1px solid var(--line);font-size:.88rem}
.job-dl dt{color:var(--gold);font-size:.75rem;letter-spacing:.12em}
.job-intro{margin:6px 0 0;color:var(--muted)}.job-intro p{margin:0 0 1em;font-size:.92rem}
.job-apply{margin:54px 0 0;padding:34px 26px;background:var(--paper);text-align:center}
.job-apply h2{font-size:1.05rem;letter-spacing:.16em;font-weight:400;margin:0 0 16px}
.btn{display:inline-block;padding:14px 32px;border:1px solid var(--deep);font-size:.74rem;letter-spacing:.24em;margin:4px;transition:.4s}
.btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}.btn.fill{background:var(--deep);color:#fff}
@media(max-width:560px){.job-dl{grid-template-columns:1fr}.job-dl dt{border-bottom:0;padding-bottom:0}.job-dl dd{padding-top:4px}}

/* お問い合わせ・応募フォーム */
.iform{margin:30px 0 0}
.iform label{display:block;font-size:.85rem;color:var(--muted);margin:22px 0 7px;letter-spacing:.08em}
.iform .req{font-weight:400;font-size:.68rem;color:#fff;background:var(--gold);padding:1px 8px;margin-left:6px;letter-spacing:.1em}
.iform input,.iform textarea,.iform select{width:100%;padding:14px 16px;border:1px solid #d9d5ca;background:#fff;font:inherit;font-size:16px;border-radius:0;color:var(--ink);letter-spacing:.04em}
.iform input:focus,.iform textarea:focus,.iform select:focus{outline:0;border-color:var(--gold)}
.iform textarea{min-height:200px;resize:vertical;line-height:1.9}
.iform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.iform label.consent{display:flex;gap:12px;align-items:flex-start;color:var(--ink);font-size:.85rem;margin-top:26px;line-height:1.8}
.iform label.consent input{width:22px;height:22px;flex:none;margin-top:3px;accent-color:var(--deep)}
.iform-msg{min-height:1.6em;margin:16px 0 4px;font-size:.88rem;color:#a4473d}
.iform .btn{width:100%;padding:18px;cursor:pointer;font:inherit;letter-spacing:.3em}
.iform .btn:disabled{opacity:.5;cursor:default}
.iform-done{margin:34px 0 0;padding:44px 26px;background:var(--paper);text-align:center}
.iform-done h2{font-size:1.15rem;letter-spacing:.2em;margin:0 0 12px;font-weight:400}
.iform-done p{margin:0;font-size:.92rem;color:var(--muted)}
