@charset "UTF-8";

/* =========================
   共通設定
========================= */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"fot-tsukuardgothic-std",sans-serif;background:#f9f9f9;color:#5f7182;}
a{text-decoration:none;color:inherit;}
li{list-style:none;}
img{display:block;max-width:100%;height:auto;}

.button-large,.about-btn,.member-btn,.btn,.entry-btn{transition:opacity .3s,background .3s;}
.button-large:hover,.about-btn:hover,.member-btn:hover,.btn:hover,.entry-btn:hover{opacity:.82;}

/* =========================
   ヘッダー PC
========================= */
.header{display:flex;align-items:center;gap:28px;padding:25px 60px;background:#f9f9f9;position:relative;z-index:1000;}
.logo h1{margin-left:-20px;}
.logo h1 a{display:flex;align-items:center;}
.logo img{width:210px;}
.logo span{font-size:18px;margin-left:15px;font-weight:600;color:#586c7b;white-space:nowrap;}
.nav{margin-left:auto;}
.nav ul{display:flex;align-items:center;gap:40px;}
.nav a{color:#55697d;font-size:17px;font-weight:600;white-space:nowrap;}
.header-entry{display:flex;justify-content:center;align-items:center;width:180px;height:60px;border-radius:22px;background:#f18d6c;color:#fff;font-size:17px;font-weight:bold;flex-shrink:0;}
.menu-button{display:none;}

/* =========================
   MV PC
========================= */
#main{background:#f9f9f9;}
.mv{display:flex;align-items:center;justify-content:space-between;padding:40px 0 56px;min-height:690px;}
.mv-text{width:30%;padding-left:8%;}
.mv-text h2{font-size:61px;color:#f18d6c;font-weight:700;line-height:1.7;letter-spacing:.08em;}
.mv-image{width:70%;height:610px;border-radius:120px 0 0 120px;margin-left:auto;overflow:hidden;}
.mv-image img{width:100%;height:100%;object-fit:cover;}

/* =========================
   私たちについて PC
========================= */
.about{position:relative;background:#f8f8f8;padding:180px 0;overflow:hidden;}
.about-right{position:absolute;top:0;right:0;width:430px;}
.about-left{position:absolute;left:0;bottom:0;width:560px;}
.about-box{position:relative;z-index:1;width:min(1000px,calc(100% - 80px));margin:0 auto;background:#fff;border-radius:80px;text-align:center;padding:80px;}
.about h2{font-size:64px;color:#f59a7b;font-weight:500;margin-bottom:50px;line-height:1.3;}
.about p{font-size:22px;color:#6d7d8c;line-height:2.5;font-weight:500;margin-bottom:60px;}
.about-btn{display:inline-block;background:#f59a7b;color:#fff;padding:18px 45px;border-radius:50px;font-size:18px;}

/* =========================
   帯画像 PC
========================= */
.gallery{width:100%;margin:100px 0;overflow:hidden;}
.gallery img{width:100%;}

/* =========================
   事業について PC
========================= */
.systm{width:min(1100px,calc(100% - 80px));margin:150px auto;}
.title{text-align:center;margin-bottom:100px;}
.title h2{font-size:60px;color:#f4a184;margin-bottom:20px;}
.title p{color:#6d7d8c;line-height:2;font-size:18px;}
.systm-item{display:flex;align-items:center;justify-content:center;gap:80px;margin-bottom:100px;}
.systm-item.reverse{flex-direction:row-reverse;}
.systm-item img{width:260px;height:260px;border-radius:50%;object-fit:cover;}
.systm-text{width:350px;}
.systm-text h3{font-size:36px;color:#6d7d8c;margin-bottom:20px;}
.systm-text p{font-size:20px;color:#6d7d8c;line-height:2;}
.section-button{display:flex;justify-content:center;align-items:center;width:180px;height:54px;margin:0 auto;background:#f4a184;color:#fff;border-radius:50px;font-size:16px;font-weight:700;}

/* =========================
   メンバー PC
========================= */
.member{background:#edf7df;padding:120px 0;border-radius:0 100px 100px 0;}
.member-box{width:min(1100px,calc(100% - 80px));margin:0 auto;background:#fff;border-radius:50px;padding:70px;text-align:center;}
.member h2{font-size:60px;color:#f4a184;margin-bottom:20px;}
.member-text{font-size:22px;color:#6d7d8c;line-height:2;margin-bottom:70px;}
.member-list{display:flex;justify-content:center;gap:30px;}
.card{width:240px;}
.card img{width:190px;height:220px;margin:0 auto;object-fit:cover;border-radius:25px;}
.card h3{margin-top:20px;font-size:27px;color:#6d7d8c;}
.card p{margin-top:10px;font-size:12px;color:#888;line-height:1.8;}
.member-name{position:relative;padding-left:5px;}
.member-name::before{content:"";position:absolute;left:30px;top:50%;transform:translateY(-50%);width:3px;height:32px;background:#f4a184;}
.member-btn{display:block;width:180px;margin:40px auto 0;background:#f4a184;color:#fff;text-align:center;padding:15px 0;border-radius:50px;}

/* =========================
   働く環境 PC
========================= */
.environment{position:relative;background:#f9f8f6;padding:180px 0;overflow:hidden;}
.environment-box{position:relative;z-index:1;width:min(1100px,calc(100% - 80px));margin:0 auto;background:#fff;border-radius:70px;padding:100px 80px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.05);}
.environment h2{font-size:48px;color:#efb094;margin-bottom:30px;}
.environment-text{max-width:720px;margin:0 auto 80px;font-size:16px;font-weight:500;line-height:2;color:#5f7182;}
.environment-list{display:flex;justify-content:center;gap:100px;margin-bottom:70px;}
.environment-item{text-align:center;}
.environment-item img{width:170px;margin:0 auto 25px;}
.environment-item p{font-size:24px;color:#5f7182;}
.line-top{position:absolute;left:0;top:40px;width:280px;}
.line-bottom{position:absolute;right:0;bottom:40px;width:320px;}

/* =========================
   募集職種 PC
========================= */
.recruit{background:#f9f8f6;padding:120px 0;}
.recruit-box{width:min(1100px,calc(100% - 80px));margin:0 auto;background:#fff;border-radius:70px;padding:80px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.05);}
.recruit h2{font-size:52px;color:#f1ae91;margin-bottom:30px;}
.recruit-text{font-size:18px;color:#617284;line-height:2;margin-bottom:60px;}
.job-list{display:flex;flex-direction:column;gap:25px;margin-bottom:50px;}
.job-item{background:#eaf5d9;border-radius:20px;height:90px;display:flex;justify-content:space-between;align-items:center;padding:0 35px;}
.job-item span{font-size:30px;color:#5d6e7e;font-weight:600;}
.job-item .plus{font-size:42px;font-weight:300;}
.btn{display:inline-block;background:#f1ae91;color:#fff;padding:18px 55px;border-radius:50px;font-size:18px;}

/* =========================
   エントリー PC
========================= */
.entry{width:100%;height:600px;background:url("images/img_17.png") no-repeat center center/cover;position:relative;}
.entry-overlay{width:100%;height:100%;background:rgba(255,255,255,.15);display:flex;flex-direction:column;justify-content:center;align-items:center;}
.entry-title{font-size:64px;font-weight:700;color:#fff;text-align:center;line-height:1.5;margin-bottom:50px;}
.entry-btn{display:inline-flex;justify-content:center;align-items:center;width:740px;height:130px;background:#e9a18a;border-radius:999px;color:#fff;font-size:58px;font-weight:700;}

/* =========================
   フッター PC
========================= */
.footer{background:#f9f8f6;padding:80px 0 40px;}
.footer-inner{width:min(1100px,calc(100% - 80px));margin:0 auto;text-align:center;}
.footer-logo img{width:180px;margin:0 auto 40px;}
.footer-nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:40px;margin-bottom:50px;}
.footer-nav a{color:#5f7182;font-size:16px;font-weight:500;}
.copyright{font-size:14px;color:#999;}

/* =========================
   スマホ版 768px以下
========================= */
@media screen and (max-width:768px){
  html,body{width:100%;overflow-x:hidden;}
  body.menu-open{overflow:hidden;}

  /* ヘッダー */
  .header{height:72px;padding:0 0 0 16px;gap:0;justify-content:space-between;position:sticky;top:0;}
  .logo h1{margin:0;}
  .logo img{width:132px;}
  .logo span{font-size:11px;margin-left:7px;}
  .header-entry{display:none;}
  .nav{position:fixed;top:72px;right:-100%;width:100%;height:calc(100svh - 72px);margin:0;background:#fff;transition:right .3s ease;overflow-y:auto;}
  .nav.is-open{right:0;}
  .nav ul{display:block;padding:28px 24px;}
  .nav li{border-bottom:1px solid #dbe2e6;}
  .nav a{display:block;padding:19px 8px;font-size:16px;}
  .menu-button{display:block;width:72px;height:72px;border:0;background:#617483;position:relative;flex-shrink:0;cursor:pointer;}
  .menu-button span{position:absolute;left:50%;width:32px;height:2px;background:#fff;transform:translateX(-50%);transition:.3s;}
  .menu-button span:nth-child(1){top:25px;}
  .menu-button span:nth-child(2){top:35px;}
  .menu-button span:nth-child(3){top:45px;}
  .menu-button.is-open span:nth-child(1){top:35px;transform:translateX(-50%) rotate(45deg);}
  .menu-button.is-open span:nth-child(2){opacity:0;}
  .menu-button.is-open span:nth-child(3){top:35px;transform:translateX(-50%) rotate(-45deg);}

  /* MV */
  .mv{display:block;position:relative;min-height:565px;padding:0;overflow:hidden;}
  .mv-image{position:absolute;inset:0;width:100%;height:100%;border-radius:0;margin:0;}
  .mv-image img{object-position:57% center;}
  .mv-text{position:absolute;z-index:2;left:24px;top:82px;width:auto;padding:0;}
  .mv-text h2{font-size:34px;line-height:1.75;letter-spacing:.08em;}

  /* 私たちについて */
  .about{padding:100px 18px;}
  .about-right{width:165px;right:-38px;}
  .about-left{width:205px;left:-58px;}
  .about-box{width:100%;padding:52px 23px;border-radius:38px;}
  .about h2{font-size:32px;margin-bottom:28px;}
  .about p{font-size:13px;line-height:2.15;margin-bottom:34px;text-align:left;}
  .about p br{display:none;}
  .about-btn{width:100%;padding:14px 8px;font-size:13px;}

  /* 帯画像 */
  .gallery{margin:58px 0 86px;}
  .gallery img{width:100%;min-height:138px;object-fit:cover;}

  /* 事業について */
  .systm{width:100%;margin:0;padding:25px 22px 95px;}
  .title{margin-bottom:55px;}
  .title h2{font-size:34px;margin-bottom:16px;}
  .title p{font-size:13px;line-height:2;}
  .title p br{display:none;}
  .systm-item,.systm-item.reverse{flex-direction:column;gap:24px;margin-bottom:68px;text-align:center;}
  .systm-item img{width:205px;height:205px;}
  .systm-text{width:100%;}
  .systm-text h3{font-size:25px;margin-bottom:16px;}
  .systm-text p{font-size:14px;line-height:2;}
  .systm-text p br{display:none;}
  .section-button{width:148px;height:48px;font-size:14px;}

  /* メンバー */
  .member{padding:68px 15px;border-radius:0 42px 42px 0;}
  .member-box{width:100%;padding:48px 14px;border-radius:34px;}
  .member h2{font-size:34px;}
  .member-text{font-size:13px;line-height:2;margin-bottom:42px;}
  .member-text br{display:none;}
  .member-list{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 10px;}
  .card{width:100%;}
  .card img{width:132px;height:162px;border-radius:20px;}
  .card h3{font-size:17px;margin-top:14px;}
  .card p{font-size:9px;line-height:1.55;margin-top:7px;}
  .member-name::before{left:3px;width:2px;height:21px;}
  .member-btn{width:148px;padding:14px 0;font-size:14px;margin-top:42px;}

  /* 働く環境 */
  .environment{padding:95px 17px;}
  .environment-box{width:100%;padding:52px 20px;border-radius:38px;}
  .environment h2{font-size:34px;margin-bottom:22px;}
  .environment-text{font-size:13px;line-height:2;margin-bottom:48px;}
  .environment-text br{display:none;}
  .environment-list{flex-direction:column;align-items:center;gap:42px;margin-bottom:42px;}
  .environment-item img{width:140px;margin-bottom:14px;}
  .environment-item p{font-size:19px;}
  .line-top{width:120px;left:-18px;top:26px;}
  .line-bottom{width:140px;right:-22px;bottom:20px;}

  /* 募集職種 */
  .recruit{padding:78px 17px;}
  .recruit-box{width:100%;padding:52px 17px;border-radius:38px;}
  .recruit h2{font-size:34px;margin-bottom:22px;}
  .recruit-text{font-size:13px;line-height:2;margin-bottom:42px;text-align:left;}
  .recruit-text br{display:none;}
  .job-list{gap:13px;margin-bottom:38px;}
  .job-item{height:64px;padding:0 19px;border-radius:14px;}
  .job-item span{font-size:17px;}
  .job-item .plus{font-size:29px;}
  .btn{padding:14px 46px;font-size:14px;}

  /* エントリー */
  .entry{height:430px;}
  .entry-title{font-size:31px;line-height:1.6;margin-bottom:32px;padding:0 16px;}
  .entry-btn{width:280px;height:68px;font-size:24px;}

  /* フッター */
  .footer{padding:52px 20px 28px;}
  .footer-inner{width:100%;}
  .footer-logo img{width:145px;margin-bottom:32px;}
  .footer-nav ul{flex-direction:column;gap:17px;margin-bottom:36px;}
  .footer-nav a{font-size:13px;}
  .copyright{font-size:11px;}
}

@media screen and (max-width:375px){
  .logo img{width:128px;}
  .mv-text h2{font-size:32px;}
  .card img{width:125px;height:155px;}
}