*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#111;font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;line-height:1.8}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
main{max-width:1000px;margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.center{text-align:center}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;padding:10px 24px}
.hd-logo{font-family:"Playfair Display",serif;letter-spacing:.2em;text-decoration:none;font-size:15px;color:#111}
.hd-nav{display:flex;gap:28px}
.hd-nav a{font-family:"Playfair Display",serif;font-size:13px;letter-spacing:.15em;text-decoration:none;color:#333;padding:4px 0;border-bottom:1px solid transparent}
.hd-nav a:hover,.hd-nav a[aria-current]{border-bottom-color:#3bb0c9;color:#000}
.hd-btn{display:none;background:none;border:0;padding:8px;cursor:pointer}
.hd-btn span{display:block;width:24px;height:2px;background:#111;margin:5px 0;transition:.2s}

/* フッター */
.ft{text-align:center;padding:60px 16px 30px}
.ft img{margin:0 auto;width:min(554px,90%)}
.ft p{font-size:11px;color:#888;margin:16px 0 0;font-family:"Playfair Display",serif;letter-spacing:.05em}

/* ボタン */
.btn{display:inline-block;min-width:180px;padding:14px 40px;background:#000;color:#fff;text-decoration:none;font-family:"Playfair Display",serif;letter-spacing:.15em;text-align:center}
.btn.navy{background:#0c2b5a;outline:1px solid #0c2b5a;outline-offset:2px;border:1px solid #fff}
.btn:hover{opacity:.85}

/* HOME */
.home{min-height:calc(100vh - 220px);display:flex;align-items:center;justify-content:center;padding:20px 0}
.home img{width:min(601px,90vw)}

/* 事業内容 */
.biz{margin:80px 0 60px}
.biz-row{display:flex}
.biz-row.right{justify-content:flex-end}
.biz-box{position:relative;width:500px;max-width:100%;height:146px;background:#e2e2e0}
.biz-sv{position:absolute;left:47px;top:-36px;width:342px}
.biz-van{position:absolute;left:144px;top:56px;width:148px}
.biz-box.food{height:191px}
.biz-cs{position:absolute;left:209px;top:-17px;width:162px}
.biz-h5{position:absolute;left:128px;top:115px;width:331px}
.biz-ime{position:absolute;left:40px;top:-24px;width:314px}
.biz-cap{position:relative;width:600px;max-width:100%;margin-top:40px}
.biz-cap.right{margin-left:auto;margin-right:0}
.biz-cap span{position:absolute;top:2px;font-size:17px;letter-spacing:.05em}
.biz-cap.right span{left:40px}
.biz-cap.left span{right:50px}
.biz-more{text-align:center;margin-top:60px}
.biz-soon{display:flex;align-items:center;justify-content:center;gap:66px}
.biz-soon hr{width:164px;border:0;border-top:1px solid #999;margin:0}
.biz-soon img{width:110px;filter:grayscale(1) brightness(.75)}
.biz-more p{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:700;font-size:22px;margin:26px 0}
.biz-more hr.short{width:274px;border:0;border-top:1px solid #999;margin:30px auto 56px}

/* 会社概要 */
.greet{text-align:center;padding-top:40px}
.greet h1{font-weight:400;font-size:30px;margin:0 0 10px}
.greet-box{position:relative;max-width:494px;margin:0 auto;background:#c4c4c4;text-align:left;padding:24px 60px 36px 96px;font-size:12px;font-weight:600;line-height:1.5}
.greet-box h2{font-weight:400;font-size:18px;margin:0 0 20px;display:flex;align-items:center;gap:36px}
.greet-box h2::after{content:"";flex:0 0 164px;border-top:1px solid #888}
.greet-box p{margin:0 0 18px}
.greet-box img{position:absolute;right:0;bottom:0;width:142px}
.outline{text-align:center;margin-top:120px}
.outline h2{font-weight:400;font-size:32px;margin:0 0 16px}
.outline table{margin:0 auto;border-collapse:collapse;font-size:12px;text-align:left;min-width:268px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.outline th,.outline td{border:1px solid #999;padding:9px;line-height:1.35;vertical-align:middle}
.outline th{background:#eee;white-space:nowrap;font-size:11px}
.outline a{text-decoration:none}

/* 求人 */
.rc{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:14px 0 40px}
.rc.rev{flex-direction:row-reverse}
.rc-ph{width:46%;opacity:.55}
.rc-tx{flex:1;text-align:center;text-shadow:2px 2px 3px rgba(0,0,0,.35)}
.rc-tx p{font-size:17px;font-weight:600;letter-spacing:.08em;margin:0 0 6px}
.rc-tx p.sm{font-size:15px}
.rc-tx h2{font-weight:400;font-size:24px;margin:0 0 10px}
.rc-tx img{margin:0 auto;width:min(474px,100%)}
.emp{text-align:center;margin:90px 0 60px;text-shadow:1px 1px 3px rgba(0,0,0,.35)}
.emp img{margin:0 auto;width:min(539px,100%)}
.emp h2{font-weight:600;font-size:24px;margin:10px 0}
.emp dl{display:grid;grid-template-columns:auto auto;justify-content:center;gap:10px 20px;text-align:left;font-size:14px;font-weight:600;margin:0 0 14px}
.emp dt::after{content:"・・・"}
.emp dd{margin:0}
.emp > p{font-size:14px;font-weight:600}
.qwl{position:relative;max-width:777px;margin:40px auto 60px}
.qwl img{width:100%;opacity:.55}
.qwl p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:clamp(20px,4vw,36px);letter-spacing:.05em;text-shadow:2px 2px 4px rgba(0,0,0,.4)}

/* お問合せ */
.ct{max-width:558px;margin:0 auto;text-align:center;padding-top:60px}
.ct h1{font-family:Georgia,"Playfair Display",serif;font-weight:400;font-size:30px;letter-spacing:.1em;margin:0 0 14px}
.ct form{text-align:left}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;border:2px solid #333;margin-bottom:22px}
.ct-grid textarea{grid-column:1/-1;border-top:2px solid #333 !important}
.ct-grid input+input{border-left:2px solid #333}
.ct input,.ct textarea{font:inherit;font-size:16px;border:0;padding:18px 24px;width:100%;background:#fff;color:#111;border-radius:0}
.ct textarea{resize:vertical;min-height:120px}
.ct input:focus,.ct textarea:focus{outline:2px solid #3bb0c9;outline-offset:-3px}
.ct .hp{position:absolute;left:-9999px;width:1px;height:1px}
.ct-foot{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:10px 0 90px}
.ct-foot p{margin:0;font-size:14px;flex:1;text-align:left}
.ct button{font:inherit;font-size:14px;background:#000;color:#fff;border:0;width:186px;height:52px;cursor:pointer}
.ct button:disabled{opacity:.6}

/* スマホ */
@media (max-width:760px){
  .hd{padding:10px 16px}
  .hd-btn{display:block}
  .hd-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid #eee}
  .open .hd-nav{display:flex}
  .hd-nav a{padding:14px 24px;font-size:16px;border-bottom:1px solid #f2f2f2}
  .open .hd-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .open .hd-btn span:nth-child(2){opacity:0}
  .open .hd-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .home{min-height:auto;padding:40px 0}

  .biz{margin:50px 0 40px}
  .biz-box{width:100%;height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;padding:16px;gap:8px}
  .biz-box img{position:static !important}
  .biz-sv{width:70% !important}
  .biz-van{width:90px !important}
  .biz-cs{width:110px !important}
  .biz-h5{width:80% !important}
  .biz-ime{width:70% !important}
  .biz-cap{margin-top:20px}
  .biz-cap span{position:static;display:block;text-align:center;margin-bottom:-6px}
  .biz-soon{gap:20px}
  .biz-soon hr{width:60px}
  .biz-more p{font-size:17px;margin:18px 0}

  .greet h1{font-size:24px}
  .greet-box{padding:20px 18px 170px;font-size:12px}
  .greet-box h2::after{flex-basis:80px}
  .greet-box img{left:50%;right:auto;transform:translateX(-50%);width:130px}
  .outline{margin-top:70px}
  .outline h2{font-size:24px}
  .outline table{width:100%}

  .rc,.rc.rev{flex-direction:column;gap:14px;margin:24px 0 36px}
  .rc-ph{width:100%}
  .rc-tx p{font-size:15px}
  .emp{margin:50px 0 40px}
  .emp dl{grid-template-columns:1fr;gap:2px;text-align:center}
  .emp dt::after{content:""}
  .emp dt{margin-top:8px}

  .ct{padding-top:30px}
  .ct-grid{grid-template-columns:1fr}
  .ct-grid input+input{border-left:0;border-top:2px solid #333}
  .ct-foot{flex-direction:column-reverse;align-items:stretch;margin-bottom:50px}
  .ct button{width:100%}
}
