@charset "UTF-8";
:root {
  --ff-01: "Poppins", Arial, "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  --ff-02: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  --ff-noto: "Noto Sans JP", sans-serif;
  --ff-poppins: "Poppins", sans-serif;
  --ff-hurricane: "Hurricane", serif;
  --size-0-2: clamp(0px, -.48px + .13vw, 2px);
  --size-0-30: clamp(0px, -7.28px + 1.94vw, 30px);
  --size-0-45: clamp(0px, -10.928px + 2.91vw, 45px);
  --size-0-60: clamp(0px, -14.56px + 3.88vw, 60px);
  --size-0-120: clamp(0px, -29.12px + 7.77vw, 120px);
  --size-0-300: clamp(0px, -72.816px + 19.42vw, 300px);
  --size-2-3: clamp(2px, 1.76px + .06vw, 3px);
  --size-3-5: clamp(3px, 3.024px + .13vw, 5px);
  --size-3-15: clamp(3px, .08px + .78vw, 15px);
  --size-4-8: clamp(4px, 3.024px + .26vw, 8px);
  --size-4-24: clamp(4px, -.848px + 1.29vw, 24px);
  --size-5-10: clamp(5px, 3.792px + .32vw, 10px);
  --size-5-15: clamp(5px, 3.024px + .65vw, 15px);
  --size-5-18: clamp(5px, 1.84px + .84vw, 18px);
  --size-5-20: clamp(5px, .848px + .97vw, 20px);
  --size-5-25: clamp(5px, .144px + 1.29vw, 25px);
  --size-5-30: clamp(5px, -1.072px + 1.62vw, 30px);
  --size-5-40: clamp(5px, -3.488px + 2.27vw, 40px);
  --size-5-60: clamp(5px, -8.352px + 3.56vw, 60px);
  --size-5-120: clamp(5px, -22.912px + 7.44vw, 120px);
  --size-6-8: clamp(6px, 5.52px + .13vw, 8px);
  --size-6-45: clamp(6px, -3.472px + 2.52vw, 45px);
  --size-8-10: clamp(8px, 7.52px + .13vw, 10px);
  --size-8-11_5: clamp(8px, 7.152px + .23vw, 11.5px);
  --size-8-15: clamp(8px, 5.52px + .45vw, 15px);
  --size-8-16: clamp(8px, 5.52px + .52vw, 16px);
  --size-8-18: clamp(8px, 5.568px + .65vw, 18px);
  --size-9-15: clamp(9px, 7.536px + .39vw, 15px);
  --size-9_5-11: clamp(9.5px, 9.136px + .1vw, 11px);
  --size-9_5-13: clamp(9.5px, 8.656px + .23vw, 13px);
  --size-10-15: clamp(10px, 8.784px + .32vw, 15px);
  --size-10-16: clamp(10px, 8.544px + .39vw, 16px);
  --size-10-18: clamp(10px, 8.352px + .52vw, 18px);
  --size-10-20: clamp(10px, 8.352px + .65vw, 20px);
  --size-10-24: clamp(10px, 6.608px + .91vw, 24px);
  --size-10-25: clamp(10px, 6.352px + .97vw, 25px);
  --size-10-30: clamp(10px, 5.152px + 1.29vw, 30px);
  --size-10-40: clamp(10px, 2.72px + 1.94vw, 40px);
  --size-10-45: clamp(10px, 1.76px + 2.27vw, 45px);
  --size-10-50: clamp(10px, .288px + 2.59vw, 50px);
  --size-10-60: clamp(10px, -2.128px + 3.24vw, 60px);
  --size-10-85: clamp(10px, -8.208px + 4.85vw, 85px);
  --size-10-90: clamp(10px, -9.424px + 5.18vw, 90px);
  --size-10-120: clamp(10px, -16.704px + 7.12vw, 120px);
  --size-11-13: clamp(11px, 10.512px + .13vw, 13px);
  --size-12-14: clamp(12px, 11.52px + .13vw, 14px);
  --size-12-15: clamp(12px, 11.264px + .19vw, 15px);
  --size-12-16: clamp(12px, 11.264px + .26vw, 16px);
  --size-12-18: clamp(12px, 10.544px + .39vw, 18px);
  --size-12-20: clamp(12px, 10.064px + .52vw, 20px);
  --size-12-22: clamp(12px, 10.064px + .65vw, 22px);
  --size-12-24: clamp(12px, 8.784px + .78vw, 24px);
  --size-12-28: clamp(12px, 8.112px + 1.04vw, 28px);
  --size-12-30: clamp(12px, 7.632px + 1.17vw, 30px);
  --size-12-32: clamp(12px, 7.152px + 1.29vw, 32px);
  --size-12-35: clamp(12px, 6.416px + 1.49vw, 35px);
  --size-12-40: clamp(12px, 5.2px + 1.81vw, 40px);
  --size-12-50: clamp(12px, 2.784px + 2.46vw, 50px);
  --size-12-60: clamp(12px, .352px + 3.11vw, 60px);
  --size-13-16: clamp(13px, 12.272px + .19vw, 16px);
  --size-13-18: clamp(13px, 11.792px + .32vw, 18px);
  --size-13-20: clamp(13px, 11.264px + .45vw, 20px);
  --size-13-22: clamp(13px, 11.264px + .58vw, 22px);
  --size-13-26: clamp(13px, 10.064px + .84vw, 26px);
  --size-14-16: clamp(14px, 13.52px + .13vw, 16px);
  --size-14-18: clamp(14px, 13.024px + .26vw, 18px);
  --size-14-20: clamp(14px, 12.544px + .39vw, 20px);
  --size-14-22: clamp(14px, 11.792px + .52vw, 22px);
  --size-14-24: clamp(14px, 11.792px + .65vw, 24px);
  --size-14-26: clamp(14px, 11.264px + .78vw, 26px);
  --size-14-35: clamp(14px, 8.784px + 1.36vw, 35px);
  --size-15-18: clamp(15px, 14.272px + .19vw, 18px);
  --size-15-20: clamp(15px, 14.272px + .32vw, 20px);
  --size-15-22: clamp(15px, 12.544px + .45vw, 22px);
  --size-15-24: clamp(15px, 12.544px + .58vw, 24px);
  --size-15-25: clamp(15px, 12.544px + .65vw, 25px);
  --size-15-30: clamp(15px, 11.264px + .97vw, 30px);
  --size-15-35: clamp(15px, 10.144px + 1.29vw, 35px);
  --size-15-40: clamp(15px, 8.784px + 1.62vw, 40px);
  --size-15-45: clamp(15px, 8.352px + 1.94vw, 45px);
  --size-15-50: clamp(15px, 6.512px + 2.27vw, 50px);
  --size-15-60: clamp(15px, 3.792px + 2.91vw, 60px);
  --size-16-20: clamp(16px, 15.024px + .26vw, 20px);
  --size-16-22: clamp(16px, 15.024px + .39vw, 22px);
  --size-16-24: clamp(16px, 14.272px + .52vw, 24px);
  --size-16-26: clamp(16px, 14.272px + .65vw, 26px);
  --size-16-28: clamp(16px, 12.544px + .78vw, 28px);
  --size-16-30: clamp(16px, 12.544px + .91vw, 30px);
  --size-16-32: clamp(16px, 12.112px + 1.04vw, 32px);
  --size-17-22: clamp(17px, 15.792px + .32vw, 22px);
  --size-18-20: clamp(18px, 17.52px + .13vw, 20px);
  --size-18-22: clamp(18px, 17.024px + .26vw, 22px);
  --size-18-24: clamp(18px, 16.544px + .39vw, 24px);
  --size-18-26: clamp(18px, 16.064px + .52vw, 26px);
  --size-18-28: clamp(18px, 16.064px + .65vw, 28px);
  --size-18-30: clamp(18px, 15.024px + .78vw, 30px);
  --size-18-32: clamp(18px, 15.024px + .91vw, 32px);
  --size-18-34: clamp(18px, 14.272px + 1.04vw, 34px);
  --size-18-35: clamp(18px, 14.272px + 1.1vw, 35px);
  --size-18-36: clamp(18px, 14.272px + 1.17vw, 36px);
  --size-18-45: clamp(18px, 11.44px + 1.75vw, 45px);
  --size-19-24: clamp(19px, 17.792px + .32vw, 24px);
  --size-19-26: clamp(19px, 17.296px + .45vw, 26px);
  --size-20-24: clamp(20px, 19.024px + .26vw, 24px);
  --size-20-26: clamp(20px, 19.024px + .39vw, 26px);
  --size-20-28: clamp(20px, 18.064px + .52vw, 28px);
  --size-20-30: clamp(20px, 17.568px + .65vw, 30px);
  --size-20-32: clamp(20px, 17.088px + .78vw, 32px);
  --size-20-36: clamp(20px, 16.064px + 1.04vw, 36px);
  --size-20-38: clamp(20px, 15.632px + 1.17vw, 38px);
  --size-20-40: clamp(20px, 15.024px + 1.29vw, 40px);
  --size-20-42: clamp(20px, 15.024px + 1.42vw, 42px);
  --size-20-45: clamp(20px, 14.272px + 1.62vw, 45px);
  --size-20-50: clamp(20px, 12.544px + 1.94vw, 50px);
  --size-20-60: clamp(20px, 10.064px + 2.59vw, 60px);
  --size-20-80: clamp(20px, 5.152px + 3.88vw, 80px);
  --size-20-90: clamp(20px, 3.024px + 4.53vw, 90px);
  --size-20-100: clamp(20px, .848px + 5.18vw, 100px);
  --size-20-120: clamp(20px, -4.272px + 6.47vw, 120px);
  --size-20-150: clamp(20px, -11.552px + 8.41vw, 150px);
  --size-21-30: clamp(21px, 18.816px + .58vw, 30px);
  --size-21-32: clamp(21px, 18.336px + .71vw, 32px);
  --size-21-50: clamp(21px, 14.272px + 1.88vw, 50px);
  --size-22-30: clamp(22px, 20.064px + .52vw, 30px);
  --size-22-32: clamp(22px, 19.568px + .65vw, 32px);
  --size-22-34: clamp(22px, 19.088px + .78vw, 34px);
  --size-22-36: clamp(22px, 18.608px + .91vw, 36px);
  --size-22-38: clamp(22px, 18.112px + 1.04vw, 38px);
  --size-22-45: clamp(22px, 16.064px + 1.49vw, 45px);
  --size-22-50: clamp(22px, 15.024px + 1.81vw, 50px);
  --size-23-40: clamp(23px, 18.88px + 1.1vw, 40px);
  --size-24-29: clamp(24px, 22.784px + .32vw, 29px);
  --size-24-30: clamp(24px, 22.544px + .39vw, 30px);
  --size-24-34: clamp(24px, 21.568px + .65vw, 34px);
  --size-24-36: clamp(24px, 21.088px + .78vw, 36px);
  --size-24-40: clamp(24px, 20.064px + 1.04vw, 40px);
  --size-24-45: clamp(24px, 19.024px + 1.36vw, 45px);
  --size-24-50: clamp(24px, 17.568px + 1.68vw, 50px);
  --size-24-60: clamp(24px, 15.024px + 2.33vw, 60px);
  --size-25-40: clamp(25px, 21.36px + .97vw, 40px);
  --size-25-45: clamp(25px, 20.064px + 1.29vw, 45px);
  --size-25-50: clamp(25px, 19.024px + 1.62vw, 50px);
  --size-25-52: clamp(25px, 18.448px + 1.75vw, 52px);
  --size-26-30: clamp(26px, 25.024px + .26vw, 30px);
  --size-26-34: clamp(26px, 24.064px + .52vw, 34px);
  --size-26-45: clamp(26px, 21.36px + 1.23vw, 45px);
  --size-26-60: clamp(26px, 17.568px + 2.2vw, 60px);
  --size-28-45: clamp(28px, 23.872px + 1.1vw, 45px);
  --size-28-50: clamp(28px, 22.544px + 1.42vw, 50px);
  --size-30-40: clamp(30px, 27.568px + .65vw, 40px);
  --size-30-45: clamp(30px, 26.352px + .97vw, 45px);
  --size-30-50: clamp(30px, 25.024px + 1.29vw, 50px);
  --size-30-60: clamp(30px, 22.544px + 1.94vw, 60px);
  --size-30-64: clamp(30px, 21.744px + 2.2vw, 64px);
  --size-30-70: clamp(30px, 20.064px + 2.59vw, 70px);
  --size-30-90: clamp(30px, 15.024px + 3.88vw, 90px);
  --size-30-120: clamp(30px, 8.352px + 5.83vw, 120px);
  --size-32-45: clamp(32px, 28.848px + .84vw, 45px);
  --size-32-70: clamp(32px, 22.784px + 2.46vw, 70px);
  --size-32-80: clamp(32px, 20.064px + 3.11vw, 80px);
  --size-34-40: clamp(34px, 32.544px + .39vw, 40px);
  --size-34-44: clamp(34px, 31.568px + .65vw, 44px);
  --size-35-50: clamp(35px, 31.36px + 1.29vw, 50px);
  --size-35-55: clamp(35px, 30.144px + .97vw, 55px);
  --size-35-60: clamp(35px, 28.928px + 1.62vw, 60px);
  --size-35-70: clamp(35px, 26.512px + 2.27vw, 70px);
  --size-36-40: clamp(36px, 35.024px + .26vw, 40px);
  --size-36-50: clamp(36px, 32.608px + .91vw, 50px);
  --size-36-70: clamp(36px, 27.744px + 2.2vw, 70px);
  --size-40-44: clamp(40px, 39.024px + .26vw, 44px);
  --size-40-50: clamp(40px, 37.568px + .65vw, 50px);
  --size-40-60: clamp(40px, 35.024px + 1.29vw, 60px);
  --size-40-70: clamp(40px, 32.72px + 1.94vw, 70px);
  --size-40-80: clamp(40px, 31.36px + 2.59vw, 80px);
  --size-40-85: clamp(40px, 28.848px + 2.91vw, 85px);
  --size-40-90: clamp(40px, 27.568px + 3.24vw, 90px);
  --size-40-100: clamp(40px, 25.44px + 3.88vw, 100px);
  --size-40-110: clamp(40px, 22.544px + 4.53vw, 110px);
  --size-40-120: clamp(40px, 20.576px + 5.18vw, 120px);
  --size-40-150: clamp(40px, 13.296px + 7.12vw, 150px);
  --size-42-60: clamp(42px, 37.632px + 1.17vw, 60px);
  --size-42-70: clamp(42px, 35.024px + 1.81vw, 70px);
  --size-45-50: clamp(45px, 43.792px + .32vw, 50px);
  --size-45-60: clamp(45px, 41.36px + .97vw, 60px);
  --size-45-75: clamp(45px, 37.568px + 1.94vw, 75px);
  --size-45-90: clamp(45px, 34.08px + 2.91vw, 90px);
  --size-45-120: clamp(45px, 26.8px + 4.85vw, 120px);
  --size-50-60: clamp(50px, 47.568px + .65vw, 60px);
  --size-50-70: clamp(50px, 45.152px + 1.29vw, 70px);
  --size-50-80: clamp(50px, 42.72px + 1.94vw, 80px);
  --size-50-90: clamp(50px, 40.288px + 2.59vw, 90px);
  --size-50-100: clamp(50px, 37.872px + 3.24vw, 100px);
  --size-50-120: clamp(50px, 32.72px + 4.53vw, 120px);
  --size-55-80: clamp(55px, 48.928px + 1.62vw, 80px);
  --size-58-72: clamp(58px, 54.608px + .91vw, 72px);
  --size-60-80: clamp(60px, 55.152px + 1.29vw, 80px);
  --size-60-90: clamp(60px, 52.72px + 1.94vw, 90px);
  --size-60-100: clamp(60px, 50.288px + 2.59vw, 100px);
  --size-60-120: clamp(60px, 45.152px + 3.88vw, 120px);
  --size-60-150: clamp(60px, 37.568px + 5.83vw, 150px);
  --size-60-170: clamp(60px, 32.72px + 7.12vw, 170px);
  --size-60-180: clamp(60px, 30.144px + 7.77vw, 180px);
  --size-60-210: clamp(60px, 24.064px + 9.71vw, 210px);
  --size-60-300: clamp(60px, 1.744px + 15.53vw, 300px);
  --size-70-90: clamp(70px, 65.152px + 1.29vw, 90px);
  --size-70-100: clamp(70px, 62.72px + 1.94vw, 100px);
  --size-70-120: clamp(70px, 57.872px + 3.24vw, 120px);
  --size-70-145: clamp(70px, 51.792px + 4.85vw, 145px);
  --size-70-150: clamp(70px, 50.576px + 5.18vw, 150px);
  --size-70-240: clamp(70px, 28.848px + 11vw, 240px);
  --size-75-150: clamp(75px, 56.8px + 4.85vw, 150px);
  --size-80-110: clamp(80px, 72.72px + 1.94vw, 110px);
  --size-80-120: clamp(80px, 70.288px + 2.59vw, 120px);
  --size-80-200: clamp(80px, 50.88px + 7.77vw, 200px);
  --size-90-120: clamp(90px, 82.72px + 1.94vw, 120px);
  --size-90-130: clamp(90px, 80.288px + 2.59vw, 130px);
  --size-90-140: clamp(90px, 77.872px + 3.24vw, 140px);
  --size-90-180: clamp(90px, 68.16px + 5.83vw, 180px);
  --size-90-200: clamp(90px, 63.296px + 7.12vw, 200px);
  --size-90-240: clamp(90px, 53.6px + 9.71vw, 240px);
  --size-90-300: clamp(90px, 39.024px + 13.59vw, 300px);
  --size-100-150: clamp(100px, 87.872px + 3.24vw, 150px);
  --size-100-180: clamp(100px, 80.576px + 5.18vw, 180px);
  --size-100-200: clamp(100px, 75.728px + 6.47vw, 200px);
  --size-100-270: clamp(100px, 58.736px + 11vw, 270px);
  --size-110-220: clamp(110px, 83.296px + 7.12vw, 220px);
  --size-110-300: clamp(110px, 63.888px + 12.3vw, 300px);
  --size-120-210: clamp(120px, 98.16px + 5.83vw, 210px);
  --size-120-420: clamp(120px, 47.184px + 19.42vw, 420px);
  --size-130-150: clamp(130px, 125.152px + 1.29vw, 150px);
  --size-130-180: clamp(130px, 117.872px + 3.24vw, 180px);
  --size-130-330: clamp(130px, 81.456px + 12.94vw, 330px);
  --size-140-240: clamp(140px, 115.728px + 6.47vw, 240px);
  --size-180-210: clamp(180px, 172.72px + 1.94vw, 210px);
  --size-200-240: clamp(200px, 190.288px + 2.59vw, 240px);
  --size-240-300: clamp(240px, 225.44px + 3.88vw, 300px);
  --size-240-360: clamp(240px, 210.88px + 7.77vw, 360px);
  --size-240-900: clamp(240px, 79.808px + 42.72vw, 900px);
  --size-250-270: clamp(250px, 245.152px + 1.29vw, 270px);
  --size-270-300: clamp(270px, 255.44px + 3.88vw, 300px);
  --size-330-600: clamp(330px, 264.464px + 17.48vw, 600px);
  --size-800-1500: clamp(800px, 630.096px + 45.31vw, 1500px);
  --tp: transparent;
  --green-01: #5ab806;
  --green-02: #029528;
  --green-03: #f3faed;
  --green01-lighten: #a7fa5d;
  --blue-01: #009bd8;
  --red-01: #f65d47;
  --yellow-01: #cdb700;
  --red: #e8382f;
  --gra-green-01_green-02: linear-gradient(to bottom, #5ab806, #029528);
  --ts-02: all .2s ease;
  --ts-03: all .3s ease;
  --ts-06: all .6s ease;
}

body {
  font-family: var(--ff-01) !important;
  font-weight: 500 !important;
  color: #222 !important;
  letter-spacing: 0.05em !important;
}

a {
  color: #222;
  transition: var(--ts-02);
}
a[href^="tel:"] {
  pointer-events: auto;
}

@media (min-width: 601px) {
  .sp-less {
    display: none !important;
  }
}

@media (min-width: 801px) {
  .tab-less {
    display: none !important;
  }
}

@media (max-width: 600px) {
  .sp-more {
    display: none !important;
  }
}

@media (max-width: 800px) {
  .tab-more {
    display: none !important;
  }
}

@media (max-width: 1200px) {
  .pc-more {
    display: none !important;
  }
}

input[type=text],
input[type=email],
input[type=tel],
textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 0.75em 1em !important;
  font-size: 16px;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 5px;
  transition: var(--ts-02);
}
input[type=text]:hover, input[type=text]:focus,
input[type=email]:hover,
input[type=email]:focus,
input[type=tel]:hover,
input[type=tel]:focus,
textarea:hover,
textarea:focus {
  border: 1px solid var(--green-01) !important;
  outline: none;
}

textarea {
  height: 180px !important;
}

table {
  width: 100%;
}

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
  margin-bottom: 2em !important;
  font-weight: 700;
  line-height: 1.75 !important;
}
@media (max-width: 600px) {
  .post_content h1,
  .post_content h2,
  .post_content h3,
  .post_content h4,
  .post_content h5,
  .post_content h6 {
    margin-bottom: 1em !important;
  }
}
.post_content h1 {
  font-size: var(--size-23-40) !important;
}
.post_content h2 {
  font-size: var(--size-22-36) !important;
}
.post_content h3 {
  font-size: var(--size-21-32) !important;
}
.post_content h4 {
  font-size: var(--size-20-28) !important;
}
.post_content h5 {
  font-size: var(--size-19-24) !important;
}
.post_content h6 {
  font-size: var(--size-18-20) !important;
}
.post_content .ttl01 {
  text-align: center;
}
.post_content .ttl02 {
  padding: var(--size-10-15) var(--size-10-15) var(--size-10-15) var(--size-15-25) !important;
  margin: 2em 0 1em !important;
  background: #fff;
  border-left: 6px solid var(--green01-lighten);
}
@media (max-width: 600px) {
  .post_content .ttl02 {
    border-left-width: 4px;
  }
}

.fz-13 {
  font-size: 13px;
}

.fz-1_3e {
  font-size: 1.3em;
}

.fz-1_4e {
  font-size: 1.4em;
}

.c-green02 {
  color: var(--green-02);
}

.m-60-0 {
  margin: var(--size-30-60) 0;
}

.m-90-0 {
  margin: var(--size-45-90) 0;
}

.mt--60 {
  margin-top: calc(var(--size-30-60) * -1);
}

.mt-10 {
  margin-top: var(--size-5-10) !important;
}

.mt-20 {
  margin-top: var(--size-10-20) !important;
}

.mt-30 {
  margin-top: var(--size-15-30) !important;
}

.mt-45 {
  margin-top: var(--size-20-45);
}

.mt-60 {
  margin-top: var(--size-30-60);
}

.mt-90 {
  margin-top: var(--size-45-90) !important;
}

.mb-20 {
  margin-bottom: var(--size-10-20);
}

.mb-30 {
  margin-bottom: var(--size-15-30);
}

.mb-45 {
  margin-bottom: var(--size-20-45);
}

.mb-90 {
  margin-bottom: var(--size-45-90) !important;
}

.mb-1e {
  margin-bottom: 1em !important;
}

.mb-2e {
  margin-bottom: 2em !important;
}

.ml-120 {
  margin-left: var(--size-60-120);
}

.p-60 {
  padding: var(--size-30-60);
}

.p-60-0 {
  padding: var(--size-30-60) 0;
}

.p-90-0 {
  padding: var(--size-45-90) 0;
}

.pt-60 {
  padding-top: var(--size-30-60);
}

.pt-90 {
  padding-top: var(--size-45-90);
}

.pt-120 {
  padding-top: var(--size-60-120);
}

.pb-60 {
  padding-bottom: var(--size-30-60);
}

.pb-120 {
  padding-bottom: var(--size-60-120);
}

.ta-c {
  text-align: center;
}

.ta-r {
  text-align: right;
}

.ff-serif {
  font-family: var(--ff-02);
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.flex,
.card,
.media {
  display: flex;
}

@media (max-width: 600px) {
  .media {
    flex-direction: column;
  }
}

.media-tx {
  flex: 1;
}

.card {
  flex-direction: column;
  align-items: center;
}

.ai-s {
  align-items: start;
}

.ai-c {
  align-items: center;
}

.ai-e {
  align-items: end;
}

.bg-f7f7f7 {
  background: #f7f7f7;
}

.bg-green3 {
  background: var(--green-03);
}

.w-90p {
  width: 90%;
  margin: 0 auto !important;
}

.w-90p_mxw-660 {
  width: 90%;
  max-width: 660px;
  margin: 0 auto !important;
}

.w-90p_mxw-900 {
  width: 90%;
  max-width: 900px;
  margin: 0 auto !important;
}

.w-90p_mxw-1080 {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto !important;
}

.w-90p_mxw-1200 {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto !important;
}

.w-90p_mxw-1680 {
  width: 90%;
  max-width: 1680px;
  margin: 0 auto !important;
}

.bdrs-60 {
  border-radius: var(--size-30-60);
}

.blank-tab > * {
  background-image: url(../img/blank_tab.svg) !important;
  background-repeat: no-repeat !important;
}

.blank-tab-g > * {
  background-image: url(../img/blank_tab_g.svg) !important;
  background-repeat: no-repeat !important;
}

.base-table {
  border-top: 1px solid #ddd;
}
.base-table > dl {
  position: relative;
  display: grid;
  grid-template-columns: 15em 1fr;
  margin: 0;
}
@media (max-width: 800px) {
  .base-table > dl {
    display: block;
  }
}
.base-table > dl > dt,
.base-table > dl > dd {
  padding: 1.5em;
  margin: 0;
  border-bottom: 1px solid #ddd;
}
@media (max-width: 800px) {
  .base-table > dl > dt,
  .base-table > dl > dd {
    padding: 1em;
  }
}
.base-table > dl > dt {
  color: var(--green-01);
}
@media (max-width: 800px) {
  .base-table > dl > dt {
    width: 100%;
    text-align: center;
    background: #fafafa;
  }
}
.base-table > dl > dd dt {
  padding: 0.5em 0.75em;
  margin-bottom: 0.5em;
  line-height: 1.75;
  background: #f7f7f7;
  border-left: 3px solid #ddd;
}
.base-table > dl > dd a {
  text-decoration: underline;
}
.base-table > dl > dd a:hover {
  text-decoration: none;
}
.base-table iframe {
  width: 100%;
  height: 300px;
  margin-top: 20px;
}
@media (max-width: 800px) {
  .base-table iframe {
    height: 210px;
  }
}
.base-table .route {
  display: block;
  padding: 10px 20px;
  margin-top: 10px;
  font-weight: 600;
  color: var(--green-01);
  background: var(--green-03);
}
.base-table ul {
  margin-bottom: 0;
}

.history-table {
  position: relative;
  padding: 20px 0;
}
.history-table::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  content: "";
  background: var(--green-01);
}
@media (max-width: 800px) {
  .history-table::before {
    left: 10px;
  }
}
.history-table dl {
  position: relative;
}
.history-table dt,
.history-table dd {
  width: 50%;
}
@media (max-width: 800px) {
  .history-table dt,
  .history-table dd {
    width: 100%;
  }
}
.history-table dt:nth-of-type(odd),
.history-table dd:nth-of-type(odd) {
  padding-right: var(--size-30-60);
}
@media (max-width: 800px) {
  .history-table dt:nth-of-type(odd),
  .history-table dd:nth-of-type(odd) {
    padding: 0 0 0 50px;
  }
}
.history-table dt:nth-of-type(even),
.history-table dd:nth-of-type(even) {
  padding-left: var(--size-30-60);
  margin-left: auto;
}
@media (max-width: 800px) {
  .history-table dt:nth-of-type(even),
  .history-table dd:nth-of-type(even) {
    padding-left: 50px;
    margin-left: 0;
  }
}
.history-table dt {
  position: relative;
  font-size: 40px;
  line-height: 1.5;
  color: var(--green-02);
}
@media (max-width: 800px) {
  .history-table dt {
    font-size: 30px;
  }
}
.history-table dt::before {
  position: absolute;
  top: 22px;
  width: 16px;
  height: 16px;
  content: "";
  background: var(--green-01);
  border-radius: 20px;
}
@media (max-width: 800px) {
  .history-table dt::before {
    top: 16px;
    width: 14px;
    height: 14px;
  }
}
.history-table dt::after {
  position: absolute;
  top: 29px;
  height: 2px;
  content: "";
  background: var(--green-01);
}
@media (max-width: 800px) {
  .history-table dt::after {
    top: 22px;
    width: 30px;
  }
}
.history-table dt:nth-of-type(odd)::before {
  right: -9px;
}
@media (max-width: 800px) {
  .history-table dt:nth-of-type(odd)::before {
    right: auto;
    left: 4px;
  }
}
.history-table dt:nth-of-type(odd)::after {
  right: 0;
  width: 270px;
}
@media (max-width: 1000px) {
  .history-table dt:nth-of-type(odd)::after {
    width: var(--size-100-180);
  }
}
@media (max-width: 800px) {
  .history-table dt:nth-of-type(odd)::after {
    right: auto;
    left: 10px;
    width: 30px;
  }
}
.history-table dt:nth-of-type(even)::before {
  left: -7px;
}
@media (max-width: 800px) {
  .history-table dt:nth-of-type(even)::before {
    left: 4px;
  }
}
.history-table dt:nth-of-type(even)::after {
  left: 0;
  width: var(--size-20-50);
}
@media (max-width: 800px) {
  .history-table dt:nth-of-type(even)::after {
    left: 10px;
    width: 30px;
  }
}
.history-table dt span {
  font-size: 0.45em;
}
.history-table dd {
  margin-bottom: 0;
}
@media (max-width: 800px) {
  .history-table dd {
    margin-bottom: 10px;
  }
}

.name dl {
  font-size: 1em;
  text-align: right;
}
.name dt {
  font-weight: 500;
}
.name dd {
  font-size: 1.4em;
}
.name span {
  margin-right: 1em;
  font-size: 0.7em;
}

.bg-gray {
  background: #f7f7f7;
}

.engage-wrap {
  padding: var(--size-30-60) 0;
  background: #f7f7f7;
  border-top: 1px solid #ddd;
}
.engage-wrap #engage-contributions-widget-wrapper {
  width: 90% !important;
  max-width: 600px;
  margin: 0 auto;
  box-shadow: 0 var(--size-5-10) var(--size-20-30) rgba(0, 0, 0, 0.1);
}
@media (max-width: 800px) {
  .engage-wrap #engage-contributions-widget-wrapper {
    max-width: 450px;
  }
}

.marker {
  background: linear-gradient(to top, var(--green01-lighten) 50%, transparent 50%);
}

.marker-yellow {
  margin: 0 5px;
  background: linear-gradient(to top, #f6ff00 50%, transparent 50%);
}

.ta-c_TEXT-WIDTH-TOP-BOTTOM-BORDER {
  text-align: center;
}
.ta-c_TEXT-WIDTH-TOP-BOTTOM-BORDER span {
  display: inline-block;
  padding: 0.5em;
  border-top: 3px solid var(--green-01);
  border-bottom: 3px solid var(--green-01);
}

.check-mark {
  position: relative;
  padding-left: 35px;
  list-style: none;
}
@media (max-width: 800px) {
  .check-mark {
    padding-left: 25px;
  }
}
.check-mark::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 24px;
  height: 24px;
  content: "";
  border: 2px solid var(--green-01);
  border-radius: 30px;
}
@media (max-width: 800px) {
  .check-mark::before {
    top: 3px;
    width: 18px;
    height: 18px;
  }
}
.check-mark::after {
  position: absolute;
  top: 13px;
  left: 6px;
  width: 12px;
  height: 8px;
  content: "";
  border-bottom: 3px solid var(--green-01);
  border-left: 3px solid var(--green-01);
  transform: rotate(-45deg);
}
@media (max-width: 800px) {
  .check-mark::after {
    top: 8px;
    left: 4px;
    width: 9px;
    height: 6px;
    border-width: 2px;
  }
}

.design_button {
  width: var(--size-270-300);
  height: auto;
  padding: var(--size-12-18);
  font-weight: 600;
  line-height: 1.75;
  color: #fff;
  background: var(--green-01);
  border-width: 3px;
  border-radius: 300px;
}
.design_button:hover {
  color: var(--green-01);
  background: #fff;
}

.rich_font_type2 {
  font-family: var(--ff-01);
}

.rich_font,
.p-vertical {
  font-family: var(--ff-01);
}

@media (max-width: 600px) {
  #header_logo {
    left: 15px;
  }
}
#header_logo a {
  position: relative;
  padding-right: 135px;
}
@media (max-width: 1200px) {
  #header_logo a {
    padding-right: 115px;
  }
}
@media (max-width: 600px) {
  #header_logo a {
    padding-right: 108px;
  }
}
#header_logo a::after {
  position: absolute;
  top: calc(50% + 1px);
  right: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.05em;
  content: "リクルートサイト";
  background: var(--green-01);
  border-radius: 100px;
  transition: var(--ts-02);
  transform: translateY(-50%);
}
@media (max-width: 1550px) {
  #header_logo a::after {
    padding: 5px 10px;
  }
}
@media (max-width: 1200px) {
  #header_logo a::after {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  #header_logo a::after {
    font-size: 11px;
  }
}
#header_logo a:hover::after {
  opacity: 0.7;
}
@media (max-width: 800px) {
  #header_logo img {
    height: 32px;
  }
}

@media (max-width: 1800px) {
  #global_menu > ul {
    padding-right: 270px;
    text-align: right;
  }
}
@media (max-width: 1550px) {
  #global_menu > ul {
    padding-right: 220px;
  }
}

#global_menu > ul > li > a {
  font-weight: 600;
  color: #222;
}

#global_menu > ul > li#menu-item-72 > a {
  font-weight: 800;
  color: #D93636;
}

#global_menu > ul > li#menu-item-72.active > a, #global_menu > ul > li#menu-item-72.current-menu-item > a {
  color:var(--main_color);
}

@media (max-width: 1550px) {
  #global_menu > ul > li > a {
    padding: 0 8px;
  }
}

#global_menu .blank-tab a {
  padding-right: 40px;
  background-image: url(../img/blank_tab.svg) !important;
  background-position: right 20px center !important;
  background-size: 14px auto !important;
}

#header_button {
  font-weight: 700;
  border-radius: 300px;
}
@media (max-width: 1550px) {
  #header_button {
    padding: 0 15px;
  }
}

.pc #menu-item-73 {
  display: none;
}

#drawer_menu {
  background: #4e9f05;
}
#drawer_menu .blank-tab a {
  background-position: right 22px center;
  background-size: 14px auto;
}

#footer_contact {
  background: #f7f7f7;
}

@media (max-width: 1000px) {
  #footer_contact.no_background {
    height: auto;
  }
}

@media (max-width: 800px) {
  #footer_button_area {
    display: flex;
  }
}
@media (max-width: 600px) {
  #footer_button_area {
    flex-direction: column;
  }
}

@media (max-width: 800px) {
  #footer_button_area .item:last-of-type {
    border-top: none;
    border-left: 1px solid #ddd;
  }
}
@media (max-width: 600px) {
  #footer_button_area .item:last-of-type {
    border-top: 1px solid #ddd;
    border-left: none;
  }
}

#footer_button_area .icon {
  background: #fff;
  border: 3px solid var(--green-01);
}

#footer_catch a {
  color: #fff;
}
#footer_catch a:hover {
  opacity: 0.7;
}

#footer_logo a {
  position: relative;
  display: inline-block;
  padding-right: 135px;
}
@media (max-width: 1200px) {
  #footer_logo a {
    padding-right: 115px;
  }
}
@media (max-width: 600px) {
  #footer_logo a {
    padding-right: 108px;
  }
}
#footer_logo a::after {
  position: absolute;
  top: calc(50% + 1px);
  right: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.05em;
  content: "リクルートサイト";
  background: var(--green-01);
  border-radius: 100px;
  transition: var(--ts-02);
  transform: translateY(-50%);
}
@media (max-width: 1550px) {
  #footer_logo a::after {
    padding: 5px 10px;
  }
}
@media (max-width: 1200px) {
  #footer_logo a::after {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  #footer_logo a::after {
    font-size: 11px;
  }
}
#footer_logo a:hover::after {
  opacity: 0.7;
}
@media (max-width: 800px) {
  #footer_logo img {
    width: auto;
    height: 32px;
  }
}

.home .custom-catch {
  position: relative;
}
.home .page-catch-en {
  position: absolute;
  top: -200px;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
}
@media (max-width: 1550px) {
  .home .page-catch-en {
    top: -100px;
  }
}
@media (max-width: 1200px) {
  .home .page-catch-en {
    top: -210px;
  }
}
@media (max-width: 1000px) {
  .home .page-catch-en {
    top: -90px;
  }
}
@media (max-width: 800px) {
  .home .page-catch-en {
    top: 0;
  }
}
.home .page-catch-en span {
  color: rgba(255, 255, 255, 0.2);
}
@media (max-width: 1550px) {
  .home .page-catch-en span {
    line-height: 0.5;
    text-align: left;
  }
}
@media (max-width: 1000px) {
  .home .page-catch-en span {
    margin-top: -110px;
  }
}
.home .page-lead {
  width: 100%;
}
@media (max-width: 1550px) {
  .home .page-lead {
    margin-top: -90px !important;
  }
}
@media (max-width: 1000px) {
  .home .page-lead {
    margin-top: -180px !important;
  }
}
.home .page-lead .page-lead-head-style {
  margin-bottom: 0.2em !important;
  font-size: var(--size-35-70) !important;
  color: #fff;
}
@media (max-width: 1000px) {
  .home .page-lead .page-lead-head-style {
    line-height: 1 !important;
    text-align: center;
  }
}
.home .page-lead .page-lead-p-style {
  font-size: var(--size-18-35) !important;
  line-height: 2 !important;
}
@media (max-width: 1000px) {
  .home .page-lead .page-lead-p-style {
    margin-top: 20px;
    text-align: center;
  }
}
.home #header_slider_content {
  padding: 0 5%;
}
.home #header_slider_content .link_button {
  position: relative;
  z-index: 3;
  margin-top: 45px;
}
@media (max-width: 1000px) {
  .home #header_slider_content .link_button {
    margin-top: 25px;
  }
}
.home #header_slider_content .link_button a {
  font-size: 18px;
  font-weight: 700;
  border: 3px solid var(--green-01);
}
@media (max-width: 1000px) {
  .home #header_slider_content .link_button a {
    font-size: 16px;
  }
}
.home #header_slider_content .link_button a:hover {
  color: var(--green-01);
  background: #fff;
}
.home .num_area * {
  font-family: var(--ff-01);
  font-weight: 700 !important;
}
.home #content_builder .catch {
  font-weight: 700;
}
.home #content_builder .rich_font {
  font-size: var(--size-22-38) !important;
}
@media (max-width: 600px) {
  .home #content_builder .desc {
    text-align: left;
  }
}
.home #cb_content_1 .design_header {
  width: 100%;
}
.home #cb_content_1 .catch {
  font-size: var(--size-16-28) !important;
  line-height: 2;
}
.home .cb_white_bg {
  padding: var(--size-60-120) 0;
}
.home .cb_case_study_list {
  position: relative;
  padding-top: var(--size-60-120);
  background: var(--green-03);
}
.home .cb_case_study_list::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) center;
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  .home .cb_case_study_list::before {
    background-size: 1200px auto;
  }
}
.home .cb_case_study_list .swiper-pagination span.swiper-pagination-bullet-active {
  background: var(--green-01);
}
.home #cb_content_3 {
  padding-top: var(--size-60-120);
}
.home #cb_content_3 .sp_content_inner {
  align-items: end;
}
@media (max-width: 600px) {
  .home #cb_content_3 .sp_content_inner {
    margin-top: auto;
  }
}
.home #cb_content_3 .main_content {
  width: 100%;
}
.home #cb_content_3 .main_content .catch {
  width: 100%;
  font-size: var(--size-15-20);
  line-height: 2;
}
.home #cb_content_3 .main_content .design_button {
  margin-top: 10px;
  border-color: var(--green-01);
}
.home #cb_content_3 .main_content .design_button:hover {
  color: var(--green-01) !important;
}
.home #cb_content_3 .desc {
  text-align: center;
}
@media (max-width: 600px) {
  .home #cb_content_3 h3.catch {
    text-align: left;
  }
}
@media (max-width: 600px) {
  .home .cb_service_list .design_header {
    margin-bottom: 20px !important;
  }
}
.home .cb_news_list {
  position: relative;
  padding-top: var(--size-60-120);
  background: #f7f7f7;
}
.home .cb_news_list::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) center;
  filter: grayscale(100%);
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  .home .cb_news_list::before {
    background-size: 1200px auto;
  }
}
@media (max-width: 1000px) {
  .home .cb_news_list .news_list {
    flex-direction: column;
    max-width: 600px;
    margin: 0 auto !important;
  }
}
.home .cb_news_list .item {
  background: #fff;
}
@media (max-width: 1000px) {
  .home .cb_news_list .item {
    width: 100%;
  }
}
.home .cb_blog_list {
  padding-top: var(--size-60-120);
}

#container:has(#page-message) #page_header img {
  object-position: center bottom;
}
#container:has(#page-interview) {
  overflow: visible;
}
#container:has(#page-interview) #page_contents {
  margin-top: 10px;
}

#page_header {
  height: 570px;
}
@media (max-width: 1200px) {
  #page_header {
    width: 100%;
    height: auto;
    aspect-ratio: 3/1;
    padding: 0;
  }
}
@media (max-width: 600px) {
  #page_header {
    aspect-ratio: 2/1;
  }
}

#page_header img {
  object-position: center;
}

#page_header .headline {
  font-family: var(--ff-01);
  font-size: var(--size-20-38);
  font-weight: 700;
}

#bread_crumb ul {
  width: 90%;
  max-width: 1200px;
}

#page_contents {
  width: 100% !important;
  padding: 0;
  margin: 0;
}

.page-catch-en {
  text-align: center;
}
.page-catch-en span {
  display: block;
  font-family: var(--ff-hurricane);
  font-size: var(--size-120-420);
  line-height: 0.5;
  color: rgba(90, 184, 6, 0.15);
  letter-spacing: 0;
  white-space: nowrap;
  transform: rotate(-10deg);
}

.page-lead {
  position: relative;
  margin-top: -90px;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 800px) {
  .page-lead {
    margin-top: 0 !important;
  }
}
.page-lead h2,
.page-lead .page-lead-head-style {
  margin-bottom: 1em !important;
  font-size: var(--size-20-36) !important;
  font-weight: 700;
  line-height: 1.75 !important;
  color: var(--green-02);
}
@media (max-width: 800px) {
  .page-lead h2,
  .page-lead .page-lead-head-style {
    text-align: left;
  }
}
.page-lead p,
.page-lead .page-lead-p-style {
  font-size: var(--size-16-22) !important;
  line-height: 2.4 !important;
}
@media (max-width: 800px) {
  .page-lead p,
  .page-lead .page-lead-p-style {
    line-height: 1.8 !important;
    text-align: left;
  }
}

.page-archive ul {
  margin: var(--size-30-60) 0 var(--size-45-90) !important;
}
@media (max-width: 1000px) {
  .page-archive ul {
    flex-direction: column;
    align-items: center;
  }
}
.page-archive li {
  list-style: none;
}
@media (max-width: 1000px) {
  .page-archive li {
    max-width: 390px;
  }
}
@media (max-width: 1000px) {
  .page-archive li + li {
    margin-top: 20px;
  }
}
.page-archive a {
  padding: var(--size-10-30);
  border-radius: var(--size-25-50);
}
.page-archive a:hover {
  text-decoration: none;
  box-shadow: 0 var(--size-5-10) var(--size-20-45) rgba(90, 184, 6, 0.5);
}
.page-archive .card-img {
  line-height: 0;
}
.page-archive .card-img img {
  border-radius: var(--size-20-30);
}
.page-archive h2 {
  margin: var(--size-15-35) 0 var(--size-5-15) !important;
  font-size: var(--size-18-36) !important;
}
.page-archive p {
  color: #222;
  text-align: center;
}
@media (max-width: 1200px) {
  .page-archive p {
    line-height: 2;
    text-align: left;
  }
}

.page-nav {
  padding: var(--size-30-60) 0 var(--size-20-50) 0;
  border-top: 1px solid #ddd;
}
.page-nav a {
  font-weight: 600;
  text-align: center;
}
.page-nav > .flex {
  width: 90%;
  max-width: 1150px;
  margin: 0 auto;
}
@media (max-width: 600px) {
  .page-nav > .flex {
    flex-direction: column;
  }
}
.page-nav .parent {
  width: 33.3333333333%;
  margin-right: 10px;
}
@media (max-width: 600px) {
  .page-nav .parent {
    width: 100%;
    margin: 0 0 25px 0;
  }
}
.page-nav .parent a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--green-01);
}
.page-nav .parent a:hover {
  opacity: 0.7;
}
.page-nav .parent span {
  position: relative;
  display: block;
  padding-bottom: 55px;
  font-size: 1.2em;
}
@media (max-width: 600px) {
  .page-nav .parent span {
    padding: 0 40px 0 0;
  }
}
.page-nav .parent span::before {
  position: absolute;
  bottom: 0;
  left: calc(50% - 20px);
  width: 40px;
  height: 40px;
  font-family: "design_plus";
  font-size: 10px;
  line-height: 40px;
  color: #fff;
  text-align: center;
  content: "\e94f";
  background: var(--green-01);
  border-radius: 40px;
}
@media (max-width: 600px) {
  .page-nav .parent span::before {
    top: 50%;
    right: 0;
    bottom: auto;
    left: auto;
    width: 30px;
    height: 30px;
    line-height: 30px;
    transform: translateY(-50%);
  }
}
.page-nav .child {
  flex: 1;
}
.page-nav ul {
  flex-wrap: wrap;
  justify-content: space-between;
}
.page-nav li {
  width: calc(50% - 5px);
  margin-bottom: 10px;
}
@media (max-width: 600px) {
  .page-nav li {
    width: 100%;
  }
}
.page-nav li a {
  display: block;
  padding: 1.5em 1em;
  color: #fff;
  background: var(--green-01);
  border: 3px solid var(--green-01);
  border-radius: 300px;
}
@media (max-width: 600px) {
  .page-nav li a {
    padding: 1.25em 0.5em;
  }
}
.page-nav li a:hover {
  color: var(--green-01);
  background: #fff;
}
.page-nav .current a {
  color: var(--green-01);
  background: #fff;
}

#page-message .media {
  align-items: center;
  margin-top: var(--size-0-60);
}
#page-message .media-tx {
  position: relative;
  padding-left: var(--size-0-60);
  margin-right: -210px;
}
@media (max-width: 600px) {
  #page-message .media-tx {
    margin: 45px 0 0;
  }
}
#page-message .media-tx .page-catch-en {
  position: absolute;
  top: calc(var(--size-0-300) * -1);
  left: 0;
  width: 200%;
  text-align: left;
}
@media (max-width: 600px) {
  #page-message .media-tx .page-catch-en {
    top: -90px;
  }
}
#page-message .media-img {
  flex: 1.5;
}
@media (max-width: 600px) {
  #page-message .media-img {
    margin-top: -30px;
  }
}
#page-message img {
  filter: drop-shadow(25px 25px 0 rgba(90, 184, 6, 0.3));
}
#page-message .w-90p_mxw-900 {
  position: relative;
  margin: -60px auto var(--size-45-90) !important;
  background: #fff;
  border-radius: var(--size-30-60);
}
@media (max-width: 1000px) {
  #page-message .w-90p_mxw-900 {
    margin-top: -10px !important;
  }
}
@media (max-width: 600px) {
  #page-message .w-90p_mxw-900 {
    width: 100%;
    margin-top: -5px !important;
    border-radius: 0;
  }
}

#page-our-company .blc01 {
  position: relative;
}
#page-our-company .blc01::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) no-repeat center;
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  #page-our-company .blc01::before {
    background-size: 1200px auto;
  }
}
#page-our-company .blc01 .flex {
  position: relative;
  justify-content: center;
}
@media (max-width: 600px) {
  #page-our-company .blc01 .flex {
    flex-direction: column;
    align-items: center;
  }
  #page-our-company .blc01 .flex section {
    width: 100%;
    text-align: center;
  }
  #page-our-company .blc01 .flex .ml-120 {
    margin: 45px 0 0;
  }
}
#page-our-company .blc01 .ta-c_TEXT-WIDTH-TOP-BOTTOM-BORDER {
  font-size: var(--size-16-22) !important;
}
#page-our-company .blc01 p {
  font-size: 34px;
  line-height: 1.75;
  color: var(--green-01);
}
@media (max-width: 800px) {
  #page-our-company .blc01 p {
    font-size: 24px;
  }
}
#page-our-company .blc03 {
  position: relative;
  border-top: 1px solid rgba(90, 184, 6, 0.3);
}
#page-our-company .blc03::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) center;
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  #page-our-company .blc03::before {
    background-size: 1200px auto;
  }
}

@media (max-width: 600px) {
  .post-type-archive-case_study #archive_desc {
    padding-right: 0;
    padding-left: 0;
  }
}

.case_study_list .title {
  text-align: center;
}

body.single-case_study #bread_crumb ul {
  width: 90%;
}

#single_case {
  width: 100%;
  padding-bottom: 0;
}
@media (max-width: 1000px) {
  #single_case {
    padding-right: 0;
    padding-left: 0;
  }
}

#single_case_title_area {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

@media (max-width: 1000px) {
  #single_case_title_area .image {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}

#single_case_title_area .image img {
  border-radius: var(--size-30-60);
}

@media (max-width: 800px) {
  #page-numbers .page-lead h2 {
    text-align: center;
  }
}
#page-numbers .ttl01 {
  margin-bottom: 0 !important;
}
#page-numbers .ttl01 span span {
  font-size: 2em;
}
#page-numbers .media {
  align-items: center;
  justify-content: space-between;
}
#page-numbers .media p:empty {
  display: none;
}
#page-numbers .media-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size-120-210);
}
#page-numbers .media-img img {
  width: 100%;
}
#page-numbers .media-tx {
  margin-top: 30px;
}
@media (max-width: 600px) {
  #page-numbers .media-tx {
    margin-top: 15px;
  }
}
#page-numbers .tcd_chart {
  margin: 0;
}
#page-numbers small {
  display: block;
  margin-top: 20px;
  font-size: 13px;
  color: #888;
  text-align: center;
}
#page-numbers [class^=blc]:nth-child(odd) .media-img {
  margin-right: var(--size-30-60);
}
@media (max-width: 600px) {
  #page-numbers [class^=blc]:nth-child(odd) .media-img {
    margin: 10px 0 0;
  }
}
#page-numbers [class^=blc]:nth-child(even) .media {
  flex-direction: row-reverse;
}
@media (max-width: 600px) {
  #page-numbers [class^=blc]:nth-child(even) .media {
    flex-direction: column;
  }
}
#page-numbers [class^=blc]:nth-child(even) .media-img {
  margin-left: var(--size-30-60);
}
@media (max-width: 600px) {
  #page-numbers [class^=blc]:nth-child(even) .media-img {
    margin: 10px 0 0;
  }
}
#page-numbers [class^=blc]:last-child {
  border-bottom: 1px solid #ddd;
}

#related_case {
  width: 90%;
  max-width: 1150px;
  margin: var(--size-45-90) auto;
}
#related_case .title {
  text-align: center;
}
#related_case .swiper-pagination span.swiper-pagination-bullet-active {
  background: var(--green-01);
}

@media (max-width: 800px) {
  #page-culture .page-lead h2,
  #page-culture .page-lead p {
    text-align: center;
  }
}
#page-culture > .bg-green3 {
  position: relative;
}
#page-culture > .bg-green3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) center;
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  #page-culture > .bg-green3::before {
    background-size: 1200px auto;
  }
}
#page-culture section {
  position: relative;
  padding: 0 var(--size-20-60) var(--size-20-60);
  background: #fff;
  border-radius: var(--size-30-60);
  box-shadow: 0 10px 45px rgba(90, 184, 6, 0.3);
}
#page-culture section:first-child {
  margin-top: var(--size-30-60) !important;
}
#page-culture section + section {
  margin-top: var(--size-60-120) !important;
}
#page-culture .icon {
  position: relative;
  top: calc(var(--size-90-140) / 2 * -1);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size-90-140);
  height: var(--size-90-140);
  margin: 0 auto;
  background: var(--green-01);
  border-radius: 300px;
}
#page-culture .icon img {
  width: 70%;
}
#page-culture .ttl01 {
  margin: -1em 0 1em !important;
}

@media (max-width: 800px) {
  #page-welfare .page-lead h2,
  #page-welfare .page-lead p {
    text-align: center;
  }
}
#page-welfare > .bg-green3 {
  position: relative;
}
#page-welfare > .bg-green3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) center;
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  #page-welfare > .bg-green3::before {
    background-size: 1200px auto;
  }
}
#page-welfare section {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: var(--size-30-60);
  box-shadow: 0 var(--size-5-10) var(--size-20-45) rgba(90, 184, 6, 0.3);
}
@media (max-width: 600px) {
  #page-welfare section {
    flex-direction: column;
  }
}
#page-welfare section + section {
  margin-top: var(--size-30-60) !important;
}
#page-welfare section p {
  margin-bottom: 0;
}
#page-welfare section p:empty {
  display: none;
}
#page-welfare .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 30%;
  padding: 0 20px;
  color: #fff;
  text-align: center;
  background: var(--green-01);
}
@media (max-width: 600px) {
  #page-welfare .ttl {
    width: 100%;
    padding: 15px 10px;
  }
}
@media (max-width: 600px) {
  #page-welfare .icon {
    width: var(--size-70-100);
  }
}
#page-welfare h3 {
  margin: 1em 0 0 !important;
  font-size: var(--size-18-24) !important;
}
@media (max-width: 600px) {
  #page-welfare h3 {
    margin-top: 0.5em !important;
  }
}
#page-welfare .tx {
  flex: 1;
  padding: var(--size-20-45);
}
#page-welfare .blc03 ul {
  margin-top: 20px;
}
@media (max-width: 600px) {
  #page-welfare .blc03 ul {
    margin-left: 0;
  }
}

@media (max-width: 800px) {
  #page-choice-work-styles .page-lead h2 {
    text-align: center;
  }
}
#page-choice-work-styles .tabs {
  margin-top: var(--size-30-90);
}
#page-choice-work-styles li {
  list-style: none;
}
@media (max-width: 600px) {
  #page-choice-work-styles li {
    margin: 0 1px;
  }
}
#page-choice-work-styles p {
  margin-bottom: 0;
}
#page-choice-work-styles .tab-nav {
  display: flex;
  align-items: end;
  justify-content: center;
  height: var(--size-60-100);
}
#page-choice-work-styles .tab-nav li:nth-child(1) button:hover,
#page-choice-work-styles .tab-nav li:nth-child(1) [aria-selected=true] {
  background: var(--green-01);
}
#page-choice-work-styles .tab-nav li:nth-child(2) button:hover,
#page-choice-work-styles .tab-nav li:nth-child(2) [aria-selected=true] {
  background: var(--blue-01);
}
#page-choice-work-styles .tab-nav li:nth-child(3) button:hover,
#page-choice-work-styles .tab-nav li:nth-child(3) [aria-selected=true] {
  background: var(--red-01);
}
#page-choice-work-styles .tab-nav li:nth-child(4) button:hover,
#page-choice-work-styles .tab-nav li:nth-child(4) [aria-selected=true] {
  background: var(--yellow-01);
}
#page-choice-work-styles button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--size-12-60);
  font-family: var(--ff-01);
  font-size: var(--size-15-22);
  font-weight: 700;
  line-height: var(--size-50-80);
  color: #fff;
  cursor: pointer;
  background: #aaa;
  border: none;
  transition: var(--ts-03);
}
#page-choice-work-styles [aria-selected=true] {
  line-height: var(--size-60-100);
}
#page-choice-work-styles [role=tabpanel] {
  padding: var(--size-30-90) 0;
}
#page-choice-work-styles [role=tabpanel]:nth-child(1) .time-blc,
#page-choice-work-styles [role=tabpanel]:nth-child(1) .clock::before,
#page-choice-work-styles [role=tabpanel]:nth-child(1) .clock::after,
#page-choice-work-styles [role=tabpanel]:nth-child(1) .center {
  background: var(--green-01);
}
#page-choice-work-styles [role=tabpanel]:nth-child(2) .time-blc,
#page-choice-work-styles [role=tabpanel]:nth-child(2) .clock::before,
#page-choice-work-styles [role=tabpanel]:nth-child(2) .clock::after,
#page-choice-work-styles [role=tabpanel]:nth-child(2) .center {
  background: var(--blue-01);
}
#page-choice-work-styles [role=tabpanel]:nth-child(3) .time-blc,
#page-choice-work-styles [role=tabpanel]:nth-child(3) .clock::before,
#page-choice-work-styles [role=tabpanel]:nth-child(3) .clock::after,
#page-choice-work-styles [role=tabpanel]:nth-child(3) .center {
  background: var(--red-01);
}
#page-choice-work-styles [role=tabpanel]:nth-child(4) .time-blc,
#page-choice-work-styles [role=tabpanel]:nth-child(4) .clock::before,
#page-choice-work-styles [role=tabpanel]:nth-child(4) .clock::after,
#page-choice-work-styles [role=tabpanel]:nth-child(4) .center {
  background: var(--yellow-01);
}
#page-choice-work-styles [role=tabpanel] ol {
  margin: 0;
}
#page-choice-work-styles [role=tabpanel] li {
  display: flex;
  align-items: start;
  padding: var(--size-15-30) 0;
  border-bottom: 3px solid #ddd;
}
@media (max-width: 600px) {
  #page-choice-work-styles [role=tabpanel] li {
    flex-direction: column;
  }
}
#page-choice-work-styles [role=tabpanel] .ttl-blc {
  flex: 1;
}
#page-choice-work-styles [role=tabpanel] .time-blc {
  display: flex;
  align-items: center;
  padding: var(--size-5-10);
  color: #fff;
  border-radius: 300px;
}
#page-choice-work-styles [role=tabpanel] .time {
  width: var(--size-60-100);
  font-size: var(--size-20-30);
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
#page-choice-work-styles [role=tabpanel] .ttl {
  padding-top: 5px;
  font-size: var(--size-18-24);
  font-weight: 700;
}
@media (max-width: 600px) {
  #page-choice-work-styles [role=tabpanel] .ttl {
    padding-top: 10px;
  }
  #page-choice-work-styles [role=tabpanel] .ttl + p {
    line-height: 1.75;
  }
}
#page-choice-work-styles [role=tabpanel] .content {
  flex: 1.5;
  margin-left: var(--size-10-60);
}
#page-choice-work-styles .intro {
  padding: var(--size-15-30) var(--size-20-45);
  line-height: 2.2;
  background: #fff;
  border: 3px solid #ddd;
  border-radius: var(--size-15-30);
}
@media (max-width: 600px) {
  #page-choice-work-styles .intro {
    line-height: 1.75;
  }
}
#page-choice-work-styles img {
  margin-top: var(--size-20-45);
  border-radius: var(--size-20-60);
}
#page-choice-work-styles .clock {
  position: relative;
  width: var(--size-30-50);
  height: var(--size-30-50);
  background: white;
  border-radius: 50%;
}
#page-choice-work-styles .clock::before, #page-choice-work-styles .clock::after {
  position: absolute;
  bottom: 50%;
  left: 50%;
  content: "";
  border-radius: 5px;
  transform-origin: bottom;
}
#page-choice-work-styles .clock::before {
  width: 3px;
  height: 15px;
}
@media (max-width: 600px) {
  #page-choice-work-styles .clock::before {
    width: 2px;
    height: 10px;
  }
}
#page-choice-work-styles .clock::after {
  width: 3px;
  height: 20px;
}
@media (max-width: 600px) {
  #page-choice-work-styles .clock::after {
    width: 2px;
    height: 12px;
  }
}
#page-choice-work-styles .clock .center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 600px) {
  #page-choice-work-styles .clock .center {
    width: 6px;
    height: 6px;
  }
}
#page-choice-work-styles .clock-0700::before {
  transform: translateX(-50%) rotate(210deg);
}
#page-choice-work-styles .clock-0700::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-0715::before {
  transform: translateX(-50%) rotate(210deg);
}
#page-choice-work-styles .clock-0715::after {
  transform: translateX(-50%) rotate(90deg);
}
#page-choice-work-styles .clock-0745::before {
  transform: translateX(-50%) rotate(232.5deg);
}
#page-choice-work-styles .clock-0745::after {
  transform: translateX(-50%) rotate(270deg);
}
#page-choice-work-styles .clock-0800::before {
  transform: translateX(-50%) rotate(240deg);
}
#page-choice-work-styles .clock-0800::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-0815::before {
  transform: translateX(-50%) rotate(247.5deg);
}
#page-choice-work-styles .clock-0815::after {
  transform: translateX(-50%) rotate(90deg);
}
#page-choice-work-styles .clock-0830::before {
  transform: translateX(-50%) rotate(255deg);
}
#page-choice-work-styles .clock-0830::after {
  transform: translateX(-50%) rotate(180deg);
}
#page-choice-work-styles .clock-0900::before {
  transform: translateX(-50%) rotate(270deg);
}
#page-choice-work-styles .clock-0900::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-0930::before {
  transform: translateX(-50%) rotate(285deg);
}
#page-choice-work-styles .clock-0930::after {
  transform: translateX(-50%) rotate(180deg);
}
#page-choice-work-styles .clock-0945::before {
  transform: translateX(-50%) rotate(292.5deg);
}
#page-choice-work-styles .clock-0945::after {
  transform: translateX(-50%) rotate(270deg);
}
#page-choice-work-styles .clock-1000::before {
  transform: translateX(-50%) rotate(300deg);
}
#page-choice-work-styles .clock-1000::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1100::before {
  transform: translateX(-50%) rotate(330deg);
}
#page-choice-work-styles .clock-1100::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1200::before {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1200::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1300::before {
  transform: translateX(-50%) rotate(30deg);
}
#page-choice-work-styles .clock-1300::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1400::before {
  transform: translateX(-50%) rotate(60deg);
}
#page-choice-work-styles .clock-1400::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1630::before {
  transform: translateX(-50%) rotate(135deg);
}
#page-choice-work-styles .clock-1630::after {
  transform: translateX(-50%) rotate(180deg);
}
#page-choice-work-styles .clock-1700::before {
  transform: translateX(-50%) rotate(150deg);
}
#page-choice-work-styles .clock-1700::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1730::before {
  transform: translateX(-50%) rotate(165deg);
}
#page-choice-work-styles .clock-1730::after {
  transform: translateX(-50%) rotate(180deg);
}
#page-choice-work-styles .clock-1745::before {
  transform: translateX(-50%) rotate(172.5deg);
}
#page-choice-work-styles .clock-1745::after {
  transform: translateX(-50%) rotate(270deg);
}
#page-choice-work-styles .clock-1800::before {
  transform: translateX(-50%) rotate(180deg);
}
#page-choice-work-styles .clock-1800::after {
  transform: translateX(-50%) rotate(0deg);
}
#page-choice-work-styles .clock-1830::before {
  transform: translateX(-50%) rotate(195deg);
}
#page-choice-work-styles .clock-1830::after {
  transform: translateX(-50%) rotate(180deg);
}
#page-choice-work-styles .clock-1845::before {
  transform: translateX(-50%) rotate(217.5deg);
}
#page-choice-work-styles .clock-1845::after {
  transform: translateX(-50%) rotate(270deg);
}

@media (max-width: 800px) {
  #page-interview .page-lead h2 {
    text-align: center;
  }
}
#page-interview .page-intro {
  position: relative;
  z-index: 1;
  background: #fff;
}
#page-interview .interview-wrap {
  margin-top: var(--size-45-90);
}
#page-interview .interview {
  display: flex;
  align-items: start;
}
@media (max-width: 600px) {
  #page-interview .interview {
    flex-direction: column;
  }
}
#page-interview .interview:nth-child(odd) .img::before {
  right: 0;
  border-right: 60px solid #fff;
}
@media (max-width: 600px) {
  #page-interview .interview:nth-child(odd) .img::before {
    right: auto;
    left: 50%;
    border: 40px solid var(--tp);
    border-bottom: 30px solid var(--green-03);
  }
}
#page-interview .interview:nth-child(even) {
  flex-direction: row-reverse;
}
@media (max-width: 600px) {
  #page-interview .interview:nth-child(even) {
    flex-direction: column;
  }
}
#page-interview .interview:nth-child(even) .img::before {
  left: 0;
  border-left: 60px solid #fff;
}
@media (max-width: 600px) {
  #page-interview .interview:nth-child(even) .img::before {
    left: 50%;
    border: 40px solid var(--tp);
    border-bottom: 30px solid var(--green-03);
  }
}
#page-interview .img {
  position: sticky;
  top: 0;
  width: 45%;
  height: 100vh;
}
@media (max-width: 600px) {
  #page-interview .img {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
  }
}
#page-interview .img::before {
  position: absolute;
  top: 50%;
  content: "";
  border: 80px solid var(--tp);
  transform: translateY(-50%);
}
@media (max-width: 600px) {
  #page-interview .img::before {
    top: auto;
    bottom: -1px;
    transform: translateX(-50%);
  }
}
#page-interview .img img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 600px) {
  #page-interview .img img {
    width: 100%;
    object-position: top center;
  }
}
#page-interview .tx {
  width: 55%;
}
@media (max-width: 600px) {
  #page-interview .tx {
    width: 100%;
  }
}
#page-interview .interview-catch {
  padding: var(--size-45-90) 0;
  background: var(--green-03);
}
#page-interview .catch {
  margin-bottom: 1em;
  font-size: var(--size-20-40);
  font-weight: 700;
  line-height: 1.8;
  color: var(--green-02);
  text-align: center;
}
#page-interview .prof {
  padding: var(--size-20-45);
  background: #fff;
  border-radius: var(--size-20-40);
  box-shadow: 0 var(--size-5-10) var(--size-20-30) rgba(90, 184, 6, 0.3);
}
#page-interview .prof p {
  margin-bottom: 0;
  line-height: 2;
}
#page-interview .prof .interview-name-blc,
#page-interview .prof .interview-join-blc {
  display: flex;
  align-items: center;
  font-weight: 700;
  line-height: 1;
}
#page-interview .prof .interview-section {
  padding: 10px 20px;
  margin-right: 10px;
  color: #fff;
  background: var(--green-01);
  border-radius: 300px;
}
#page-interview .prof .interview-name {
  font-size: var(--size-40-50);
}
#page-interview .prof .interview-name span {
  font-size: 0.5em;
}
#page-interview .prof .interview-join-blc {
  margin: var(--size-10-20) 0 var(--size-20-40);
  color: #888;
}
#page-interview .prof .interview-career {
  font-weight: 600;
}
#page-interview .interview-item {
  margin-top: var(--size-30-90);
}
#page-interview .interview-session {
  margin-bottom: var(--size-30-90);
}
#page-interview .interview-session h3 {
  position: relative;
  padding-left: var(--size-28-45);
  margin-bottom: 1em !important;
  font-size: var(--size-18-24) !important;
}
@media (max-width: 600px) {
  #page-interview .interview-session h3 {
    margin-bottom: 0.5em !important;
  }
}
#page-interview .interview-session h3::before {
  position: absolute;
  top: var(--size-14-18);
  left: 0;
  width: var(--size-20-30);
  height: 4px;
  content: "";
  background: var(--green-01);
  border-radius: 10px;
}
@media (max-width: 600px) {
  #page-interview .interview-session h3::before {
    height: 3px;
  }
}
#page-interview .interview-session p {
  line-height: 2.2;
}
#page-interview .interview-session img {
  margin-top: var(--size-30-90);
  border-radius: var(--size-30-60);
}

#service_category_list {
  padding-top: 0;
}

#page-recruit {
  margin-top: 30px;
}
#page-recruit .blc01 {
  justify-content: space-between;
}
@media (max-width: 800px) {
  #page-recruit .blc01 {
    flex-direction: column;
  }
}
#page-recruit section {
  position: relative;
  width: calc(33.3333333333% - var(--size-15-30));
  padding: var(--size-50-100) var(--size-20-60) var(--size-20-60);
  background: #fff;
  border-radius: var(--size-30-60);
  box-shadow: 0 var(--size-5-10) var(--size-20-45) rgba(0, 0, 0, 0.1);
}
@media (max-width: 800px) {
  #page-recruit section {
    width: 100%;
  }
  #page-recruit section + section {
    margin-top: 60px;
  }
}
#page-recruit section::before {
  position: absolute;
  top: calc(var(--size-80-120) / 2 * -1);
  left: 50%;
  width: var(--size-80-120);
  height: var(--size-80-120);
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
}
#page-recruit section:first-child::before {
  background-image: url(../img/recruit01.svg);
}
#page-recruit section:nth-child(2)::before {
  background-image: url(../img/recruit02.svg);
}
#page-recruit section:last-child::before {
  background-image: url(../img/recruit03.svg);
}
#page-recruit .ttl01 {
  margin-bottom: 1.25em;
  font-size: var(--size-21-32);
  font-weight: 700;
  text-align: center;
}
@media (max-width: 600px) {
  #page-recruit .ttl01 {
    margin: 0.25em 0 0.75em;
  }
}
#page-recruit p {
  line-height: 2.4;
}
@media (max-width: 600px) {
  #page-recruit p {
    line-height: 2;
  }
}

#archive_service {
  padding: var(--size-45-90) 0 0;
}

#service_list_type1 .item {
  padding-bottom: var(--size-45-90);
  margin-bottom: var(--size-45-90);
}

#service_icon_list_type1.short_size {
  justify-content: center;
}
@media (max-width: 600px) {
  #service_icon_list_type1.short_size {
    flex-direction: column;
    align-items: center;
  }
}

#service_icon_list_type1 li {
  margin: 0 5px;
}
@media (max-width: 1200px) {
  #service_icon_list_type1 li {
    width: 25%;
  }
}
@media (max-width: 600px) {
  #service_icon_list_type1 li {
    width: 45%;
    margin: 5px 0;
  }
}

#service_icon_list_type1 a {
  border-width: 3px;
  border-radius: var(--size-15-30);
}
@media (max-width: 600px) {
  #service_icon_list_type1 a {
    padding: 0 10px;
  }
}

#service_icon_list_type1 .icon {
  display: block;
  width: 60%;
  aspect-ratio: 1/1;
}
#service_icon_list_type1 .icon img {
  width: 100%;
  max-width: none;
  height: 100%;
  margin: 0 0 5px;
  object-fit: contain;
}

#single_service {
  width: 100%;
  padding-bottom: 0;
}
@media (max-width: 800px) {
  #single_service {
    padding-right: 0;
    padding-left: 0;
  }
}

#single_service_title_area {
  margin-bottom: 0;
}

#page-requirement .page-lead {
  margin-bottom: var(--size-30-60) !important;
}
#page-requirement .accordion {
  padding: var(--size-5-10);
  margin-top: 20px !important;
  border: 5px solid var(--main_color);
  border-radius: var(--size-35-60);
}
@media (max-width: 600px) {
  #page-requirement .accordion {
    margin-top: 10px !important;
    border-width: 4px;
  }
}
#page-requirement .accordion-header {
  position: relative;
  padding: var(--size-10-20) var(--size-15-30);
  margin-bottom: 0 !important;
  font-size: var(--size-16-22) !important;
  color: #fff;
  background-color: var(--main_color);
  border-radius: 300px;
  transition: var(--ts-02);
}
#page-requirement .accordion-header::before {
  position: absolute;
  top: 50%;
  right: 10px;
  height: calc(100% - var(--size-10-20));
  aspect-ratio: 1/1;
  content: "";
  background: #fff;
  border-radius: 60px;
  transition: var(--ts-02);
  transform: translateY(-50%);
}
@media (max-width: 600px) {
  #page-requirement .accordion-header::before {
    height: calc(100% - 10px);
  }
}
#page-requirement .accordion-header::after {
  position: absolute;
  top: var(--size-18-26);
  right: var(--size-24-29);
  width: var(--size-12-20);
  height: var(--size-12-20);
  content: "";
  border-top: var(--size-3-5) solid var(--green-01);
  border-right: var(--size-3-5) solid var(--green-01);
  transition: var(--ts-02);
  transform: rotate(135deg);
}
#page-requirement .accordion-header:hover, #page-requirement .accordion-header.is-active {
  color: #fff;
  background: var(--green-01);
}
#page-requirement .accordion-header:hover::before {
  background: #fff;
}
#page-requirement .accordion-header.is-active::before {
  background: #fff;
}
#page-requirement .accordion-header.is-active::after {
  top: var(--size-22-32);
  transform: rotate(-45deg);
}
#page-requirement .accordion-content {
  display: none;
  padding: var(--size-10-20);
}
#page-requirement .base-table dt {
  grid-template-columns: 12em 1fr;
}
@media (max-width: 600px) {
  #page-requirement .base-table dt {
    padding: 0.75em;
  }
}
@media (max-width: 600px) {
  #page-requirement .base-table dd {
    padding: 0.75em;
  }
}
#page-requirement .place .ttl01 {
  margin-bottom: 0 !important;
}
#page-requirement .place .flex {
  gap: var(--size-30-60);
}
@media (max-width: 600px) {
  #page-requirement .place .flex {
    flex-direction: column;
  }
}
@media (max-width: 600px) {
  #page-requirement .place section:last-child .ttl02 {
    margin-top: 0 !important;
  }
}
#page-requirement .place .ttl02 {
  margin-bottom: 0 !important;
}
#page-requirement .place .blank-tab-g {
  margin-top: 15px;
}
#page-requirement .place .blank-tab-g a {
  padding-right: 20px;
  color: #222;
  background-position: top 4px right;
  background-size: 14px auto;
}

@media (max-width: 800px) {
  #page-recruit-flow .page-lead h2 {
    text-align: center;
  }
}
#page-recruit-flow .bg-green3 {
  position: relative;
}
#page-recruit-flow .bg-green3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/logo_pt.svg) center;
  background-size: 110% auto;
  opacity: 0.05;
}
@media (max-width: 800px) {
  #page-recruit-flow .bg-green3::before {
    background-size: 1200px auto;
  }
}
#page-recruit-flow .flow {
  position: relative;
  counter-reset: step;
}
#page-recruit-flow .flow li {
  display: flex;
  align-items: center;
  padding: 15px;
  list-style: none;
  counter-increment: step;
  background: #fff;
  border: 5px solid var(--tp);
  border-radius: 600px;
}
@media (max-width: 600px) {
  #page-recruit-flow .flow li {
    flex-direction: column;
    border-width: 4px;
    border-radius: 20px;
  }
}
#page-recruit-flow .flow li:nth-child(1) {
  border-color: #51d000;
}
#page-recruit-flow .flow li:nth-child(1):not(:last-child)::before {
  border-top-color: #51d000;
}
#page-recruit-flow .flow li:nth-child(1) dt::before {
  color: #51d000;
}
#page-recruit-flow .flow li:nth-child(1) .icon {
  background: #51d000;
}
#page-recruit-flow .flow li:nth-child(2) {
  border-color: #35ae0a;
}
#page-recruit-flow .flow li:nth-child(2):not(:last-child)::before {
  border-top-color: #35ae0a;
}
#page-recruit-flow .flow li:nth-child(2) dt::before {
  color: #35ae0a;
}
#page-recruit-flow .flow li:nth-child(2) .icon {
  background: #35ae0a;
}
#page-recruit-flow .flow li:nth-child(3) {
  border-color: #249910;
}
#page-recruit-flow .flow li:nth-child(3):not(:last-child)::before {
  border-top-color: #249910;
}
#page-recruit-flow .flow li:nth-child(3) dt::before {
  color: #249910;
}
#page-recruit-flow .flow li:nth-child(3) .icon {
  background: #249910;
}
#page-recruit-flow .flow li:nth-child(4) {
  border-color: #148515;
}
#page-recruit-flow .flow li:nth-child(4):not(:last-child)::before {
  border-top-color: #148515;
}
#page-recruit-flow .flow li:nth-child(4) dt::before {
  color: #148515;
}
#page-recruit-flow .flow li:nth-child(4) .icon {
  background: #148515;
}
#page-recruit-flow .flow li:nth-child(5) {
  border-color: #006d1c;
}
#page-recruit-flow .flow li:nth-child(5):not(:last-child)::before {
  border-top-color: #006d1c;
}
#page-recruit-flow .flow li:nth-child(5) dt::before {
  color: #006d1c;
}
#page-recruit-flow .flow li:nth-child(5) .icon {
  background: #006d1c;
}
#page-recruit-flow .flow li:not(:last-child) {
  position: relative;
  margin-bottom: var(--size-35-60);
}
#page-recruit-flow .flow li:not(:last-child)::before {
  position: absolute;
  bottom: -80px;
  left: 50%;
  content: "";
  border: 45px solid var(--tp);
  border-top: 35px solid var(--tp);
  transform: translateX(-50%);
}
@media (max-width: 600px) {
  #page-recruit-flow .flow li:not(:last-child)::before {
    bottom: -60px;
    border-width: 35px;
    border-top-width: 25px;
  }
}
#page-recruit-flow .flow .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--size-90-180);
  height: var(--size-90-180);
  border-radius: 180px;
}
#page-recruit-flow .flow .icon img {
  width: 60%;
  max-width: 90px;
}
#page-recruit-flow .flow dl {
  flex: 1;
  padding: 0 var(--size-5-60);
}
@media (max-width: 600px) {
  #page-recruit-flow .flow dl {
    margin-top: 20px;
  }
}
#page-recruit-flow .flow dt {
  margin-bottom: var(--size-15-25);
  font-size: var(--size-20-26);
  line-height: 1;
}
#page-recruit-flow .flow dt::before {
  margin-right: 15px;
  font-size: 0.8em;
  content: "Step " counter(step);
}
#page-recruit-flow .flow dd {
  line-height: 1.75;
}
#page-recruit-flow .flow dd a {
  color: var(--green-02);
  text-decoration: underline;
}
#page-recruit-flow .flow dd a:hover {
  text-decoration: none;
}
#page-recruit-flow .flow dd a[target=_blank] {
  position: relative;
  padding-right: 18px;
  margin-right: 5px;
  background: url(../img/blank_tab_g.svg) no-repeat center right;
  background-size: 14px auto;
}
#page-recruit-flow .flow dd .c-green02 {
  display: block;
  margin-top: 15px;
  font-size: 15px;
}

#single_service_icon_list {
  padding: 60px 0;
  background: #fff;
  border-top: 1px solid #ddd;
}

.post-type-archive-faq #archive_desc {
  padding-top: 0;
}

#archive_faq {
  padding-top: 30px;
}

.single-news #main_content,
.single-post #main_content {
  align-items: start;
}
@media (max-width: 1200px) {
  .single-news #main_content,
  .single-post #main_content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 800px) {
  .single-news #main_col,
  .single-post #main_col {
    width: 100%;
  }
}
.single-news #side_col,
.single-post #side_col {
  position: sticky;
  top: 180px;
}
@media (max-width: 1200px) {
  .single-news #side_col,
  .single-post #side_col {
    position: static;
  }
  .single-news #side_col .widget_content,
  .single-post #side_col .widget_content {
    width: 300px;
    margin: 0;
  }
}
@media (max-width: 1200px) and (max-width: 800px) {
  .single-news #side_col .widget_content,
  .single-post #side_col .widget_content {
    margin-bottom: 45px;
  }
}
@media (max-width: 1200px) {
  .single-news #side_col .widget_headline,
  .single-post #side_col .widget_headline {
    text-align: center;
  }
}

.category_button {
  background: var(--green-01);
}
.category_button:hover {
  background: var(--green-02) !important;
}

.contact-primary {
  margin: var(--size-30-60) 0 var(--size-60-120) !important;
}
.contact-primary .mail-form-intro {
  text-align: center;
}
.contact-primary .mail-form-intro .for-phone {
  margin-bottom: var(--size-20-40);
  text-align: center;
}
.contact-primary .mail-form-intro .for-phone dt {
  font-size: var(--size-18-24);
  font-weight: 600 !important;
}
.contact-primary .mail-form-intro .for-phone a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--size-34-40);
  font-weight: 600;
  line-height: 1.75;
  color: var(--green-01);
  transition: var(--ts-02);
}
.contact-primary .mail-form-intro .for-phone a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.contact-primary .mail-form-intro .for-phone svg {
  width: var(--size-24-30);
  margin-right: 5px;
}
.contact-primary .mail-form-intro ul {
  margin: 0 0 var(--size-20-40) 0;
}
.contact-primary .mail-form-intro li {
  font-size: 14px;
  font-weight: 700 !important;
  list-style: none;
}
.contact-primary .mail-form-intro .req {
  margin-right: 10px;
}
.contact-primary .mail-form-intro .desc {
  font-size: 14px;
}
@media (max-width: 600px) {
  .contact-primary .mail-form-intro .desc {
    text-align: left;
  }
}
.contact-primary .req {
  position: relative;
  top: -2px;
  display: inline-block;
  padding: 0 10px;
  font-size: 12px;
  line-height: 1.75;
  color: #fff;
  background: var(--green-01);
  border-radius: 100px;
}
.contact-primary .form-cont fieldset dt {
  display: flex;
  align-items: center;
  font-size: 16px;
}
.contact-primary .form-cont .wpcf7-list-item {
  margin-left: 0;
  line-height: 2.2;
}
.contact-primary .form-cont dd {
  margin: 5px 0 0 20px;
}
.contact-primary .form-cont .req {
  margin-left: 5px;
}
.contact-primary .form-cont .note {
  font-size: 0.8em;
}
.contact-primary .form-cont .agreement {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15px;
}
@media (max-width: 600px) {
  .contact-primary .form-cont .agreement {
    flex-direction: column;
  }
  .contact-primary .form-cont .agreement dd {
    margin: 0;
  }
}
.contact-primary .form-cont .agreement .req {
  top: 0;
  margin-left: 0;
}
.contact-primary .wpcf7 {
  padding: var(--size-20-40);
  background: #f7f7f7;
  border: none;
  border: 5px solid #ddd;
  border-radius: var(--size-30-60);
}
@media (max-width: 600px) {
  .contact-primary .wpcf7 {
    border-width: 4px;
  }
}
.contact-primary .wpcf7 form {
  margin: 0;
}
.contact-primary .wpcf7 select,
.contact-primary .wpcf7 .wpcf7-list-item-label {
  font-size: inherit;
}
.contact-primary .form-btns {
  justify-content: center;
  margin-top: 20px;
}
.contact-primary .form-btns .form-btn span {
  display: block;
}
.contact-primary .form-btns .form-btn input {
  display: inline-block;
  height: auto;
  padding: 18px 50px;
  margin: 10px;
  font-size: 18px;
  font-weight: 700 !important;
  color: #fff;
  letter-spacing: 0.1em;
  cursor: pointer;
  background: var(--green-01);
  border: 3px solid var(--green-01) !important;
  border-radius: 300px;
  transition: var(--ts-02);
}
.contact-primary .form-btns .form-btn input:hover {
  color: var(--green-01);
  background: #fff;
}
.contact-primary .wpcf7-not-valid-tip,
.contact-primary .wpcf7-response-output {
  font-size: 14px;
  font-weight: 600;
  color: var(--red) !important;
}
.contact-primary .wpcf7-response-output {
  padding: 10px !important;
  margin: 0 !important;
  line-height: 1.75;
  background: #fff;
  border: 3px solid var(--red) !important;
  border-radius: 300px;
}
@media (max-width: 600px) {
  .contact-primary .wpcf7-response-output {
    border-radius: 15px;
  }
}
.contact-primary .complete-msg a {
  margin: 0 10px;
}
.contact-primary .privacy {
  height: 300px;
  padding: var(--size-15-30);
  margin-top: 30px;
  overflow-y: scroll;
  background: #fff;
  border: 1px solid #ddd;
}
@media (max-width: 600px) {
  .contact-primary .privacy {
    margin-top: -10px;
  }
}
.contact-primary .privacy h3,
.contact-primary .privacy h4 {
  margin-bottom: 10px !important;
  font-size: var(--size-16-20) !important;
  font-weight: 500 !important;
}
.contact-primary .privacy p {
  font-size: 13px;
  line-height: 1.75;
}
.contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-form-hide,
.contact-primary:has(.wpcf7cp-form-hide) .mail-form-intro {
  display: none;
}
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf {
  position: static;
}
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf table,
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf tr,
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf th,
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf td {
  display: block;
  padding: 0;
  text-align: left;
  border: none;
}
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf tr + tr {
  margin-top: 20px;
}
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf th {
  font-weight: bold;
}
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf td {
  margin-left: 20px;
  background: var(--tp);
}
.contact-primary:has(.wpcf7cp-form-hide) #wpcf7cpcnf td p {
  line-height: 1.75;
}
.contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns {
  display: flex;
  justify-content: center;
}
@media (max-width: 600px) {
  .contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns button {
  display: inline-block;
  width: auto;
  height: auto;
  padding: 18px 50px;
  margin: 10px;
  font-size: 18px;
  font-weight: 700 !important;
  color: #fff;
  letter-spacing: 0.1em;
  cursor: pointer;
  background: var(--green-01);
  border: 3px solid var(--green-01) !important;
  border-radius: 300px;
  transition: var(--ts-02);
}
@media (max-width: 600px) {
  .contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns button {
    min-width: 230px;
  }
}
.contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns button:hover {
  color: var(--green-01);
  background: #fff;
}
.contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns .wpcf7cp-cfm-edit-btn {
  background: #999;
  border-color: #999 !important;
}
.contact-primary:has(.wpcf7cp-form-hide) .wpcf7cp-btns .wpcf7cp-cfm-edit-btn:hover {
  color: #999;
}/*# sourceMappingURL=style.css.map */

/* トップページの求人急募 */
.btn-c-box{text-align:center; margin-bottom:-130px!important;}

.btn,
a.btn,
button.btn {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
	 margin-top:-50px!important;
}

a.btn-c {
  font-size: 2.6rem;
  position: relative;
  padding: 1.5rem 7rem 1.5rem 7rem;
  color: #fff;
  background: #d93636;
  -webkit-box-shadow: 0 5px 0 #9d2424;
  box-shadow: 0 5px 0 #9d2424;
	margin-bottom: -130px;
  max-width: 700px;
  width: 100%;
}

a.btn-c span {
  font-size: 1.4rem;
  display: inline-block;
  width: 100%;
  margin-bottom: 0.5em;
  padding: 0.2rem 0.5rem;
  color: #cf4343;
  border-radius: 4px;
  background: #fff;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #fff;
  background: #f13333;
  -webkit-box-shadow: 0 2px 0 #9d2424;
  box-shadow: 0 2px 0 #9d2424;
}

a.btn-c:hover:before {
  left: 2rem;
}
@media (max-width: 600px) {
.btn-c-box{text-align:center; margin-bottom:-50px!important;}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
	 margin-top:20px!important;
}

a.btn-c {
  font-size: 1.8rem;
  position: relative;
  padding: 1.5rem 2rem 1.5rem 2rem;
  color: #fff;
  background: #d93636;
  -webkit-box-shadow: 0 5px 0 #9d2424;
  box-shadow: 0 5px 0 #9d2424;
  max-width: 500px;
  width: 100%;
}

a.btn-c span {
  font-size: 1.4rem;
  display: inline-block;
  width: 100%;
  margin-bottom: 0.5em;
  padding: 0.2rem 0.5rem;
  color: #cf4343;
  border-radius: 4px;
  background: #fff;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);
  color: #fff;
  background: #f13333;
  -webkit-box-shadow: 0 2px 0 #2c9d60;
  box-shadow: 0 2px 0 #2c9d60;
}

a.btn-c:hover:before {
  left: 2rem;
}
}