@charset "UTF-8";
:root {
  --fz-pc: 16;
  --fz-sp: 14;
  --rem-pc: calc(1 / var(--fz-pc) * 1rem);
  --rem-sp: calc(1 / var(--fz-sp) * 1rem);
  --inner-xs: 720;
  --inner-sm: 960;
  --inner-sm2: 1200;
  --inner-md: 1440;
  --inner-md2: 1560;
  --inner-lg: 1600;
  --inner-lg2: 1650;
  --inner-xl: 1760;
  --inner-xl2: 1800;
  --section_pdg-sm: 80;
  --section_pdg-sm-sp: 40;
  --section_pdg-md: 120;
  --section_pdg-md-sp: 60;
  --section_pdg-lg: 160;
  --section_pdg-lg-sp: 80;
  --ltr-space-default: 0.08em;
  --line-height-default: 1.8;
  --line-height-hdr: 1.4;
  --line-height-none: 1;
  --font-default:"ヒラギノUD角ゴ W4 JIS2004","Hiragino UD Sans W4 JIS2004", "Hiragino UD Sans StdN","Noto Sans JP", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-sub: "ヒラギノUD角ゴ W4 JIS2004","Hiragino UD Sans W4 JIS2004", "Hiragino UD Sans StdN","あおとゴシック DB","Aoto Gothic DemiBold";
  --font-jp-heading: " ヒラギノUD角ゴ W6 JIS2004","Hiragino UD Sans W6 JIS2004","Hiragino UD Sans StdN", sans-serif;
  --font-jp-heading2:"ヒラギノUD角ゴ W6 JIS2004","Hiragino UD Sans W6 JIS2004","Hiragino UD Sans StdN","Noto Serif JP", serif;
  --font-jp-heading3: "Zen Kaku Gothic Antique", sans-serif;
  --font-jp-text: "ヒラギノUD角ゴ W4 JIS2004","Hiragino UD Sans W4 JIS2004","Hiragino UD Sans StdN", sans-serif;
  --font-en-heading: "Overpass", "ヒラギノUD角ゴ W6 JIS2004","Hiragino UD Sans W6 JIS2004",sans-serif;
  --font-en-heading2: "Cormorant Garamond", serif;
  --font-en-text: "Overpass", "ヒラギノUD角ゴ W6 JIS2004","Hiragino UD Sans W6 JIS2004",sans-serif;
  --font-en-display: "Overpass", "ヒラギノUD角ゴ W6 JIS2004","Hiragino UD Sans W6 JIS2004",sans-serif;
  --font-weight-default: 400;
  --font-weight-heading: 500;
  --font-weight-bold: 600;
  /* heading */
  --heading1: 64;
  --heading1-sp: 32;
  --heading2: 48;
  --heading2-sp: 28;
  --heading3: 40;
  --heading3-sp: 24;
  --heading4: 32;
  --heading4-sp: 20;
  --heading5: 24;
  --heading5-sp: 18;
  --heading6: 20;
  --heading6-sp: 16;
  --font-size-heading1: calc(var(--heading1) * var(--rem-pc));
  --font-size-heading1-sp: calc(var(--heading1-sp) * var(--rem-sp));
  --font-size-heading2: calc(var(--heading2) * var(--rem-pc));
  --font-size-heading2-sp: calc(var(--heading2-sp) * var(--rem-sp));
  --font-size-heading3: calc(var(--heading3) * var(--rem-pc));
  --font-size-heading3-sp: calc(var(--heading3-sp) * var(--rem-sp));
  --font-size-heading4: calc(var(--heading4) * var(--rem-pc));
  --font-size-heading4-sp: calc(var(--heading4-sp) * var(--rem-sp));
  --font-size-heading5: calc(var(--heading5) * var(--rem-pc));
  --font-size-heading5-sp: calc(var(--heading5-sp) * var(--rem-sp));
  --font-size-heading6: calc(var(--heading6) * var(--rem-pc));
  --font-size-heading6-sp: calc(var(--heading6-sp) * var(--rem-sp));
  /* txt */
  --txt-lg: 18;
  --txt-lg2: 24;
  --txt-lg-sp: 16;
  --txt-md: 16;
  --txt-md-sp: 14;
  --txt-sm: 14;
  --txt-sm-sp: 12;
  --font-size-txt-lg: calc(var(--txt-lg) * var(--rem-pc));
  --font-size-txt-lg-sp: calc(var(--txt-lg-sp) * var(--rem-sp));
  --font-size-txt-md: calc(var(--txt-md) * var(--rem-pc));
  --font-size-txt-md-sp: calc(var(--txt-md-sp) * var(--rem-sp));
  --font-size-txt-sm: calc(var(--txt-sm) * var(--rem-pc));
  --font-size-txt-sm-sp: calc(var(--txt-sm-sp) * var(--rem-sp));
  /* display */
  --display-lg: 160;
  --display-lg-sp: 80;
  --display-md: 120;
  --display-md-sp: 60;
  --display-sm: 80;
  --display-sm-sp: 40;
  --font-size-display-lg: calc(var(--display-lg) * var(--rem-pc));
  --font-size-display-lg-sp: calc(var(--display-lg-sp) * var(--rem-sp));
  --font-size-display-md: calc(var(--display-md) * var(--rem-pc));
  --font-size-display-md-sp: calc(var(--display-md-sp) * var(--rem-sp));
  --font-size-display-sm: calc(var(--display-sm) * var(--rem-pc));
  --font-size-display-sm-sp: calc(var(--display-sm-sp) * var(--rem-sp));
  --clr-primary-default: #109B3D;
  --clr-primary-dark: #6AB82C;
  --clr-primary-light: #00D910;
  --clr-secondary-default: #E4293B;
  --clr-secondary-dark: #D03030;
  --clr-secondary-light: #F25353;
  --clr-bg-01: #F0F0E7;
  --clr-bg-02: #F7F7F1;
  --clr-bg-03: #D9E5F3;
  --clr-bg-04: #0F1C3F;
  --clr-bg-05: #011A36;
  --clr-bg-06: #DFEAF6;
  --clr-sub-01: #51AAA6;
  --clr-sub-02: #A8BF71;
  --clr-sub-03: #D7A761;
  --clr-sub-04: #CF727C;
  --clr-sub-05: #A2689B;
  --clr-sub-06: #6790B7;
  --clr-mono-01: #EEEEEE;
  --clr-mono-02: #CCCCCC;
  --clr-mono-03: #AAAAAA;
  --clr-mono-04: #888888;
  --clr-mono-05: #666666;
  --clr-mono-06: #444444;
  --clr-mono-04_2: #9599A3;
  --clr-text-primary: #28333D;
  --clr-text-primary2: #151e2f;
  --clr-text-secondary: #7A7A81;
  --clr-text-placeholder: #CCCCCC;
  --clr-text-light: #FFFFFF;
  --color-text-blue: #7AA2C7;
  --clr-wht: #FFFFFF;
  --clr-blk: #000000;
  --clr-green: #009e00;
  --color-bg-dark: #06284F;
  --color-bg-lightgreen: #f2f6e9;
  --color-bg-blue: #25bbf2;
  --radius-primary: 16;
  --radius-primary-sp: 8;
  --radius-secondary: 8;
  --radius-secondary-sp: 4;
  --radius-tertiary: 4;
  --radius-tertiary-sp: 2;
  --radius-max: 9999;
  --border-radius-primary: calc(var(--radius-primary) * var(--rem-pc));
  --border-radius-primary-sp: calc(var(--radius-primary-sp) * var(--rem-sp));
  --border-radius-secondary: calc(var(--radius-secondary) * var(--rem-pc));
  --border-radius-secondary-sp: calc(var(--radius-secondary-sp) * var(--rem-sp));
  --border-radius-tertiary: calc(var(--radius-tertiary) * var(--rem-pc));
  --border-radius-tertiary-sp: calc(var(--radius-tertiary-sp) * var(--rem-sp));
  --border-radius-max: calc(var(--radius-max) * var(--rem-pc));
  --box-shadow-default: 0px 0px 24px 0px color-mix(in srgb, var(--clr-blk) 10%, transparent);
  --backdrop-filter-default: blur(4px);
  --transit-default: all .4s ease-out;
  --blue_grad: linear-gradient(90deg, #0099DB 0%, #002076 100%);
  --blue_grad2: linear-gradient(0deg, #0099DB 0%, #002076 100%);
  --white_grad: linear-gradient(90deg, #0099DB 0%, #002076 100%);
  --cta_grad: linear-gradient(118deg, #248FEB 4.86%, rgba(101, 195, 242, 0.80) 95.14%), #FFF;
  border-radius: 999px;
  --bg_grad:linear-gradient(180deg, #248FEB 10.06%, rgba(255, 255, 255, 0.80) 89.94%);
  --bg_grad2:linear-gradient(180deg, #248FEB 10.06%, #F5F5F5 89.94%);
  --txt_grad: linear-gradient(90deg, #0099DB 0%, #002076 100%);
}

/* bg
********************************************** */
.bg-primary-default {
  background-color: var(--clr-primary-default);
}

.bg-primary-dark {
  background-color: var(--clr-primary-dark);
}

.bg-primary-light {
  background-color: var(--clr-primary-light);
}

.bg-secondary-default {
  background-color: var(--clr-secondary-default);
}

.bg-secondary-dark {
  background-color: var(--clr-secondary-dark);
}

.bg-secondary-light {
  background-color: var(--clr-secondary-light);
}

.bg-bg-01 {
  background-color: var(--clr-bg-01);
}

.bg-bg-02 {
  background-color: var(--clr-bg-02);
}

.bg-bg-03 {
  background-color: var(--clr-bg-03);
}

.bg-bg-04 {
  background-color: var(--clr-bg-04);
}

.bg-bg-05 {
  background-color: var(--clr-bg-05);
}

.bg-bg-06 {
  background-color: var(--clr-bg-06);
}

.bg-sub-01 {
  background-color: var(--clr-sub-01);
}

.bg-sub-02 {
  background-color: var(--clr-sub-02);
}

.bg-sub-03 {
  background-color: var(--clr-sub-03);
}

.bg-sub-04 {
  background-color: var(--clr-sub-04);
}

.bg-sub-05 {
  background-color: var(--clr-sub-05);
}

.bg-sub-06 {
  background-color: var(--clr-sub-06);
}

.bg-mono-01 {
  background-color: var(--clr-mono-01);
}

.bg-mono-02 {
  background-color: var(--clr-mono-02);
}

.bg-mono-03 {
  background-color: var(--clr-mono-03);
}

.bg-mono-04 {
  background-color: var(--clr-mono-04);
}

.bg-mono-05 {
  background-color: var(--clr-mono-05);
}

.bg-mono-06 {
  background-color: var(--clr-mono-06);
}

.bg-mono-04_2 {
  background-color: var(--clr-mono-04_2);
}

.bg-text-primary {
  background-color: var(--clr-text-primary);
}

.bg-text-primary2 {
  background-color: var(--clr-text-primary2);
}

.bg-text-secondary {
  background-color: var(--clr-text-secondary);
}

.bg-text-placeholder {
  background-color: var(--clr-text-placeholder);
}

.bg-text-light {
  background-color: var(--clr-text-light);
}

.bg-r-text-blue {
  background-color: var(--color-text-blue);
}

.bg-wht {
  background-color: var(--clr-wht);
}

.bg-blk {
  background-color: var(--clr-blk);
}

.bg-green {
  background-color: var(--clr-green);
}

.bg-r-bg-dark {
  background-color: var(--color-bg-dark);
}

.bg-r-bg-lightgreen {
  background-color: var(--color-bg-lightgreen);
}

.bg-r-bg-blue {
  background-color: var(--color-bg-blue);
}

.bg-01 {
  background-color: var(--clr-bg-01);
}

.bg-02 {
  background-color: var(--clr-bg-02);
}

@media print, screen and (min-width: 48em) {
  .pc-none {
    display: none;
  }
}
@media screen and (max-width: 47.9375em) {
  .sp-none {
    display: none;
  }
}
/* img
********************************************** */
.img-ctr {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.img-trim {
  display: flex;
  justify-content: center;
  align-items: center;
}

.trim-widescreen {
  aspect-ratio: 3/2;
}

.trim-square {
  aspect-ratio: 1/1;
}

.trim-portrait {
  aspect-ratio: 2/3;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.img-contain {
  object-fit: contain;
}

.mgn-btm0 {
  margin-bottom: 0rem;
}

.mgn-btm2 {
  margin-bottom: 0.125rem;
}

.mgn-btm4 {
  margin-bottom: 0.25rem;
}

.mgn-btm6 {
  margin-bottom: 0.375rem;
}

.mgn-btm8 {
  margin-bottom: 0.5rem;
}

.mgn-btm10 {
  margin-bottom: 0.625rem;
}

.mgn-btm12 {
  margin-bottom: 0.75rem;
}

.mgn-btm14 {
  margin-bottom: 0.875rem;
}

.mgn-btm16 {
  margin-bottom: 1rem;
}

.mgn-btm18 {
  margin-bottom: 1.125rem;
}

.mgn-btm20 {
  margin-bottom: 1.25rem;
}

.mgn-btm22 {
  margin-bottom: 1.375rem;
}

.mgn-btm24 {
  margin-bottom: 1.5rem;
}

.mgn-btm26 {
  margin-bottom: 1.625rem;
}

.mgn-btm28 {
  margin-bottom: 1.75rem;
}

.mgn-btm30 {
  margin-bottom: 1.875rem;
}

.mgn-btm32 {
  margin-bottom: 2rem;
}

.mgn-btm34 {
  margin-bottom: 2.125rem;
}

.mgn-btm36 {
  margin-bottom: 2.25rem;
}

.mgn-btm38 {
  margin-bottom: 2.375rem;
}

.mgn-btm40 {
  margin-bottom: 2.5rem;
}

.mgn-btm42 {
  margin-bottom: 2.625rem;
}

.mgn-btm44 {
  margin-bottom: 2.75rem;
}

.mgn-btm46 {
  margin-bottom: 2.875rem;
}

.mgn-btm48 {
  margin-bottom: 3rem;
}

.mgn-btm50 {
  margin-bottom: 3.125rem;
}

.mgn-btm52 {
  margin-bottom: 3.25rem;
}

.mgn-btm54 {
  margin-bottom: 3.375rem;
}

.mgn-btm56 {
  margin-bottom: 3.5rem;
}

.mgn-btm58 {
  margin-bottom: 3.625rem;
}

.mgn-btm60 {
  margin-bottom: 3.75rem;
}

.mgn-btm62 {
  margin-bottom: 3.875rem;
}

.mgn-btm64 {
  margin-bottom: 4rem;
}

.mgn-btm66 {
  margin-bottom: 4.125rem;
}

.mgn-btm68 {
  margin-bottom: 4.25rem;
}

.mgn-btm70 {
  margin-bottom: 4.375rem;
}

.mgn-btm72 {
  margin-bottom: 4.5rem;
}

.mgn-btm74 {
  margin-bottom: 4.625rem;
}

.mgn-btm76 {
  margin-bottom: 4.75rem;
}

.mgn-btm78 {
  margin-bottom: 4.875rem;
}

.mgn-btm80 {
  margin-bottom: 5rem;
}

.mgn-btm82 {
  margin-bottom: 5.125rem;
}

.mgn-btm84 {
  margin-bottom: 5.25rem;
}

.mgn-btm86 {
  margin-bottom: 5.375rem;
}

.mgn-btm88 {
  margin-bottom: 5.5rem;
}

.mgn-btm90 {
  margin-bottom: 5.625rem;
}

.mgn-btm92 {
  margin-bottom: 5.75rem;
}

.mgn-btm94 {
  margin-bottom: 5.875rem;
}

.mgn-btm96 {
  margin-bottom: 6rem;
}

.mgn-btm98 {
  margin-bottom: 6.125rem;
}

.mgn-btm100 {
  margin-bottom: 6.25rem;
}

.mgn-btm102 {
  margin-bottom: 6.375rem;
}

.mgn-btm104 {
  margin-bottom: 6.5rem;
}

.mgn-btm106 {
  margin-bottom: 6.625rem;
}

.mgn-btm108 {
  margin-bottom: 6.75rem;
}

.mgn-btm110 {
  margin-bottom: 6.875rem;
}

.mgn-btm112 {
  margin-bottom: 7rem;
}

.mgn-btm114 {
  margin-bottom: 7.125rem;
}

.mgn-btm116 {
  margin-bottom: 7.25rem;
}

.mgn-btm118 {
  margin-bottom: 7.375rem;
}

.mgn-btm120 {
  margin-bottom: 7.5rem;
}

.mgn-btm122 {
  margin-bottom: 7.625rem;
}

.mgn-btm124 {
  margin-bottom: 7.75rem;
}

.mgn-btm126 {
  margin-bottom: 7.875rem;
}

.mgn-btm128 {
  margin-bottom: 8rem;
}

.mgn-btm130 {
  margin-bottom: 8.125rem;
}

.mgn-btm132 {
  margin-bottom: 8.25rem;
}

.mgn-btm134 {
  margin-bottom: 8.375rem;
}

.mgn-btm136 {
  margin-bottom: 8.5rem;
}

.mgn-btm138 {
  margin-bottom: 8.625rem;
}

.mgn-btm140 {
  margin-bottom: 8.75rem;
}

.mgn-btm142 {
  margin-bottom: 8.875rem;
}

.mgn-btm144 {
  margin-bottom: 9rem;
}

.mgn-btm146 {
  margin-bottom: 9.125rem;
}

.mgn-btm148 {
  margin-bottom: 9.25rem;
}

.mgn-btm150 {
  margin-bottom: 9.375rem;
}

.mgn-btm152 {
  margin-bottom: 9.5rem;
}

.mgn-btm154 {
  margin-bottom: 9.625rem;
}

.mgn-btm156 {
  margin-bottom: 9.75rem;
}

.mgn-btm158 {
  margin-bottom: 9.875rem;
}

.mgn-btm160 {
  margin-bottom: 10rem;
}

.mgn-btm162 {
  margin-bottom: 10.125rem;
}

.mgn-btm164 {
  margin-bottom: 10.25rem;
}

.mgn-btm166 {
  margin-bottom: 10.375rem;
}

.mgn-btm168 {
  margin-bottom: 10.5rem;
}

.mgn-btm170 {
  margin-bottom: 10.625rem;
}

.mgn-btm172 {
  margin-bottom: 10.75rem;
}

.mgn-btm174 {
  margin-bottom: 10.875rem;
}

.mgn-btm176 {
  margin-bottom: 11rem;
}

.mgn-btm178 {
  margin-bottom: 11.125rem;
}

.mgn-btm180 {
  margin-bottom: 11.25rem;
}

.mgn-btm0_nolh {
  margin-bottom: calc(0rem - (0.5lh - 0.5em));
}

.mgn-btm2_nolh {
  margin-bottom: calc(0.125rem - (0.5lh - 0.5em));
}

.mgn-btm4_nolh {
  margin-bottom: calc(0.25rem - (0.5lh - 0.5em));
}

.mgn-btm6_nolh {
  margin-bottom: calc(0.375rem - (0.5lh - 0.5em));
}

.mgn-btm8_nolh {
  margin-bottom: calc(0.5rem - (0.5lh - 0.5em));
}

.mgn-btm10_nolh {
  margin-bottom: calc(0.625rem - (0.5lh - 0.5em));
}

.mgn-btm12_nolh {
  margin-bottom: calc(0.75rem - (0.5lh - 0.5em));
}

.mgn-btm14_nolh {
  margin-bottom: calc(0.875rem - (0.5lh - 0.5em));
}

.mgn-btm16_nolh {
  margin-bottom: calc(1rem - (0.5lh - 0.5em));
}

.mgn-btm18_nolh {
  margin-bottom: calc(1.125rem - (0.5lh - 0.5em));
}

.mgn-btm20_nolh {
  margin-bottom: calc(1.25rem - (0.5lh - 0.5em));
}

.mgn-btm22_nolh {
  margin-bottom: calc(1.375rem - (0.5lh - 0.5em));
}

.mgn-btm24_nolh {
  margin-bottom: calc(1.5rem - (0.5lh - 0.5em));
}

.mgn-btm26_nolh {
  margin-bottom: calc(1.625rem - (0.5lh - 0.5em));
}

.mgn-btm28_nolh {
  margin-bottom: calc(1.75rem - (0.5lh - 0.5em));
}

.mgn-btm30_nolh {
  margin-bottom: calc(1.875rem - (0.5lh - 0.5em));
}

.mgn-btm32_nolh {
  margin-bottom: calc(2rem - (0.5lh - 0.5em));
}

.mgn-btm34_nolh {
  margin-bottom: calc(2.125rem - (0.5lh - 0.5em));
}

.mgn-btm36_nolh {
  margin-bottom: calc(2.25rem - (0.5lh - 0.5em));
}

.mgn-btm38_nolh {
  margin-bottom: calc(2.375rem - (0.5lh - 0.5em));
}

.mgn-btm40_nolh {
  margin-bottom: calc(2.5rem - (0.5lh - 0.5em));
}

.mgn-btm42_nolh {
  margin-bottom: calc(2.625rem - (0.5lh - 0.5em));
}

.mgn-btm44_nolh {
  margin-bottom: calc(2.75rem - (0.5lh - 0.5em));
}

.mgn-btm46_nolh {
  margin-bottom: calc(2.875rem - (0.5lh - 0.5em));
}

.mgn-btm48_nolh {
  margin-bottom: calc(3rem - (0.5lh - 0.5em));
}

.mgn-btm50_nolh {
  margin-bottom: calc(3.125rem - (0.5lh - 0.5em));
}

.mgn-btm52_nolh {
  margin-bottom: calc(3.25rem - (0.5lh - 0.5em));
}

.mgn-btm54_nolh {
  margin-bottom: calc(3.375rem - (0.5lh - 0.5em));
}

.mgn-btm56_nolh {
  margin-bottom: calc(3.5rem - (0.5lh - 0.5em));
}

.mgn-btm58_nolh {
  margin-bottom: calc(3.625rem - (0.5lh - 0.5em));
}

.mgn-btm60_nolh {
  margin-bottom: calc(3.75rem - (0.5lh - 0.5em));
}

.mgn-btm62_nolh {
  margin-bottom: calc(3.875rem - (0.5lh - 0.5em));
}

.mgn-btm64_nolh {
  margin-bottom: calc(4rem - (0.5lh - 0.5em));
}

.mgn-btm66_nolh {
  margin-bottom: calc(4.125rem - (0.5lh - 0.5em));
}

.mgn-btm68_nolh {
  margin-bottom: calc(4.25rem - (0.5lh - 0.5em));
}

.mgn-btm70_nolh {
  margin-bottom: calc(4.375rem - (0.5lh - 0.5em));
}

.mgn-btm72_nolh {
  margin-bottom: calc(4.5rem - (0.5lh - 0.5em));
}

.mgn-btm74_nolh {
  margin-bottom: calc(4.625rem - (0.5lh - 0.5em));
}

.mgn-btm76_nolh {
  margin-bottom: calc(4.75rem - (0.5lh - 0.5em));
}

.mgn-btm78_nolh {
  margin-bottom: calc(4.875rem - (0.5lh - 0.5em));
}

.mgn-btm80_nolh {
  margin-bottom: calc(5rem - (0.5lh - 0.5em));
}

.mgn-btm82_nolh {
  margin-bottom: calc(5.125rem - (0.5lh - 0.5em));
}

.mgn-btm84_nolh {
  margin-bottom: calc(5.25rem - (0.5lh - 0.5em));
}

.mgn-btm86_nolh {
  margin-bottom: calc(5.375rem - (0.5lh - 0.5em));
}

.mgn-btm88_nolh {
  margin-bottom: calc(5.5rem - (0.5lh - 0.5em));
}

.mgn-btm90_nolh {
  margin-bottom: calc(5.625rem - (0.5lh - 0.5em));
}

.mgn-btm92_nolh {
  margin-bottom: calc(5.75rem - (0.5lh - 0.5em));
}

.mgn-btm94_nolh {
  margin-bottom: calc(5.875rem - (0.5lh - 0.5em));
}

.mgn-btm96_nolh {
  margin-bottom: calc(6rem - (0.5lh - 0.5em));
}

.mgn-btm98_nolh {
  margin-bottom: calc(6.125rem - (0.5lh - 0.5em));
}

.mgn-btm100_nolh {
  margin-bottom: calc(6.25rem - (0.5lh - 0.5em));
}

.mgn-btm102_nolh {
  margin-bottom: calc(6.375rem - (0.5lh - 0.5em));
}

.mgn-btm104_nolh {
  margin-bottom: calc(6.5rem - (0.5lh - 0.5em));
}

.mgn-btm106_nolh {
  margin-bottom: calc(6.625rem - (0.5lh - 0.5em));
}

.mgn-btm108_nolh {
  margin-bottom: calc(6.75rem - (0.5lh - 0.5em));
}

.mgn-btm110_nolh {
  margin-bottom: calc(6.875rem - (0.5lh - 0.5em));
}

.mgn-btm112_nolh {
  margin-bottom: calc(7rem - (0.5lh - 0.5em));
}

.mgn-btm114_nolh {
  margin-bottom: calc(7.125rem - (0.5lh - 0.5em));
}

.mgn-btm116_nolh {
  margin-bottom: calc(7.25rem - (0.5lh - 0.5em));
}

.mgn-btm118_nolh {
  margin-bottom: calc(7.375rem - (0.5lh - 0.5em));
}

.mgn-btm120_nolh {
  margin-bottom: calc(7.5rem - (0.5lh - 0.5em));
}

.mgn-btm122_nolh {
  margin-bottom: calc(7.625rem - (0.5lh - 0.5em));
}

.mgn-btm124_nolh {
  margin-bottom: calc(7.75rem - (0.5lh - 0.5em));
}

.mgn-btm126_nolh {
  margin-bottom: calc(7.875rem - (0.5lh - 0.5em));
}

.mgn-btm128_nolh {
  margin-bottom: calc(8rem - (0.5lh - 0.5em));
}

.mgn-btm130_nolh {
  margin-bottom: calc(8.125rem - (0.5lh - 0.5em));
}

.mgn-btm132_nolh {
  margin-bottom: calc(8.25rem - (0.5lh - 0.5em));
}

.mgn-btm134_nolh {
  margin-bottom: calc(8.375rem - (0.5lh - 0.5em));
}

.mgn-btm136_nolh {
  margin-bottom: calc(8.5rem - (0.5lh - 0.5em));
}

.mgn-btm138_nolh {
  margin-bottom: calc(8.625rem - (0.5lh - 0.5em));
}

.mgn-btm140_nolh {
  margin-bottom: calc(8.75rem - (0.5lh - 0.5em));
}

.mgn-btm142_nolh {
  margin-bottom: calc(8.875rem - (0.5lh - 0.5em));
}

.mgn-btm144_nolh {
  margin-bottom: calc(9rem - (0.5lh - 0.5em));
}

.mgn-btm146_nolh {
  margin-bottom: calc(9.125rem - (0.5lh - 0.5em));
}

.mgn-btm148_nolh {
  margin-bottom: calc(9.25rem - (0.5lh - 0.5em));
}

.mgn-btm150_nolh {
  margin-bottom: calc(9.375rem - (0.5lh - 0.5em));
}

.mgn-btm152_nolh {
  margin-bottom: calc(9.5rem - (0.5lh - 0.5em));
}

.mgn-btm154_nolh {
  margin-bottom: calc(9.625rem - (0.5lh - 0.5em));
}

.mgn-btm156_nolh {
  margin-bottom: calc(9.75rem - (0.5lh - 0.5em));
}

.mgn-btm158_nolh {
  margin-bottom: calc(9.875rem - (0.5lh - 0.5em));
}

.mgn-btm160_nolh {
  margin-bottom: calc(10rem - (0.5lh - 0.5em));
}

.mgn-btm162_nolh {
  margin-bottom: calc(10.125rem - (0.5lh - 0.5em));
}

.mgn-btm164_nolh {
  margin-bottom: calc(10.25rem - (0.5lh - 0.5em));
}

.mgn-btm166_nolh {
  margin-bottom: calc(10.375rem - (0.5lh - 0.5em));
}

.mgn-btm168_nolh {
  margin-bottom: calc(10.5rem - (0.5lh - 0.5em));
}

.mgn-btm170_nolh {
  margin-bottom: calc(10.625rem - (0.5lh - 0.5em));
}

.mgn-btm172_nolh {
  margin-bottom: calc(10.75rem - (0.5lh - 0.5em));
}

.mgn-btm174_nolh {
  margin-bottom: calc(10.875rem - (0.5lh - 0.5em));
}

.mgn-btm176_nolh {
  margin-bottom: calc(11rem - (0.5lh - 0.5em));
}

.mgn-btm178_nolh {
  margin-bottom: calc(11.125rem - (0.5lh - 0.5em));
}

.mgn-btm180_nolh {
  margin-bottom: calc(11.25rem - (0.5lh - 0.5em));
}

@media screen and (max-width: 47.9375em) {
  .mgn-btm0 {
    margin-bottom: 0rem;
  }
  .mgn-btm-sp0 {
    margin-bottom: 0rem !important;
  }
  .mgn-btm2 {
    margin-bottom: 0.0714285714rem;
  }
  .mgn-btm-sp2 {
    margin-bottom: 0.1428571429rem !important;
  }
  .mgn-btm4 {
    margin-bottom: 0.1428571429rem;
  }
  .mgn-btm-sp4 {
    margin-bottom: 0.2857142857rem !important;
  }
  .mgn-btm6 {
    margin-bottom: 0.2142857143rem;
  }
  .mgn-btm-sp6 {
    margin-bottom: 0.4285714286rem !important;
  }
  .mgn-btm8 {
    margin-bottom: 0.2857142857rem;
  }
  .mgn-btm-sp8 {
    margin-bottom: 0.5714285714rem !important;
  }
  .mgn-btm10 {
    margin-bottom: 0.3571428571rem;
  }
  .mgn-btm-sp10 {
    margin-bottom: 0.7142857143rem !important;
  }
  .mgn-btm12 {
    margin-bottom: 0.4285714286rem;
  }
  .mgn-btm-sp12 {
    margin-bottom: 0.8571428571rem !important;
  }
  .mgn-btm14 {
    margin-bottom: 0.5rem;
  }
  .mgn-btm-sp14 {
    margin-bottom: 1rem !important;
  }
  .mgn-btm16 {
    margin-bottom: 0.5714285714rem;
  }
  .mgn-btm-sp16 {
    margin-bottom: 1.1428571429rem !important;
  }
  .mgn-btm18 {
    margin-bottom: 0.6428571429rem;
  }
  .mgn-btm-sp18 {
    margin-bottom: 1.2857142857rem !important;
  }
  .mgn-btm20 {
    margin-bottom: 0.7142857143rem;
  }
  .mgn-btm-sp20 {
    margin-bottom: 1.4285714286rem !important;
  }
  .mgn-btm22 {
    margin-bottom: 0.7857142857rem;
  }
  .mgn-btm-sp22 {
    margin-bottom: 1.5714285714rem !important;
  }
  .mgn-btm24 {
    margin-bottom: 0.8571428571rem;
  }
  .mgn-btm-sp24 {
    margin-bottom: 1.7142857143rem !important;
  }
  .mgn-btm26 {
    margin-bottom: 0.9285714286rem;
  }
  .mgn-btm-sp26 {
    margin-bottom: 1.8571428571rem !important;
  }
  .mgn-btm28 {
    margin-bottom: 1rem;
  }
  .mgn-btm-sp28 {
    margin-bottom: 2rem !important;
  }
  .mgn-btm30 {
    margin-bottom: 1.0714285714rem;
  }
  .mgn-btm-sp30 {
    margin-bottom: 2.1428571429rem !important;
  }
  .mgn-btm32 {
    margin-bottom: 1.1428571429rem;
  }
  .mgn-btm-sp32 {
    margin-bottom: 2.2857142857rem !important;
  }
  .mgn-btm34 {
    margin-bottom: 1.2142857143rem;
  }
  .mgn-btm-sp34 {
    margin-bottom: 2.4285714286rem !important;
  }
  .mgn-btm36 {
    margin-bottom: 1.2857142857rem;
  }
  .mgn-btm-sp36 {
    margin-bottom: 2.5714285714rem !important;
  }
  .mgn-btm38 {
    margin-bottom: 1.3571428571rem;
  }
  .mgn-btm-sp38 {
    margin-bottom: 2.7142857143rem !important;
  }
  .mgn-btm40 {
    margin-bottom: 1.4285714286rem;
  }
  .mgn-btm-sp40 {
    margin-bottom: 2.8571428571rem !important;
  }
  .mgn-btm42 {
    margin-bottom: 1.5rem;
  }
  .mgn-btm-sp42 {
    margin-bottom: 3rem !important;
  }
  .mgn-btm44 {
    margin-bottom: 1.5714285714rem;
  }
  .mgn-btm-sp44 {
    margin-bottom: 3.1428571429rem !important;
  }
  .mgn-btm46 {
    margin-bottom: 1.6428571429rem;
  }
  .mgn-btm-sp46 {
    margin-bottom: 3.2857142857rem !important;
  }
  .mgn-btm48 {
    margin-bottom: 1.7142857143rem;
  }
  .mgn-btm-sp48 {
    margin-bottom: 3.4285714286rem !important;
  }
  .mgn-btm50 {
    margin-bottom: 1.7857142857rem;
  }
  .mgn-btm-sp50 {
    margin-bottom: 3.5714285714rem !important;
  }
  .mgn-btm52 {
    margin-bottom: 1.8571428571rem;
  }
  .mgn-btm-sp52 {
    margin-bottom: 3.7142857143rem !important;
  }
  .mgn-btm54 {
    margin-bottom: 1.9285714286rem;
  }
  .mgn-btm-sp54 {
    margin-bottom: 3.8571428571rem !important;
  }
  .mgn-btm56 {
    margin-bottom: 2rem;
  }
  .mgn-btm-sp56 {
    margin-bottom: 4rem !important;
  }
  .mgn-btm58 {
    margin-bottom: 2.0714285714rem;
  }
  .mgn-btm-sp58 {
    margin-bottom: 4.1428571429rem !important;
  }
  .mgn-btm60 {
    margin-bottom: 2.1428571429rem;
  }
  .mgn-btm-sp60 {
    margin-bottom: 4.2857142857rem !important;
  }
  .mgn-btm62 {
    margin-bottom: 2.2142857143rem;
  }
  .mgn-btm-sp62 {
    margin-bottom: 4.4285714286rem !important;
  }
  .mgn-btm64 {
    margin-bottom: 2.2857142857rem;
  }
  .mgn-btm-sp64 {
    margin-bottom: 4.5714285714rem !important;
  }
  .mgn-btm66 {
    margin-bottom: 2.3571428571rem;
  }
  .mgn-btm-sp66 {
    margin-bottom: 4.7142857143rem !important;
  }
  .mgn-btm68 {
    margin-bottom: 2.4285714286rem;
  }
  .mgn-btm-sp68 {
    margin-bottom: 4.8571428571rem !important;
  }
  .mgn-btm70 {
    margin-bottom: 2.5rem;
  }
  .mgn-btm-sp70 {
    margin-bottom: 5rem !important;
  }
  .mgn-btm72 {
    margin-bottom: 2.5714285714rem;
  }
  .mgn-btm-sp72 {
    margin-bottom: 5.1428571429rem !important;
  }
  .mgn-btm74 {
    margin-bottom: 2.6428571429rem;
  }
  .mgn-btm-sp74 {
    margin-bottom: 5.2857142857rem !important;
  }
  .mgn-btm76 {
    margin-bottom: 2.7142857143rem;
  }
  .mgn-btm-sp76 {
    margin-bottom: 5.4285714286rem !important;
  }
  .mgn-btm78 {
    margin-bottom: 2.7857142857rem;
  }
  .mgn-btm-sp78 {
    margin-bottom: 5.5714285714rem !important;
  }
  .mgn-btm80 {
    margin-bottom: 2.8571428571rem;
  }
  .mgn-btm-sp80 {
    margin-bottom: 5.7142857143rem !important;
  }
  .mgn-btm82 {
    margin-bottom: 2.9285714286rem;
  }
  .mgn-btm-sp82 {
    margin-bottom: 5.8571428571rem !important;
  }
  .mgn-btm84 {
    margin-bottom: 3rem;
  }
  .mgn-btm-sp84 {
    margin-bottom: 6rem !important;
  }
  .mgn-btm86 {
    margin-bottom: 3.0714285714rem;
  }
  .mgn-btm-sp86 {
    margin-bottom: 6.1428571429rem !important;
  }
  .mgn-btm88 {
    margin-bottom: 3.1428571429rem;
  }
  .mgn-btm-sp88 {
    margin-bottom: 6.2857142857rem !important;
  }
  .mgn-btm90 {
    margin-bottom: 3.2142857143rem;
  }
  .mgn-btm-sp90 {
    margin-bottom: 6.4285714286rem !important;
  }
  .mgn-btm92 {
    margin-bottom: 3.2857142857rem;
  }
  .mgn-btm-sp92 {
    margin-bottom: 6.5714285714rem !important;
  }
  .mgn-btm94 {
    margin-bottom: 3.3571428571rem;
  }
  .mgn-btm-sp94 {
    margin-bottom: 6.7142857143rem !important;
  }
  .mgn-btm96 {
    margin-bottom: 3.4285714286rem;
  }
  .mgn-btm-sp96 {
    margin-bottom: 6.8571428571rem !important;
  }
  .mgn-btm98 {
    margin-bottom: 3.5rem;
  }
  .mgn-btm-sp98 {
    margin-bottom: 7rem !important;
  }
  .mgn-btm100 {
    margin-bottom: 3.5714285714rem;
  }
  .mgn-btm-sp100 {
    margin-bottom: 7.1428571429rem !important;
  }
  .mgn-btm102 {
    margin-bottom: 3.6428571429rem;
  }
  .mgn-btm-sp102 {
    margin-bottom: 7.2857142857rem !important;
  }
  .mgn-btm104 {
    margin-bottom: 3.7142857143rem;
  }
  .mgn-btm-sp104 {
    margin-bottom: 7.4285714286rem !important;
  }
  .mgn-btm106 {
    margin-bottom: 3.7857142857rem;
  }
  .mgn-btm-sp106 {
    margin-bottom: 7.5714285714rem !important;
  }
  .mgn-btm108 {
    margin-bottom: 3.8571428571rem;
  }
  .mgn-btm-sp108 {
    margin-bottom: 7.7142857143rem !important;
  }
  .mgn-btm110 {
    margin-bottom: 3.9285714286rem;
  }
  .mgn-btm-sp110 {
    margin-bottom: 7.8571428571rem !important;
  }
  .mgn-btm112 {
    margin-bottom: 4rem;
  }
  .mgn-btm-sp112 {
    margin-bottom: 8rem !important;
  }
  .mgn-btm114 {
    margin-bottom: 4.0714285714rem;
  }
  .mgn-btm-sp114 {
    margin-bottom: 8.1428571429rem !important;
  }
  .mgn-btm116 {
    margin-bottom: 4.1428571429rem;
  }
  .mgn-btm-sp116 {
    margin-bottom: 8.2857142857rem !important;
  }
  .mgn-btm118 {
    margin-bottom: 4.2142857143rem;
  }
  .mgn-btm-sp118 {
    margin-bottom: 8.4285714286rem !important;
  }
  .mgn-btm120 {
    margin-bottom: 4.2857142857rem;
  }
  .mgn-btm-sp120 {
    margin-bottom: 8.5714285714rem !important;
  }
  .mgn-btm122 {
    margin-bottom: 4.3571428571rem;
  }
  .mgn-btm-sp122 {
    margin-bottom: 8.7142857143rem !important;
  }
  .mgn-btm124 {
    margin-bottom: 4.4285714286rem;
  }
  .mgn-btm-sp124 {
    margin-bottom: 8.8571428571rem !important;
  }
  .mgn-btm126 {
    margin-bottom: 4.5rem;
  }
  .mgn-btm-sp126 {
    margin-bottom: 9rem !important;
  }
  .mgn-btm128 {
    margin-bottom: 4.5714285714rem;
  }
  .mgn-btm-sp128 {
    margin-bottom: 9.1428571429rem !important;
  }
  .mgn-btm130 {
    margin-bottom: 4.6428571429rem;
  }
  .mgn-btm-sp130 {
    margin-bottom: 9.2857142857rem !important;
  }
  .mgn-btm132 {
    margin-bottom: 4.7142857143rem;
  }
  .mgn-btm-sp132 {
    margin-bottom: 9.4285714286rem !important;
  }
  .mgn-btm134 {
    margin-bottom: 4.7857142857rem;
  }
  .mgn-btm-sp134 {
    margin-bottom: 9.5714285714rem !important;
  }
  .mgn-btm136 {
    margin-bottom: 4.8571428571rem;
  }
  .mgn-btm-sp136 {
    margin-bottom: 9.7142857143rem !important;
  }
  .mgn-btm138 {
    margin-bottom: 4.9285714286rem;
  }
  .mgn-btm-sp138 {
    margin-bottom: 9.8571428571rem !important;
  }
  .mgn-btm140 {
    margin-bottom: 5rem;
  }
  .mgn-btm-sp140 {
    margin-bottom: 10rem !important;
  }
  .mgn-btm142 {
    margin-bottom: 5.0714285714rem;
  }
  .mgn-btm-sp142 {
    margin-bottom: 10.1428571429rem !important;
  }
  .mgn-btm144 {
    margin-bottom: 5.1428571429rem;
  }
  .mgn-btm-sp144 {
    margin-bottom: 10.2857142857rem !important;
  }
  .mgn-btm146 {
    margin-bottom: 5.2142857143rem;
  }
  .mgn-btm-sp146 {
    margin-bottom: 10.4285714286rem !important;
  }
  .mgn-btm148 {
    margin-bottom: 5.2857142857rem;
  }
  .mgn-btm-sp148 {
    margin-bottom: 10.5714285714rem !important;
  }
  .mgn-btm150 {
    margin-bottom: 5.3571428571rem;
  }
  .mgn-btm-sp150 {
    margin-bottom: 10.7142857143rem !important;
  }
  .mgn-btm152 {
    margin-bottom: 5.4285714286rem;
  }
  .mgn-btm-sp152 {
    margin-bottom: 10.8571428571rem !important;
  }
  .mgn-btm154 {
    margin-bottom: 5.5rem;
  }
  .mgn-btm-sp154 {
    margin-bottom: 11rem !important;
  }
  .mgn-btm156 {
    margin-bottom: 5.5714285714rem;
  }
  .mgn-btm-sp156 {
    margin-bottom: 11.1428571429rem !important;
  }
  .mgn-btm158 {
    margin-bottom: 5.6428571429rem;
  }
  .mgn-btm-sp158 {
    margin-bottom: 11.2857142857rem !important;
  }
  .mgn-btm160 {
    margin-bottom: 5.7142857143rem;
  }
  .mgn-btm-sp160 {
    margin-bottom: 11.4285714286rem !important;
  }
  .mgn-btm162 {
    margin-bottom: 5.7857142857rem;
  }
  .mgn-btm-sp162 {
    margin-bottom: 11.5714285714rem !important;
  }
  .mgn-btm164 {
    margin-bottom: 5.8571428571rem;
  }
  .mgn-btm-sp164 {
    margin-bottom: 11.7142857143rem !important;
  }
  .mgn-btm166 {
    margin-bottom: 5.9285714286rem;
  }
  .mgn-btm-sp166 {
    margin-bottom: 11.8571428571rem !important;
  }
  .mgn-btm168 {
    margin-bottom: 6rem;
  }
  .mgn-btm-sp168 {
    margin-bottom: 12rem !important;
  }
  .mgn-btm170 {
    margin-bottom: 6.0714285714rem;
  }
  .mgn-btm-sp170 {
    margin-bottom: 12.1428571429rem !important;
  }
  .mgn-btm172 {
    margin-bottom: 6.1428571429rem;
  }
  .mgn-btm-sp172 {
    margin-bottom: 12.2857142857rem !important;
  }
  .mgn-btm174 {
    margin-bottom: 6.2142857143rem;
  }
  .mgn-btm-sp174 {
    margin-bottom: 12.4285714286rem !important;
  }
  .mgn-btm176 {
    margin-bottom: 6.2857142857rem;
  }
  .mgn-btm-sp176 {
    margin-bottom: 12.5714285714rem !important;
  }
  .mgn-btm178 {
    margin-bottom: 6.3571428571rem;
  }
  .mgn-btm-sp178 {
    margin-bottom: 12.7142857143rem !important;
  }
  .mgn-btm180 {
    margin-bottom: 6.4285714286rem;
  }
  .mgn-btm-sp180 {
    margin-bottom: 12.8571428571rem !important;
  }
}
.mgn0em {
  margin: 0em;
}

.mgn-btm0em {
  margin-bottom: 0em;
}

.mgn1em {
  margin: 1em;
}

.mgn-btm1em {
  margin-bottom: 1em;
}

.mgn2em {
  margin: 2em;
}

.mgn-btm2em {
  margin-bottom: 2em;
}

.mgn3em {
  margin: 3em;
}

.mgn-btm3em {
  margin-bottom: 3em;
}

.mgn4em {
  margin: 4em;
}

.mgn-btm4em {
  margin-bottom: 4em;
}

.mgn5em {
  margin: 5em;
}

.mgn-btm5em {
  margin-bottom: 5em;
}

.mgn6em {
  margin: 6em;
}

.mgn-btm6em {
  margin-bottom: 6em;
}

.mgn7em {
  margin: 7em;
}

.mgn-btm7em {
  margin-bottom: 7em;
}

.mgn8em {
  margin: 8em;
}

.mgn-btm8em {
  margin-bottom: 8em;
}

.mgn9em {
  margin: 9em;
}

.mgn-btm9em {
  margin-bottom: 9em;
}

.mgn10em {
  margin: 10em;
}

.mgn-btm10em {
  margin-bottom: 10em;
}

.mgn11em {
  margin: 11em;
}

.mgn-btm11em {
  margin-bottom: 11em;
}

.mgn12em {
  margin: 12em;
}

.mgn-btm12em {
  margin-bottom: 12em;
}

.mgn13em {
  margin: 13em;
}

.mgn-btm13em {
  margin-bottom: 13em;
}

.mgn14em {
  margin: 14em;
}

.mgn-btm14em {
  margin-bottom: 14em;
}

.mgn15em {
  margin: 15em;
}

.mgn-btm15em {
  margin-bottom: 15em;
}

/* --- position --- */
.pos-rel {
  position: relative;
}

.pos-ab {
  position: absolute;
}

.pos-fx {
  position: fixed;
}

@keyframes slideitem {
  0% {
    translate: 0 0;
  }
  100% {
    translate: -100% 0;
  }
}
@keyframes slideitem2 {
  0% {
    translate: -100% 0;
  }
  100% {
    translate: 0 0;
  }
}
@keyframes slideitem-v {
  0% {
    translate: 0 0%;
  }
  100% {
    translate: 0 -100%;
  }
}
@keyframes slideitem-v2 {
  0% {
    translate: 0 -100%;
  }
  100% {
    translate: 0 0;
  }
}
@keyframes clip-from_left {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* 360度の扇形にアニメーションしていく */
/* 無限アニメーション
********************************************** */
.loop_wrap {
  display: flex;
  width: 100vw;
  overflow-x: clip;
  margin-inline: calc(50% - 50vw);
}

.loop_wrap-v {
  display: flex;
  overflow-y: clip;
}
@media print, screen and (min-width: 48em) {
  .loop_wrap-v {
    flex-direction: column;
    height: 100vh;
  }
}
@media screen and (max-width: 47.9375em) {
  .loop_wrap-v {
    flex-direction: row;
    overflow-x: clip;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
}

.flow--img {
  flex-shrink: 0;
  white-space: nowrap;
  transform: translateZ(0);
  transition: transform 0.4s;
}
@media screen and (max-width: 47.9375em) {
  .flow--img {
    will-change: transform;
    transform: translateZ(0);
  }
}
.loop_wrap:not(.no-tick) .flow--img {
  animation: loop2-h linear var(--tick-duration, 28s) 0s infinite;
}
.flow--img > img {
  margin-inline: 1.5rem;
}
.flow--img > p {
  margin-inline: 0.5rem;
}

.loop_wrap:not(.no-tick) .flow--img.reverse:nth-child(odd) {
  animation: loop-h var(--tick-duration, 60s) var(--tick-delay, -30s) infinite linear reverse;
}
.loop_wrap:not(.no-tick) .flow--img.reverse:nth-child(even) {
  animation: loop2-h var(--tick-duration, 60s) infinite linear reverse;
}

@media screen and (max-width: 47.9375em) {
  .flow--img img {
    height: 14.2857142857rem;
    width: auto;
  }
}

@media screen and (max-width: 47.9375em) {
  .join_us_top .flow--img img {
    height: 5.5rem !important;
    width: auto;
  }
}

.flow--img-v {
  flex-shrink: 0;
  white-space: nowrap;
  transform: translateZ(0);
  transition: transform 0.4s;
}
@media screen and (max-width: 47.9375em) {
  .flow--img-v {
    will-change: transform;
    transform: translateZ(0);
  }
}
.loop_wrap-v:not(.no-tick) .flow--img-v:nth-child(odd) {
  animation: loop-v var(--tick-duration, 60s) var(--tick-delay, -30s) infinite linear;
  animation-fill-mode: both;
}
@media screen and (max-width: 47.9375em) {
  .loop_wrap-v:not(.no-tick) .flow--img-v:nth-child(odd) {
    animation: loop-h var(--tick-duration, 60s) var(--tick-delay, -30s) infinite linear;
  }
}
.loop_wrap-v:not(.no-tick) .flow--img-v:nth-child(even) {
  animation: loop2-v var(--tick-duration, 60s) infinite linear;
  animation-fill-mode: both;
}
@media screen and (max-width: 47.9375em) {
  .loop_wrap-v:not(.no-tick) .flow--img-v:nth-child(even) {
    animation: loop2-h var(--tick-duration, 60s) infinite linear;
  }
}
@media screen and (max-width: 47.9375em) {
  .flow--img-v.flex-column {
    flex-direction: row;
  }
}

.loop_wrap-v:not(.no-tick) .flow--img-v.reverse:nth-child(odd) {
  animation: loop-v var(--tick-duration, 60s) var(--tick-delay, -30s) infinite linear reverse;
}
@media screen and (max-width: 47.9375em) {
  .loop_wrap-v:not(.no-tick) .flow--img-v.reverse:nth-child(odd) {
    animation: loop-h var(--tick-duration, 60s) var(--tick-delay, -30s) infinite linear reverse;
  }
}
.loop_wrap-v:not(.no-tick) .flow--img-v.reverse:nth-child(even) {
  animation: loop2-v var(--tick-duration, 60s) infinite linear reverse;
}
@media screen and (max-width: 47.9375em) {
  .loop_wrap-v:not(.no-tick) .flow--img-v.reverse:nth-child(even) {
    animation: loop2-h var(--tick-duration, 60s) infinite linear reverse;
  }
}

/* 水平方向無限アニメーション
********************************************** */
@keyframes loop-h {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2-h {
  0% {
    translate: 0 0;
  }
  100% {
    translate: -100% 0;
  }
}
@keyframes loop3-h {
  0% {
    translate: -100% 0;
  }
  100% {
    translate: 0 0;
  }
}
@keyframes loop-v {
  0% {
    translate: 0 0;
  }
  100% {
    translate: 0 -100%;
  }
}
@keyframes loop2-h-reverse {
  0% {
    translate: -100% 0;
  }
  100% {
    translate: 0 0;
  }
}
@keyframes rotate {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}
@keyframes spread {
  from {
    opacity: 0;
    transform: translate(-50%, -50%);
  }
  to {
    opacity: 1;
    transform: translate(calc(var(--x) - 50%), calc(var(--y) - 50%));
  }
}
@keyframes mask-off {
  0% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
@keyframes mask-on {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes slide_up {
  0% {
    translate: 0 110%;
  }
  100% {
    translate: 0 0;
  }
}
/* js-slide_up
********************************************** */
[data-js-slide_up] .line-wrap {
  display: block;
  overflow: clip;
}
[data-js-slide_up] .line-wrap .line {
  display: block;
  translate: 0 100%;
  transition: 0.8s cubic-bezier(0, 0, 0, 1);
  animation: slide_up 0.8s cubic-bezier(0, 0, 0, 1) both;
}
[data-js-slide_up] .line-wrap:nth-child(1) .line {
  animation-delay: 4.6s;
}
[data-js-slide_up] .line-wrap:nth-child(2) .line {
  animation-delay: 4.7s;
}
[data-js-slide_up] .line-wrap:nth-child(3) .line {
  animation-delay: 4.8s;
}
[data-js-slide_up] .line-wrap:nth-child(4) .line {
  animation-delay: 4.9s;
}
[data-js-slide_up] .line-wrap:nth-child(5) .line {
  animation-delay: 5s;
}

/* 先輩社員インタビュー
********************************************** */
@keyframes bounceUpDown {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-12px);
  }
  65% {
    transform: translateY(4px);
  }
  100% {
    transform: translateY(0);
  }
}
/* ##############################################################################

    KEYFRAMES

############################################################################## */
.fadein {
  opacity: 0;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.active .fadein {
  opacity: 1;
}

.del-05 {
  transition-delay: 0.5s;
}

.del-10 {
  transition-delay: 1s;
}

.del-15 {
  transition-delay: 1.5s;
}

.del-20 {
  transition-delay: 2s;
}

.del-25 {
  transition-delay: 2.5s;
}

.del-30 {
  transition-delay: 3s;
}

.del-35 {
  transition-delay: 3.5s;
}

.del-40 {
  transition-delay: 4s;
}

.del-45 {
  transition-delay: 4.5s;
}

@keyframes btn-line {
  0% {
    transform: scale(1, 1);
  }
  50% {
    transform-origin: right top;
    transform: scale(0, 1);
  }
  51% {
    transform-origin: left top;
  }
  100% {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}
/* ##############################################################################

    COMMON

############################################################################## */
html {
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: clamp(14px, 0.8333333333vw, 1rem);
}
@media screen and (min-width: 48em) and (max-width: 67.5em) {
  html {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 47.9375em) {
  html {
    font-size: min(3.3816425121vw, 0.875rem);
  }
}

body {
  height: 100%;
  border-top: 1.25rem solid #109B3D;
  /* background: var(--clr-bg-01); */
  font-family: var(--font-jp-text);
}

/* コーポレート軸ページ用：本文ベースの文字サイズを少し大きくする */
body.page-404 {
  background: var(--clr-bg-01);
}

body.home {
  border: none;
}

@media screen and (max-width: 1080px) {
  body {
    border-top-width: 8px;
  }
}
/* --- font-family --- */
.font-jp {
  font-family: var(--font-jp-heading);
}

.font-en {
  font-family: var(--font-en-heading);
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* layout
**************************************** */
/* --- inner --- */
.inner {
  width: 90%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

.inner-sm {
  max-width: 60rem;
}

.inner-sm2 {
  max-width: 60rem;
}

.inner-lg {
  max-width: 98.45rem;
}

.inner-lg2 {
  max-width: 116.78125rem;
}

.inner-xl_wrap,
.inner-xl {
  max-width: calc(100% - 11.875vw);
  border-right: solid 1px #070002;
  border-left: solid 1px #070002;
  background-color: #f7f7f1;
}
@media screen and (max-width: 47.9375em) {
  .inner-xl_wrap,
  .inner-xl {
    border: none;
    padding: 0 5%;
  }
}

@media screen and (max-width: 47.9375em) {
  .inner-xl_wrap {
    max-width: none;
    border: none;
    padding: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .home .inner-xl {
    border: none;
    padding: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .inner-xl_inner {
    width: 90%;
    margin-inline: auto;
  }
}

/* --- section_pdg --- */
.section_pdg {
  padding-top: 100px;
  padding-bottom: 100px;
}

.section_pdg:has(.fullimg) {
  /* padding-top: 0;
  padding-bottom: 0; */
}

.section_pdg.section_top_padding_none {
  padding-top: 0;
}

.section_pdg.section_bottom_padding_none {
  padding-bottom: 0;
}

.section_pdg-sm {
  padding-top: 48px;
  padding-bottom: 48px;
}

/* --- fullimg --- */
@media screen and (max-width: 47.9375em) {
  .fullimg {
    aspect-ratio: 3/2;
  }
}

/* --- anchor --- */
.anchor {
  position: absolute;
  top: -80px; /* 固定ヘッダーの高さ */
  left: 0;
  pointer-events: none;
}

@media screen and (max-width: 1200px) {
  /* --- inner --- */
  .inner-xl {
    width: 100%;
    max-width: calc(100% - 7vw);
  }
}
@media screen and (max-width: 1080px) {
  /* --- inner --- */
  .inner {
    width: 90%;
  }
  .inner-sm2 {
    width: 90%;
  }
  .inner-xl {
    max-width: 100%;
  }
  .inner-xl_wrap {
    width: 100%;
  }
  .inner-lg2 {
    max-width: 90%;
  }
  /* --- anchor --- */
  .anchor {
    top: -64px; /* 固定ヘッダーの高さ */
  }
}
@media screen and (max-width: 767px) {
  /* --- section_pdg --- */
  .section_pdg {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .section_pdg-sm {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}
/* flex
**************************************** */
.flex-col2,
.flex-col3,
.flex-col4 {
  flex-wrap: wrap;
}

.flex-col2 {
  gap: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.flex-col3 {
  gap: 3.75rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 47.9375em) {
  .flex-col3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.flex-col4 {
  gap: 1.5vw;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.flex-col2 > * {
  width: 100%;
}

.flex-col3 > * {
  width: 100%;
}

.flex-col4 > * {
  width: 100%;
}

@media screen and (max-width: 80em) {
  .flex-response-column {
    flex-direction: column;
    row-gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .flex-col2.flex-sp-block > *,
  .flex-col3.flex-sp-block > *,
  .flex-col4.flex-sp-block > * {
    width: 100%;
  }
  .flex-sp-col2 > * {
    width: calc(50% - 1.5vw);
  }
  .flex-sp-col3 > * {
    width: calc(33.33% - 2vw);
  }
}
/* bg
********************************************** */
.lps_sec:nth-child(2n-1) {
  background-color: #f7f7f1;
}

.bg-wh {
  background-color: #fff;
}

.bg-gr {
  background-color: #009e00;
}

.bg-lgr {
  background-color: var(--clr-primary-default);
}

.bg-pt,
body {
  background: linear-gradient(-45deg, #fff 25%, #f2f2f2 25%, #f2f2f2 50%, #fff 50%, #fff 75%, #f2f2f2 75%, #f2f2f2);
  background-size: 56px 56px;
}

@media screen and (max-width: 767px) {
  .bg-pt,
  body {
    background-size: 28px 28px;
  }
}
/* img
********************************************** */
.img-ctr {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.img-trim {
  display: flex;
  justify-content: center;
  align-items: center;
}

.img-trim.pos_rel::before {
  content: "";
  display: block;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.img-cover.pos_ab {
  inset: 0;
  margin: auto;
}

.img-contain {
  object-fit: contain;
}

/* ttl
********************************************** */
/* --- page_ttl --- */
.page_ttl {
  position: relative;
  z-index: 10;
  overflow: hidden;
  background-color: #f7f7f1;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 1fr auto;
}
@media screen and (max-width: 47.9375em) {
  .page_ttl {
    grid-template-rows: 1fr auto auto;
  }
}

.ttl-txt {
  padding-bottom: 6.125rem;
  margin-top: auto;
  height: fit-content;
}
@media screen and (max-width: 47.9375em) {
  .ttl-txt {
    padding-bottom: 4.2857142857rem;
  }
}

.page_ttl > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .page_ttl > * > * {
    grid-row: 1;
  }
}

.page_ttl .breadcrumbs {
  grid-row: 2;
}
@media screen and (max-width: 47.9375em) {
  .page_ttl .breadcrumbs {
    grid-row: 3;
  }
}

.page_ttl > .inner-xl {
  border: none;
  display: flex;
}

.page_ttl .bg-pt {
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 100%;
  opacity: 0.3;
  mix-blend-mode: multiply;
  background-image: url(../images/common/path-city2.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
}
@media print, screen and (min-width: 48em) {
  .page_ttl .bg-pt {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 47.9375em) {
  .page_ttl .bg-pt {
    background-size: 180%;
    opacity: 0.7;
  }
}

.page_ttl--bg {
  /* position: absolute;
  top: 0;
  bottom: 0;
  right: 0; */
  width: 50vw;
  z-index: 10;
  background-size: cover;
  background-position: center;
  height: auto;
  margin-top: auto;
  aspect-ratio: 1/0.578;
  grid-row: 1/3;
  margin-left: auto;
  margin-top: 9.6875rem;
}
@media screen and (max-width: 47.9375em) {
  .page_ttl--bg {
    grid-row: 2;
  }
}

.page_ttl-jp,
.page_ttl-en {
  position: relative;
  z-index: 20;
}

.page_ttl-jp {
  width: fit-content;
  margin-bottom: 2rem;
  font-size: 1.5rem; /* 24px */
}

.page_ttl-jp::before {
  content: "";
  display: block;
  margin-bottom: 2rem;
  width: 100%;
  height: 3px;
  background-color: var(--clr-primary-default);
}

.page_ttl-en {
  display: block;
  text-transform: uppercase;
  transform: translateX(-0.1em);
  color: var(--clr-primary-default);
  font-feature-settings: "liga" off, "clig" off;
  font-family: Overpass;
  font-size: min(9.375rem, 9.375rem);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1; /* 150px */
  letter-spacing: -0.03em;
}

/* --- ttl --- */
.ttl-01,
.ttl-02,
.ttl-03 {
  position: relative;
}

.ttl-01 {
  position: relative;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 1.5rem;
  padding-bottom: 1.5rem;
  letter-spacing: 0.03em;
}
.ttl-01:not([class*=mgn]) {
  margin-bottom: 5rem;
}
@media screen and (max-width: 47.9375em) {
  .ttl-01:not([class*=mgn]) {
    margin-bottom: 2.5rem;
  }
}

.ttl-01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 8.125rem;
  /* 130px  */
  height: 1px;
  border-bottom: 2px solid var(--clr-primary-default);
}

.ttl-01::before,
.ttl-01 .jp {
  position: relative;
  z-index: 10;
}

.ttl-01 .jp {
  display: block;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 38.4px */
  letter-spacing: 0.03em; /* 0.72px; */
}

.ttl-01 .en {
  color: var(--clr-text-primary);
  text-align: center;
  font-feature-settings: "liga" off, "clig" off;
  font-family: var(--font-en-heading);
  font-size: 6.25rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1; /* 100px */
  letter-spacing: -0.03em;
}
@media screen and (max-width: 47.9375em) {
  .ttl-01 .en {
    font-size: 3.4285714286rem;
  }
}

.ttl-01 .en::first-letter {
  color: var(--clr-primary-default);
}

.ttl-02 span {
  display: block;
}

.ttl-02 span {
  color: var(--clr-text-primary);
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading2-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading2);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.4; /* 67.2px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .ttl-02 span {
    font-size: var(--font-size-heading2-sp);
    line-height: 1.6;
  }
}

.ttl-02,
.lps_parts--img_text .inner-lg .ttl-03 {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading4-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading4);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 51.2px */
  letter-spacing: 0.03em;
}

.ttl-03 {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading3-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 64px */
}

.ttl-03 .en:not(.cursive) {
  display: block;
  text-transform: uppercase;
  color: var(--clr-primary-default);
  font-feature-settings: "liga" off, "clig" off;
  margin-bottom: 1rem;
  /* EN/heading5-en */
  font-family: var(--font-en-heading);
  font-size: var(--font-size-heading6);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.7; /* 40.8px */
}

.ttl-03 .en.cursive {
  display: block;
  margin-bottom: 0.8em;
  font-size: 3.75rem; /* 60px */
  text-transform: capitalize;
  transform: rotate(-8deg);
}

.lps_sec .ttl-02 {
  margin-bottom: 5rem;
}

.lps_sec .ttl-03:not(:last-child) {
  margin-bottom: 3rem;
}

.lps_sec .column-3 .ttl-03,
.lps_sec .column-4 .ttl-03 {
  font-size: 1.5rem; /* 24px */
}

@media screen and (max-width: 1500px) {
  .ttl-03 .en.cursive {
    font-size: 3.125vw; /* 60px */
  }
}
@media screen and (max-width: 767px) {
  /* --- page_ttl --- */
  .page_ttl > .inner-xl {
    width: 100%;
    max-width: 100%;
    padding-top: 92px;
    padding-bottom: 0;
  }
  .page_ttl .bg-pt {
    left: 0;
  }
  .page_ttl--bg {
    margin-top: 0;
    bottom: 0;
    width: 100%;
  }
  .page_ttl-jp,
  .page_ttl-en {
    margin-left: 4vw;
  }
  .page_ttl-jp {
    margin-bottom: 1rem;
    font-size: 1.25rem; /* 20px */
  }
  .page_ttl-jp::before {
    margin-bottom: 1.25rem;
    width: 40px;
    height: 1.5px;
  }
  .page_ttl-en {
    margin-bottom: -0.3em;
    font-size: 3.142857rem;
    letter-spacing: -0.01em;
  }
  /* --- ttl --- */
  .ttl-01 {
    margin-bottom: 2rem;
  }
  .ttl-01::before {
    width: 32px;
    height: 30px;
    margin-bottom: 0.25rem;
    background-size: contain;
  }
  .ttl-01 .jp {
    font-size: 1.429rem; /* 20px */
    line-height: 1.45;
  }
  .ttl-01 .en {
    top: 14px;
  }
  .ttl-02::before {
    width: 66px;
    margin-bottom: 0.5rem;
  }
  .ttl-02,
  .lps_parts--img_text .inner-lg .ttl-03 {
    font-size: 1.714rem; /* 24px */
  }
  .ttl-03 {
    font-size: 1.429rem; /* 20px */
  }
  .ttl-03 .en:not(.cursive) {
    margin-bottom: 0.5em;
    font-size: 1rem; /* 14px */
  }
  .ttl-03 .en:not(.cursive)::before {
    width: 1em;
    border-top: solid 2px;
    transform: translateY(-4px);
  }
  .ttl-03 .en.cursive {
    margin-top: -0.75em;
    margin-bottom: 1.25em;
    font-size: 1.714rem; /* 24px */
  }
  .lps_sec .ttl-02,
  .lps_sec .ttl-03:not(:last-child) {
    margin-bottom: 0.75em;
  }
  .lps_sec .column-3 .ttl-03,
  .lps_sec .column-4 .ttl-03 {
    font-size: 1.286rem; /* 18px */
  }
}
/* breadcrumbs
**************************************** */
.breadcrumbs {
  position: relative;
  z-index: 5;
  width: calc(100% - 50vw);
  padding: 44px 0;
}

.no_bg .breadcrumbs {
  width: 100%;
}

.breadcrumbs-sm {
  width: 100%;
  padding: 12px 0 12px 120px;
}

.breadcrumbs .inner-xl {
  padding-left: 0.75rem;
  border: none;
  background-color: transparent;
}

.breadcrumbs a,
.breadcrumbs .breadcrumb_last {
  padding: 0 0.75rem;
}

.breadcrumbs a:hover {
  opacity: 0.5;
}

.breadcrumbs .inner-xl > * > * > *:first-child {
  position: relative;
}

.breadcrumbs .inner-xl > * > * > *:first-child::before {
  content: "";
  position: absolute;
  top: 4px;
  left: -0.75rem;
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #fff;
}

.breadcrumbs .breadcrumb_last {
  display: table-cell;
  max-width: 300px;
  font-size: 0.875rem; /* 14px */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #d6f1d2;
}

@media screen and (max-width: 767px) {
  .breadcrumbs {
    width: 100%;
    padding: 18px 0;
    z-index: 15;
    font-size: 10px;
  }
  .no_bg .breadcrumbs {
    width: 100%;
  }
  .breadcrumbs-sm {
    width: 100%;
    padding: 18px 0;
  }
  .breadcrumbs .inner-xl {
    width: 100%;
    max-width: 100%;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .breadcrumbs a,
  .breadcrumbs .breadcrumb_last {
    padding: 0 0.4rem;
  }
  .breadcrumbs .inner-xl > * > * > *:first-child::before {
    top: 3px;
    left: -0.5rem;
    width: 0.4rem;
    height: 0.4rem;
  }
  .breadcrumbs .breadcrumb_last {
    font-size: 10px;
  }
}
/* page_nav
**************************************** */
.page_nav {
  /* position: sticky;
  top: 12.5rem; */
  position: relative;
  z-index: 9000;
  padding: 1.5625rem 64px 1.5625rem 12.375rem;
  background-color: #fff;
  border-bottom: solid 1px #151e2f;
}

.page_nav .ttl {
  position: absolute;
  top: 1.25rem;
  left: 2rem;
  font-size: 1.25rem; /* 20px */
  letter-spacing: -0.02em;
}

.page_nav .ttl--icn {
  display: inline-block;
  margin-left: 12px;
  transform: rotate(-180deg) translateY(1px);
}

.page_nav .link {
  margin-right: 1em;
}

.page_nav .link br {
  display: none;
}

.page_nav .link a {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 0.875rem;
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-sm-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-sm);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 160%; /* 22.4px */
  letter-spacing: 0.42px;
}

.page_nav .link a .icon {
  display: flex;
  place-items: center normal;
  width: 0.41925rem;
  min-width: 6.708px;
}

.page_nav .link a:hover {
  color: #009e00;
}

@media screen and (max-width: 1080px) {
  .page_nav {
    top: 72px;
    width: 100vw;
    padding: 12px 0 4px 104px;
    font-size: 10px;
  }
  .page_nav .ttl {
    top: 14px;
    left: 16px;
    font-size: 10px;
  }
  .page_nav .ttl--icn {
    width: 8px;
    margin-left: 8px;
  }
  .page_nav .link {
    margin-right: 1.25em;
  }
  .page_nav .link:last-child {
    padding-right: 24px;
  }
  .page_nav .link a::before {
    width: 0.9em;
    margin-right: 0.5em;
    border-top: solid 1px;
    transform: translateY(-0.25em);
  }
}
@media screen and (max-width: 767px) {
  .page_nav {
    width: 100vw;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    top: initial;
    padding-block: 1.9285714286rem;
    padding-left: 10rem;
  }
  .page_nav .ttl {
    top: 50%;
    translate: 0 -50%;
    font-size: 1.1428571429rem;
  }
  .page_nav .flex-c-wrap {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}
/* txt
**************************************** */
.txt-lg {
  font-size: 1.125rem; /* 18px */
}

.txt-sm {
  font-size: 0.875rem; /* 14px */
}

.txt-wh,
.txt-wh * {
  color: #fff;
}

.txt-gr {
  color: #009e00;
}

.txt-lgr {
  color: var(--clr-primary-default);
}

/* --- font --- */
.font,
.wp-pagenavi,
.btn a {
  font-family: "Overpass", "Hiragino UD Sans W6 JIS2004", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 700;
}

.font-b,
h1,
h2,
h3,
h4,
h5,
h6,
th,
dt,
.lps_parts--flow .flow_item::after,
.cat_list {
  font-family: "Hiragino UD Sans W6 JIS2004";
}

.font-en,
.lps_parts--flow .ttl-03::after,
.hero .deco2::after {
  font-family: "Overpass", sans-serif;
  font-weight: 500;
}

.font-en-b,
.lps_parts--faq .ttl-03::after,
.lps_parts--faq .mce-content-body::after,
.btn-next_page::before,
.lps_parts--interview .interview-profile::after,
.interview_list a::before {
  font-family: "Overpass", sans-serif;
  font-weight: 700;
}

.font-en2 {
  font-family: "Dancing Script", cursive;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .txt-lg {
    font-size: 1.071rem; /* 15px */
  }
  .txt-sm {
    font-size: 0.929rem; /* 13px */
  }
}
/* btn
********************************************** */
.btn + .btn {
  margin-top: 8px;
}

.btn a {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: var(--spacing-24) var(--spacing-40);
  border-radius: 80px;
  color: #fff;
  text-align: center;
  background: var(--clr-text-primary);
  border: 1px solid var(--clr-text-primary);
  transition: all 0.2s ease-out;
}

.btn svg {
  fill: #fff;
}

.btn a:hover {
  background-color: var(--clr-wht);
  color: var(--clr-text-primary);
}

.btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]) {
  padding: var(--spacing-18) var(--spacing-24);
  padding-left: var(--spacing-40);
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 1rem;
  width: fit-content;
  place-items: center normal;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 47.9375em) {
  .btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]) {
    padding: 0.7rem 0.7rem 0.7rem 1.2rem;
    text-align: left;
    width: 100%;
    grid-template-columns: 100%;
  }
  .btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]) > * {
    grid-column: 1;
    grid-row: 1;
  }
  .btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]) .btn-icon {
    margin-left: auto;
  }
}

.btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]) .txt {
  display: block;
  margin: 0 auto;
}

.btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]) .txt {
  translate: 0 calc((0.5lh - 0.5em) / 2);
  line-height: 1;
}

.btn a {
  padding: var(--spacing-18) var(--spacing-24);
  padding-left: var(--spacing-40);
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 1rem;
  width: fit-content;
  place-items: center normal;
  align-items: center;
  justify-content: center;
}

.btn.entry-btn a {
  background: var(--clr-secondary-default);
  padding-inline: 7.5rem;
  padding-block: 1.5rem;
  grid-template-columns: 100%;
}
@media screen and (max-width: 47.9375em) {
  .btn.entry-btn a {
    width: 90%;
    padding-inline: 1.7142857143rem;
  }
}
.btn.entry-btn a:hover {
  background: var(--clr-text-primary);
  color: var(--clr-wht);
}

.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--clr-primary-light);
  transition: all 0.2s ease-out;
  transform: rotate(180deg);
  border-radius: 100%;
}

.btn a:hover .btn-icon {
  background: var(--clr-text-primary);
}

.btn-icon img {
  translate: -1px 0;
  transition: all 0.2s ease-out;
}

.btn a:hover .btn-icon img {
  filter: brightness(0) invert(1);
}

.btn a:hover::before {
  transform: translateX(4px) rotate(180deg) !important;
}

/* btn
********************************************** */
.btn.home_style2 a {
  min-width: 19.0625rem;
  background: var(--clr-bg-01);
  border: none;
  color: var(--clr-text-primary2);
}
@media screen and (max-width: 47.9375em) {
  .btn.home_style2 a {
    width: 100%;
  }
}
.btn.home_style2 .btn-icon {
  background-color: var(--clr-text-primary2);
}
.btn.home_style2 .btn-icon img {
  filter: brightness(0) invert(1);
  letter-spacing: normal;
}
.btn.home_style2 a:hover {
  background-color: var(--clr-text-primary2);
  color: var(--clr-wht);
}
.btn.home_style2 a:hover .btn-icon {
  background-color: var(--clr-wht);
}
.btn.home_style2 a:hover .btn-icon img {
  filter: brightness(1) invert(0);
  letter-spacing: normal;
}

/* --- btn-wh --- */
.btn-wh a {
  color: #151e2f;
  background-color: #f0f0e7;
}

.btn-wh svg {
  fill: #151e2f;
}

/* --- btn-next_page --- */
.btn-next_page {
  position: relative;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 48px 0;
  border-top: solid 1px #acb0bd;
}

.btn-next_page::before {
  position: absolute;
  top: 12px;
  left: -0.08em;
  content: "NEXT...";
  font-size: 200px;
  color: var(--clr-primary-default);
  line-height: 1;
  opacity: 0.2;
}

.btn-next_page a {
  z-index: 10;
  display: block;
  width: 32.7vw;
  max-width: 100%;
  margin-right: 0;
  margin-left: auto;
  text-align: center;
  border-radius: 80px;
  background-color: #272931;
}
@media screen and (max-width: 47.9375em) {
  .btn-next_page a {
    height: 380px !important;
  }
}

.btn-next_page a:hover {
  background-color: #070002;
}

@media screen and (max-width: 1200px) {
  .btn-next_page a {
    width: 50vw;
  }
}
@media screen and (max-width: 767px) {
  .btn a {
    max-width: 100%;
    padding: 0.7142857143rem 1.4285714286rem;
    font-size: 1rem;
  }
  /* --- btn-next_page --- */
}
@media screen and (max-width: 767px) and (max-width: 47.9375em) {
  .btn a {
    width: 100%;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .btn a:not([target=_blank]):not([href$=".xlsx"]):not([href$=".pdf"]):not([href$=".jpg"]):not([href$=".png"])::before {
    right: 12px;
    bottom: 0;
    width: 24px;
    height: 24px;
    background-size: 6px;
  }
  .btn-next_page {
    padding: 24px 0;
  }
  .btn-next_page::before {
    top: 12px;
    left: -0.08em;
    content: "NEXT...";
    font-size: 72px;
  }
  .btn-next_page a {
    width: 100%;
    max-width: 100%;
    margin-top: 40px;
  }
}
/* ##############################################################################

    HEADER

############################################################################## */
/* header
**************************************** */
.header {
  position: fixed;
  top: 2.375rem; /*38px */
  left: 0;
  right: 0;
  height: 5.625rem; /* 152px; */
  background-color: var(--clr-wht);
  width: 96.25%;
  z-index: 9990;
  margin-inline: auto;
  transition: all 0.4s ease-out;
  border-radius: 1rem;
}
@media screen and (max-width: 47.9375em) {
  .header {
    height: auto;
    top: 1rem;
  }
}

.page-contact .header {
  position: absolute;
}

.header > .inner {
  width: 100%;
  max-width: 100%;
  height: 100%;
  padding-left: 3vw;
  padding-right: 1rem;
  justify-content: flex-end;
}
@media screen and (max-width: 67.5em) {
  .header > .inner {
    padding-block: 0.875rem;
  }
}

.header--logo {
  margin-right: auto;
}
@media screen and (max-width: 67.5em) {
  .header--logo {
    padding-left: 0;
    position: relative;
    z-index: 9999;
  }
}

.header--logo,
.footer--logo {
  max-width: 17.625rem;
  transition: all 0.4s ease-out;
}

.header--logo img {
  height: auto;
}
@media screen and (max-width: 67.5em) {
  .header--logo img {
    width: fit-content;
    height: 2.5rem;
    max-width: none;
  }
}
@media screen and (max-width: 47.9375em) {
  .header--logo img {
    height: 3.5714285714rem;
  }
}

.header--logo a,
.footer--logo a {
  display: block;
}

.header--logo a:hover,
.footer--logo a:hover {
  opacity: 0.7;
}

.header > .inner .gnav {
  margin-right: 4.15rem;
}

.footer--logo {
  width: 10.125rem;
}

.foot_banner {
  column-gap: 1.25rem;
}
@media screen and (max-width: 80em) {
  .foot_banner {
    margin-inline: auto;
    width: fit-content;
  }
}
@media screen and (max-width: 47.9375em) {
  .foot_banner {
    row-gap: 1.4285714286rem;
  }
}

.foot_banner a {
  transition: var(--transit-default);
}

.foot_banner a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 1500px) {
  .header > .inner {
    padding-right: 6vw;
  }
}
@media screen and (max-width: 1350px) {
  .header > .inner {
    padding-left: 1vw;
  }
}
@media screen and (max-width: 1330px) {
  .header > .inner {
    padding-right: 1vw;
  }
}
@media screen and (max-width: 1080px) {
  .header {
    height: auto;
    background-color: #fff !important;
  }
  .header > .inner {
    padding-right: 8px;
    padding-left: 16px;
  }
  .header-sm .header--logo {
    transform: translateY(0);
  }
}
/* gnav
********************************************** */
.gnav a {
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: left;
}

.gnav--link {
  padding: 0 1.1vw;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.gnav--link .en {
  margin-bottom: 8px;
  font-size: 0.875rem; /* 14px */
  letter-spacing: 0.02em;
  line-height: 1;
  display: none;
}

.fnav .gnav--link .en {
  display: block;
  color: var(--clr-primary-default);
}
.fnav .gnav--link .en::before {
  display: none;
}

.gnav--link .jp {
  display: block;
  line-height: 1;
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-md-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-txt-md);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 25.6px */
  letter-spacing: 0.05em;
}

.gnav .menu-item-home .en,
.fnav .menu-item-home .en {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 0.75rem; /* 12px */
}

.gnav .menu-item-home .icn,
.fnav .menu-item-home .icn {
  transform: rotate(90deg);
}

.gnav .menu-item-home a,
.fnav .menu-item-home a {
  align-items: center;
}

/* --- head_sub_nav --- */
.head_sub_nav--wrap {
  display: block;
  width: fit-content;
  min-width: 12.875rem;
  position: absolute;
  z-index: 100;
  transition: all 0.4s ease-out;
  top: calc(100% + 0.3125rem);
  left: 50%;
  translate: -50% 0;
  opacity: 0;
  pointer-events: none;
}

.menu-item-has-children {
  position: relative;
}

.gnav--menu > .menu-item-has-children > .gnav--link {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 12.5px;
  place-items: center normal;
}

.gnav--menu > .menu-item-has-children > .gnav--link > * {
  grid-row: 1;
}

.gnav--menu > .menu-item-has-children > .gnav--link::after,
.gnav--menu > .menu-item-has-children > .gnav--link::before {
  content: "";
  width: 15px;
  height: 2px;
  border-bottom: 2px solid var(--clr-primary-default);
  grid-column: 2;
  grid-row: 1;
}

.gnav--menu > .menu-item-has-children > .gnav--link[href="javascript:void(0);"] span::after,
.gnav--menu > .menu-item-has-children > .gnav--link[href="javascript:void(0);"] span::before {
  opacity: 0;
}

.gnav--menu > .menu-item-has-children > .gnav--link::before {
  rotate: 90deg;
  transition: var(--transit-default);
}
@media screen and (max-width: 67.5em) {
  .gnav--menu > .menu-item-has-children > .gnav--link::before {
    display: none;
  }
}

.gnav--menu > .menu-item-has-children:hover > .gnav--link::before {
  rotate: 0deg;
  opacity: 0;
}

.head_sub_nav {
  padding: 1.5rem 2rem;
  border-radius: 0.5rem;
  background: var(--clr-text-light);
  box-shadow: 0 4px 32px 0 rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 67.5em) {
  .head_sub_nav {
    box-shadow: none;
  }
}

.head_sub_nav a {
  display: grid;
  grid-template-columns: 1fr auto;
  justify-content: space-between;
  padding: 0.5rem 0;
  font-size: 0.938rem; /* 15px */
  column-gap: 1rem;
  position: relative;
}

.head_sub_nav .gnav--link::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../images/common/arrow_forward.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 67.5em) {
  .head_sub_nav .gnav--link::after {
    display: none;
  }
}

.head_sub_nav .gnav--link[target=_blank]::after {
  background-image: url(../images/common/arrow_outward.svg);
}

.gnav--link span {
  position: relative;
  display: block;
}

.gnav--link span::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  height: 1px;
  width: 100%;
  background: rgba(0, 0, 0, 0);
  transition: var(--transit-default);
}
@media screen and (max-width: 47.9375em) {
  .gnav--link span::before {
    display: none;
  }
}

.fnav--menuwrap {
  width: 56rem;
  margin-left: auto;
  display: grid;
  max-width: 100%;
}
@media print, screen and (min-width: 48em) {
  .fnav--menuwrap {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 2.5rem;
  }
}
@media screen and (max-width: 80em) {
  .fnav--menuwrap {
    width: 95%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 67.5em) {
  .fnav--menuwrap {
    grid-template-columns: 100%;
  }
}

.sitemap .fnav--menuwrap {
  width: 100%;
}

.sitemap .menu-item-home {
  display: none;
}

.fnav--menu .gnav--link span::before {
  background: rgb(0, 0, 0);
}

.gnav--link:hover span::before {
  background: currentColor;
  animation: btn-line 0.5s ease-out 0s 1 normal forwards;
}

@media print, screen and (min-width: 48em) {
  .head_sub_nav a {
    white-space: nowrap;
  }
}
/* ---CTA --- */
.cta_tel a {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  line-height: 1.1;
  letter-spacing: 0.01em;
  text-align: right;
}

.cta_tel a > span {
  display: block;
}

.cta_tel .tel {
  font-size: 1.5rem; /* 24px */
}

.cta_tel .num {
  font-size: 2.5rem; /* 40px */
}

.gnav--tel a {
  margin-left: 2.08vw;
}

.gnav--tel .num {
  font-size: 2.25rem; /* 36px */
}

.gnav--tel .hours {
  font-size: 0.875rem; /* 14px */
}

.gnav--recruit a {
  position: fixed;
  top: 16px;
  right: 0;
  width: 120px;
  height: 482px !important;
  padding-top: 40px;
  justify-content: flex-end;
  align-items: flex-start;
  transition: all 0.1s ease-out;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
}

.gnav--recruit a:hover {
  opacity: 0.75;
}

.gnav--recruit .jp {
  margin-left: 1.75rem;
  font-size: 1.125rem; /* 18px */
  letter-spacing: 0.1em;
}

.gnav--recruit .en {
  margin-top: -0.1em;
  margin-left: 2px;
  font-size: 5.625rem;
  letter-spacing: 0.01em;
  line-height: 0.5;
}

@media print, screen and (min-width: 1081px) {
  .gnav,
  .gnav ul,
  .gnav li,
  .gnav a {
    height: 100%;
  }
  .gnav {
    display: flex;
  }
  .gnav .menu-item-3475,
  .gnav_btn,
  .recruit_btn {
    display: none;
  }
  .gnav--link {
    text-align: center;
  }
  .gnav--menu > li > .gnav--link:not([href="javascript:void(0);"]):hover,
  .gnav--menu > li.current-menu-item > .gnav--link,
  .fnav--menu > li > .gnav--link:not([href="javascript:void(0);"]):hover,
  .fnav--menu > li.current-menu-item > .gnav--link {
    color: var(--clr-primary-default);
  }
  .gnav_sub_toggle {
    display: none;
  }
  .gnav--contact a {
    border-radius: 0;
  }
  /* hover */
  .gnav--menu .menu-item-has-children.is-hover .head_sub_nav--wrap,
  .gnav--menu .menu-item-has-children:hover .head_sub_nav--wrap {
    opacity: 1;
    pointer-events: auto;
  }
  .head_sub_nav a:hover {
    opacity: 0.7;
  }
  .header-sm .gnav--recruit a {
    top: 8px;
  }
}
@media screen and (max-width: 1700px) {
  .gnav--link {
    padding: 0 0.75vw;
  }
  .gnav--tel a {
    margin-left: 1vw;
  }
  .gnav--tel .num {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 1500px) {
  .gnav--recruit a {
    transform: scale(0.5, 0.5);
    transform-origin: right top;
  }
}
@media screen and (max-width: 1330px) {
  .gnav--recruit a {
    top: 152px;
    transform: scale(0.75, 0.75);
    transition: all 0.4s ease-out;
  }
  .header-sm .gnav--recruit a {
    top: 88px;
  }
}
@media screen and (max-width: 1140px) {
  .gnav--tel .tel {
    font-size: 1rem;
  }
  .gnav--tel .num {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1080px) {
  .header > .inner .gnav {
    margin: 0;
  }
  .gnav {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    padding: 7.5rem 7% 40px;
    opacity: 0;
    margin: 0;
    pointer-events: none;
    transition: all 0.4s ease-out;
    overflow: scroll;
    background-color: #fff;
    z-index: 300;
    transform: translateX(100%);
    -webkit-overflow-scrolling: touch;
  }
  .gnav_overlay {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
  }
  .gnav.active {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }
  .gnav--menu {
    flex-wrap: wrap;
    margin-bottom: 20px;
    flex-direction: column;
  }
  .gnav--menu,
  .fnav--menu {
    justify-content: space-between;
    align-items: center;
  }
  .gnav--menu li,
  .fnav--menu li {
    width: calc(50% - 3.65vw);
  }
  /* --- head_sub_nav --- */
  /* --- gnav_btn --- */
  /* --- recruit_btn --- */
  /* ---CTA --- */
  /* iPhoneXR相当の幅からモバイルナビを1カラム・アコーディオンに寄せる */
}
@media screen and (max-width: 1080px) and (max-width: 47.9375em) {
  .gnav--menu li,
  .fnav--menu li {
    width: 100%;
  }
}
@media screen and (max-width: 1080px) {
  .gnav--link {
    display: block;
    padding: 0;
    font-size: 1rem;
    margin-bottom: 0.8571428571rem;
  }
  .gnav--link .en {
    padding-top: 16px;
    margin-bottom: 6px;
    font-size: 0.875rem; /* 14px */
    border-top: solid 1px #29323d;
  }
  .gnav--link .jp {
    padding-bottom: 0;
    border-bottom: none;
    white-space: nowrap;
  }
  .gnav .menu-item-home .en,
  .fnav .menu-item-home .en {
    margin-top: 8px;
    margin-bottom: 0;
    font-size: 10px;
  }
  .head_sub_nav--wrap {
    position: relative;
    width: 100%;
    transition: none;
    opacity: 1;
    pointer-events: inherit;
    display: none;
  }
  .menu-item-has-children.active .head_sub_nav--wrap {
    opacity: 1;
    pointer-events: auto;
  }
  .gnav_sub_toggle {
    position: absolute;
    top: 0;
    right: -20px;
    width: 64px;
    height: 64px;
    transition: all 0.4s ease-out;
    color: var(--clr-primary-default);
  }
  .gnav_sub_toggle::before,
  .gnav_sub_toggle::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 14px;
    height: 1px;
    border-bottom: 2px solid;
  }
  .gnav_sub_toggle::after {
    transform: rotate(90deg);
  }
  .gnav_sub_toggle.active {
    transform: rotate(180deg);
  }
  .head_sub_nav {
    position: relative;
  }
  .head_sub_nav li {
    width: 100%;
  }
  .gnav_btn {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 50px;
    height: 50px;
    color: #151e2f;
    font-size: 8px;
    text-align: center;
    white-space: nowrap;
    border-radius: 50%;
    letter-spacing: -0.01em;
    z-index: 9999;
    transition: all 0.4s ease-out;
    translate: 0 -50%;
  }
  .gnav_btn--lines {
    position: relative;
    width: 32px;
    height: 12px;
  }
  .gnav_btn--lines span {
    transition: all 0.4s ease-out;
    box-sizing: border-box;
  }
  .gnav_btn--lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--clr-primary-default);
  }
  .gnav_btn--lines span:nth-of-type(1) {
    top: 0;
  }
  .gnav_btn--lines span:nth-of-type(2) {
    top: calc(50% - 1px);
  }
  .gnav_btn--lines span:nth-of-type(3) {
    bottom: 0;
  }
  .active .gnav_btn--lines span:nth-of-type(1) {
    transform: translateY(5px) rotate(-150deg);
  }
  .active .gnav_btn--lines span:nth-of-type(2) {
    opacity: 0;
  }
  .active .gnav_btn--lines span:nth-of-type(3) {
    transform: translateY(-5px) rotate(150deg);
  }
  .recruit_btn {
    position: fixed;
    top: 24px;
    right: 65px;
    width: 86px;
    padding: 8px 6px 4px;
    background-color: #009e00;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    border-radius: 24px;
    letter-spacing: -0.01em;
    z-index: 9999;
    transition: all 0.4s ease-out;
  }
  .cta_tel a {
    text-align: center;
  }
  .cta_tel .tel {
    font-size: 1.286rem; /* 18px */
  }
  .cta_tel .num {
    font-size: 2rem; /* 28px */
  }
  .gnav--tel {
    order: 10;
    border-top: solid 1px;
    margin-top: 48px;
    padding-top: 24px;
  }
  .gnav--tel a {
    margin-left: 0;
  }
  .gnav--tel .num {
    font-size: 2rem; /* 28px */
  }
  .gnav--recruit a {
    position: static;
    top: auto;
    right: auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto !important;
    padding: 24px 20px 12px;
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
    transform: scale(1, 1);
  }
  .gnav--recruit a:hover {
    opacity: 0.75;
  }
  .gnav--recruit .jp {
    order: 10;
    margin-left: 0;
    font-size: 0.857rem; /* 12px */
  }
  .gnav--recruit .en {
    margin-top: -0.1em;
    margin-left: 0;
    font-size: 3.14rem;
    line-height: 0.8;
  }
  .sp-header_btn_wrap {
    width: 100%;
    margin-inline: auto;
    column-gap: 0.5714285714rem;
  }
}
@media screen and (max-width: 1080px) and (max-width: 67.5em) {
  .header .gnav--menu {
    flex-direction: column;
    row-gap: 0;
    margin-bottom: 2rem;
    display: block;
    height: 70svh;
    overflow: scroll;
  }
  .header .gnav--menu li {
    width: 100%;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid var(--clr-text-placeholder);
  }
  .header .gnav .gnav--link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1.1428571429rem 0;
    letter-spacing: 0.03em;
    padding-right: 0.5714285714rem;
    position: relative;
    margin-bottom: 0;
    font-size: 1.1428571429rem;
    position: relative;
  }
  .header .menu-item > .gnav--link::after {
    content: "";
    width: 4rem;
    height: 4rem;
    background-image: url(../images/common/chevron_right.svg);
    background-repeat: no-repeat;
    background-size: 45%;
    background-position: center;
    position: absolute;
    right: 0.2857142857rem;
    top: 50%;
    translate: 0 -50%;
    display: block;
  }
  .header .gnav .head_sub_nav li {
    padding: 0;
  }
  .header .gnav .head_sub_nav .gnav--link {
    padding: 0.2857142857rem 0;
    width: 100%;
  }
  .header .gnav--link .en {
    padding-top: 0;
    margin-bottom: 0;
    border-top: none;
    font-size: 1.1428571429rem;
  }
  .header .gnav--link .jp {
    padding-bottom: 0;
    border-bottom: none;
    font-size: 1.1428571429rem;
  }
  .header .menu-item-has-children > .gnav--link::after {
    display: none;
  }
  .header .head_sub_nav .gnav--link::after {
    display: none;
  }
  .header .head_sub_nav--wrap {
    padding-left: 1.1428571429rem;
    padding-bottom: 0.5714285714rem;
    padding-top: 0;
  }
  .header .head_sub_nav {
    padding: 0;
    border: none;
  }
  .header .head_sub_nav li {
    width: 100%;
    padding: 0.2857142857rem 0;
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    border: none;
  }
  .header .head_sub_nav li::before {
    content: "";
    display: block;
    width: 1rem;
    height: 2px;
    background: var(--clr-mono-02);
    border: 1px solid var(--clr-mono-03);
    flex-shrink: 0;
  }
  .header .head_sub_nav a {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
    padding: 0;
    font-size: 1rem;
    letter-spacing: 0.03em;
    color: var(--clr-text-primary);
  }
  .header .gnav_sub_toggle {
    position: absolute;
    right: 0;
    width: 4rem;
    height: 4rem;
    margin-left: 0.5rem;
    color: var(--clr-primary-default);
  }
  .header .gnav_sub_toggle::before,
  .header .gnav_sub_toggle::after {
    top: 0;
    border-bottom: 2px solid var(--clr-primary-default);
  }
  .header .gnav_sub_toggle::after {
    transform: rotate(90deg);
  }
  .header .gnav_sub_toggle.active::after {
    opacity: 0;
  }
  /* ナビ開時にCTAボタンを下部にまとめて表示 */
  .header_btn_wrap {
    position: fixed;
    bottom: 3rem;
    left: 50%;
    transform: translateX(-50%);
    width: min(92%, 22.5rem);
    display: none;
    gap: 0.75rem;
    z-index: 1;
  }
}
@media screen and (max-width: 1080px) and (max-width: 67.5em) and (max-width: 47.9375em) {
  .header_btn_wrap {
    bottom: 0.9375rem;
    width: calc(100% - 3.2857142857rem);
    gap: 0.5714285714rem;
  }
}
@media screen and (max-width: 1080px) and (max-width: 67.5em) {
  .header.active .header_btn_wrap {
    display: flex;
  }
  .header_btn--item {
    flex: 1 1 0;
  }
  .header_btn {
    height: 4rem;
    padding: 0 1rem;
    border-radius: 0.25rem;
    column-gap: 0.75rem;
    font-size: 1rem;
    line-height: 1.6;
  }
  .header_btn .icon img {
    width: 0.75rem;
    height: auto;
  }
}
@media screen and (max-width: 1080px) and (max-width: 34.375em) {
  .gnav {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }
  .gnav_sub_toggle {
    margin-right: 0.25rem;
  }
  .head_sub_nav li::before {
    width: 0.875rem;
  }
}
@media screen and (max-width: 370px) {
  .gnav--link {
    font-size: 0.929rem; /* 13px */
    letter-spacing: 0.08em;
  }
}
/* header-copy 
********************************************** */
.header-copy {
  column-gap: 1.0714285714rem;
}
.header-copy a {
  font-size: var(--font-size-txt-sm);
  color: var(--clr-text-secondary);
}

/* spheader--gnav_cta
********************************************** */
@media screen and (max-width: 47.9375em) {
  .spheader--gnav_cta {
    width: 100%;
    position: absolute;
    z-index: 9999;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    padding-top: 0.8571428571rem;
    padding-left: 1.125rem;
    padding-right: 1.125rem;
    padding-bottom: 1.4285714286rem;
    background: var(--clr-wht);
  }
}
/* header_btn
********************************************** */
.header_btn_wrap {
  display: flex;
  column-gap: 0.5rem;
}

.header_btn--item a {
  transition: var(--transit-default);
}
.header_btn--item a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 47.9375em) {
  .header_btn--item a {
    display: grid;
    margin-bottom: 0;
  }
}

.header_btn {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 1rem;
  place-items: center normal;
  place-content: center normal;
  color: var(--clr-wht);
  padding: 0 1.5rem;
  border-radius: 0.25rem;
  height: 4rem;
  color: var(--clr-text-light);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-md-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-md);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 25.6px */
  letter-spacing: 0.05em;
}

@media print, screen and (min-width: 48em) {
  .header_btn {
    min-width: 11.875rem;
  }
}
.header_btn span {
  display: block;
}

.header_btn .icon {
  display: flex;
  align-items: center;
}

.header_btn_c1 .header_btn {
  background: var(--clr-text-primary);
}

.header_btn_c2 .header_btn {
  background: var(--clr-secondary-default);
}

/* ##############################################################################

    FOOTER

############################################################################## */
.footer-inner {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 47.9375em) {
  .footer-inner {
    padding-bottom: 7.1428571429rem;
  }
}

/* footer_recruit
********************************************** */
.footer_recruit {
  padding: 66px 3.64vw 0 5.2vw;
  background-image: url(../images/common/recruit-bg.svg);
  background-size: 630px auto;
  background-position: top 34px left 64px;
  background-repeat: no-repeat;
}

.footer_recruit .ttl {
  position: relative;
  margin-top: 140px;
  margin-bottom: 4.2rem;
  padding-left: 10.5vw;
  font-size: 8.25rem; /* 132px */
  line-height: 0.5;
  letter-spacing: -0.01em;
}

.footer_recruit .deco {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 15.9375vw;
}

.footer_recruit .txtarea {
  position: relative;
  z-index: 10;
}

.footer_recruit .ttl2 {
  margin-bottom: 2.2rem;
  font-size: 3rem; /* 48px */
  letter-spacing: 0.175em;
  color: #151e2f;
}

.footer_recruit .txt {
  width: 35.93vw;
  margin-bottom: 72px;
  font-size: 1.125rem; /* 18px */
  line-height: 2.66;
  color: #151e2f;
}

.footer_recruit .btn {
  margin-left: 3.636vw;
  margin-bottom: 96px;
}

.footer_recruit .btn a {
  max-width: 554px;
  padding: 42px 100px;
  font-size: 1.25rem; /* 20px */
  letter-spacing: 0.15em;
  color: #fff;
  background-color: #151e2f;
}

.footer_recruit .btn a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 40px;
  bottom: 0;
  display: block;
  width: 34px;
  height: 34px;
  margin: auto;
  background-color: transparent;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.2s ease-out;
  transform: rotate(180deg);
}

.footer_recruit .btn .en {
  position: absolute;
  top: -8px;
  left: -40px;
  font-size: 3.375rem;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.01em;
  transform: rotate(-25deg);
}

.footer_recruit .img1 {
  display: block;
  margin-left: auto;
  margin-right: 0;
}

.footer_recruit .img2 {
  position: absolute;
  top: 190px;
  left: -4.84vw;
}

.footer_recruit .img3 {
  display: block;
  margin-top: -56px;
  transform: translateX(-11.19vw);
}

@media screen and (max-width: 1550px) {
  .footer_recruit .txtarea,
  .footer_recruit .txt {
    width: 52vw;
  }
  .footer_recruit .ttl2 {
    width: 9em;
  }
  .footer_recruit .img2 {
    position: absolute;
    top: 290px;
    left: 12vw;
  }
  .footer_recruit .img3 {
    margin-top: 100px;
    transform: translateX(-6vw);
  }
}
@media screen and (max-width: 767px) {
  .footer_recruit {
    padding: 24px 1.5vw 40px 2.5vw;
    background-size: 50% auto;
    background-position: top 16px left 32px;
  }
  .footer_recruit .ttl {
    margin-top: 72px;
    margin-bottom: 2rem;
    padding-left: 0;
    font-size: 4rem;
  }
  .footer_recruit .deco {
    width: 154px;
  }
  .footer_recruit .ttl2 {
    margin-bottom: 1rem;
    font-size: 1.75rem;
  }
  .footer_recruit .txtarea {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }
  .footer_recruit .txt {
    width: 100%;
  }
  .footer_recruit .txt {
    margin-bottom: 36px;
    font-size: 1rem; /* 14px */
    line-height: 2;
  }
  .footer_recruit .btn {
    margin-left: 1.8vw;
    margin-bottom: 0;
  }
  .footer_recruit .btn a {
    padding: 24px 48px;
    font-size: 1.143rem; /* 16px */
  }
  .footer_recruit .btn a::before {
    right: 32px;
    width: 12px;
    height: 12px;
    margin: auto;
  }
  .footer_recruit .btn .en {
    left: -10px;
    font-size: 2.5rem;
  }
  .footer_recruit .imgarea {
    position: absolute;
    top: -12px;
    right: 6px;
  }
  .footer_recruit .img1 {
    width: 36%;
  }
  .footer_recruit .img2 {
    top: 28vw;
    width: 23%;
    right: -6px;
    left: auto;
  }
  .footer_recruit .img3 {
    display: none;
  }
}
/* footer_top
********************************************** */
.footer_top {
  padding: 80px 5vw 58px 5.31vw;
}

.txt-profile {
  letter-spacing: 0.05em;
}

/* ---fnav --- */
.fnav--menu {
  position: relative;
}

.fnav--menu a:hover {
  opacity: 0.7;
}

/* ---sns_area --- */
.sns--list {
  margin-top: 20px;
}

.sns--list li:not(:last-child) {
  margin-right: 0.5rem;
}

.sns--list a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem; /* 24px */
  margin-right: 1rem;
}

.sns--list a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 1081px) {
  .fnav--menu li.menu-item-home {
    position: absolute;
    top: 0;
    left: -56px;
    width: auto;
    padding: 0;
  }
  .fnav--menu .gnav--link {
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: left;
    padding: 0;
  }
  .fnav--menu .gnav--link .jp {
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 48em) {
  .fnav--menu .menu-item-has-children {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #000;
  }
}
.fnav--menu .menu-item-has-children > .gnav--link .jp::before {
  display: none;
}
.fnav--menu .menu-item-has-children > .gnav--link .jp {
  margin-bottom: 0;
  padding-bottom: 0.75rem;
}
@media screen and (max-width: 47.9375em) {
  .fnav--menu .menu-item-has-children > .gnav--link {
    margin-bottom: 0;
  }
  .fnav--menu .menu-item-has-children > .gnav--link .jp {
    padding-bottom: 0.5714285714rem;
  }
}
.fnav--menu .sub-menu li a {
  padding-left: 1.5rem;
  position: relative;
}
.fnav--menu .sub-menu li a::after {
  content: "";
  width: 1rem;
  height: 2px;
  background: var(--clr-primary-default);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}

@media screen and (max-width: 1300px) {
  .fnav--menu {
    width: 100%;
    max-width: 100%;
  }
  .fnav--menu li {
    padding-left: 24px;
  }
  .footer--logo {
    margin-inline: auto;
  }
  .footer_top {
    flex-direction: column;
  }
  .footer--logowrap {
    width: 100%;
    margin-inline: auto;
    margin-bottom: 5rem;
    text-align: center;
  }
  .footer--logowrap .btn {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 1080px) {
  .footer_top {
    padding: 36px 8vw 24px;
  }
  .footer--logo {
    max-width: 120px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
  }
  .txt-company,
  .txt-profile {
    text-align: center;
  }
  /* ---fnav --- */
  .fnav--menu {
    width: 100%;
    margin-top: 32px;
  }
  .fnav--menu .sub-menu {
    margin-bottom: 1.4285714286rem;
  }
  /* ---sns_area --- */
}
@media screen and (max-width: 1080px) and (max-width: 47.9375em) {
  .fnav--menu {
    margin-top: 0;
  }
}
@media screen and (max-width: 1080px) {
  .fnav--menu li {
    padding-left: 0;
  }
  .sns--list {
    margin-top: 20px;
  }
  .sns--list li:not(:last-child) {
    margin-right: 0.5rem;
  }
  .sns--list a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem; /* 24px */
    margin-right: 1rem;
  }
  .sns--list a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 354px) {
  .txt-company,
  .txt-profile {
    font-size: 0.786rem; /* 11px */
  }
}
/* footer_btm
*************************************************** */
.footer_btm {
  padding: 20px 1.45vw;
}

/* ---fnav--menu2 --- */
.fnav--menu2 {
  transform: translateY(2px);
  margin-right: 40px;
}

.fnav--menu2 a {
  position: relative;
  display: block;
  margin-left: 1.5em;
  padding-left: 1.6em;
}

.fnav--menu2 a:hover {
  opacity: 0.5;
}

.fnav--menu2 a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: block;
  width: 1rem;
  height: 0;
  margin: auto;
  border-top: solid 1px;
}

/* ---copyright --- */
.copyright {
  letter-spacing: 0.05em;
}

/* ---pbl --- */
.pbl img {
  opacity: 0.2;
}

@media print, screen and (min-width: 1281px) {
  .copyright {
    margin-right: 1.5em;
  }
}
@media screen and (max-width: 1280px) {
  .footer_btm {
    padding: 0 0 16px;
    justify-content: center;
    flex-wrap: wrap;
  }
  /* ---fnav--menu2 --- */
  .fnav--menu2 {
    width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
  }
  .fnav--menu2 li {
    width: 50%;
    text-align: center;
    font-size: 0.857rem; /* 12px */
  }
  .fnav--menu2 li.menu-item-3502 {
    width: 100%;
  }
  .fnav--menu2 a {
    padding: 8px;
    border-bottom: solid 1px #fff;
    margin-left: 0;
  }
  .fnav--menu2 li:nth-child(odd) {
    border-right: solid 1px #fff;
  }
  .fnav--menu2 a::before {
    display: none;
  }
  /* ---copyright --- */
  .copyright {
    width: 100%;
    text-align: center;
  }
}
/* ##############################################################################

    MCE

############################################################################## */
.mce-content-body .table2 td ul.mce-check--list2 li::before {
  top: 0.1em !important;
  left: 0.1em;
}

.mce-content-body ul.mce-check--list2:where(:not([class*=ez-toc-])) li::before {
  content: "";
  float: inline-start;
  inline-size: 0.625rem;
  aspect-ratio: 1;
  margin-block: calc((1lh - 0.625rem) / 2);
  margin-inline-start: -1.625rem;
  color: var(--clr-secondary-default);
  border: none;
  background-color: initial;
  width: 1.25em;
  height: auto;
  translate: -0.4375rem -0.5rem;
  background-image: url(../images/common/icon-check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right;
}

ul.mce-check--list2 li {
  margin-top: 0;
  position: relative;
  padding-top: 0;
  padding-bottom: 0.5em;
}
ul.mce-check--list2 li::before, ul.mce-check--list2 li::after {
  content: "";
  margin-inline-start: -2.125em;
}
ul.mce-check--list2 li::before {
  top: initial;
  left: initial;
  width: 1.5em;
  margin-block: calc((1lh - 1.5em) / 2);
  border-radius: 50%;
}
ul.mce-check--list2 li::after {
  display: none;
  position: absolute;
  top: 0rem;
  left: calc(0.4375em + 0rem);
  float: inline-start;
  width: 0.625em;
  margin-block: calc((1lh - 0.625em) / 2);
  aspect-ratio: 10/7;
  border-left: 0.175em solid var(--clr-wht);
  border-bottom: 0.175em solid var(--clr-wht);
  rotate: -45deg;
}
@media print, screen and (min-width: 48em) {
  ul.mce-check--list2 li::after {
    top: 0.1875rem;
    left: calc(0.875em - 0.25%);
  }
}

/* ##############################################################################

    INDEX

############################################################################## */
.home-inner {
  overflow: clip;
}

.home-ttl {
  line-height: 1;
  letter-spacing: 0.1em;
}

.home-ttl.rl {
  flex-direction: column;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.home-ttl .en {
  font-size: 6.25rem; /* 100px */
  letter-spacing: -0.01em;
  line-height: 0.5;
  display: block;
  margin-bottom: 1.625rem;
}
.home-ttl .en::first-letter {
  color: var(--clr-primary-default);
}
@media screen and (max-width: 47.9375em) {
  .home-ttl .en {
    line-height: 1.2;
    margin-bottom: 0;
  }
}

.home-ttl .jp {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  display: block;
}

.btn .txt {
  width: 100%;
}

.home-ttl.rl .en {
  order: 2;
}

@media screen and (max-width: 767px) {
  .home-ttl {
    font-size: 0.8571428571rem; /* 11px */
    line-height: 1.2;
  }
  .home-ttl .en {
    margin-right: 1rem;
    font-size: 3.5rem;
  }
}
/* hero
********************************************** */
.hero {
  position: relative;
  z-index: 50;
  background-color: #f0f0e7;
  display: grid;
  grid-template-columns: 100%;
  place-items: center normal;
  height: 100vh;
  max-height: 67.5rem;
  overflow: clip;
}
.hero > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .hero {
    width: 100%;
    height: auto;
    max-height: none;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto auto auto;
    place-items: normal;
  }
  .hero > * {
    grid-column: 1;
    grid-row: 1/4;
  }
}
.hero .row--slide,
.hero .v--slide-img {
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 47.9375em) {
  .hero .row--slide,
  .hero .v--slide-img {
    height: fit-content;
  }
}
.hero .row--slide {
  margin-inline: auto;
}
.hero .v--slide-img {
  margin-left: auto;
  margin-right: 2.75rem;
}
@media screen and (max-width: 47.9375em) {
  .hero .v--slide-img {
    margin-right: 0;
    width: fit-content;
    overflow: visible;
  }
}

.hero .svgbox {
  width: 100%;
  height: 100%;
}
.hero .svgbox svg {
  width: auto;
  height: 100%;
}
@media screen and (max-width: 80em) {
  .hero .svgbox svg {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .hero .svgbox svg {
    width: 200%;
    height: auto;
  }
}

/* --- back--sankaku --- */
.back_sankaku {
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: fade-in 1s 6.1s cubic-bezier(0.78, 0, 0.22, 1) both;
  position: relative;
}
.back_sankaku > * {
  position: absolute;
}
.back_sankaku .back_sankaku1 {
  left: 6.375rem;
  top: -15rem;
  rotate: 68deg;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku1 {
    display: none;
  }
}
.back_sankaku .back_sankaku1 img {
  width: 34rem;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku1 img {
    width: 14.2857142857rem;
  }
}
.back_sankaku .back_sankaku2 {
  right: 0;
  rotate: 20deg;
  top: -15rem;
  rotate: -141deg;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku2 {
    display: none;
  }
}
.back_sankaku .back_sankaku2 img {
  width: 34rem;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku2 img {
    width: 14.2857142857rem;
  }
}
.back_sankaku .back_sankaku3 {
  bottom: -15rem;
  rotate: 113deg;
  left: -10rem;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku3 {
    display: none;
  }
}
.back_sankaku .back_sankaku3 img {
  width: 34rem;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku3 img {
    width: 14.2857142857rem;
  }
}
.back_sankaku .back_sankaku4 {
  bottom: -15rem;
  rotate: 113deg;
  right: -10rem;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku4 {
    display: none;
  }
}
.back_sankaku .back_sankaku4 img {
  width: 34rem;
}
@media screen and (max-width: 47.9375em) {
  .back_sankaku .back_sankaku4 img {
    width: 14.2857142857rem;
  }
}

/* --- hero--sankaku --- */
.rotate-trai--wrap {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 100%;
  opacity: 0;
  animation: fade-in 1s 6.1s cubic-bezier(0.78, 0, 0.22, 1) both;
}
.rotate-trai--wrap > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--wrap {
    rotate: 90deg;
    translate: 0 11.4285714286rem;
    z-index: -1;
  }
}

.rotate-trai_innter {
  width: fit-content;
  height: fit-content;
}

.rotate-trai--box {
  width: fit-content;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--box {
    height: 100vw;
  }
}

.rotate-trai--item {
  height: 100%;
  display: flex;
}

.rotate-trai--1 {
  height: 100%;
  margin-inline: auto;
  translate: -10vw 0;
}
.rotate-trai--1 .rotate-trai--item {
  animation: loop-v 24s 0s linear infinite;
}
.rotate-trai--1 .rotate-trai_innter {
  margin-top: auto;
  margin-bottom: 2.5rem;
  animation: rotate 36s 0s linear infinite;
}
.rotate-trai--1 .rotate-trai_innter img {
  width: 6.4375rem;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--1 .rotate-trai_innter img {
    width: 5.1428571429rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--1 .rotate-trai_innter {
    margin-bottom: 2rem;
  }
}

.rotate-trai--2 {
  height: 100%;
  margin-inline: auto;
  translate: -20vw 0;
}
.rotate-trai--2 .rotate-trai--item {
  animation: loop-v 32s 0s linear infinite;
}
.rotate-trai--2 .rotate-trai_innter {
  margin-top: 15rem;
  animation: rotate 32s 0s linear infinite;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--2 .rotate-trai_innter {
    margin-top: 11.4285714286rem;
  }
}

.rotate-trai--3 {
  height: 100%;
  margin-inline: auto;
  translate: -25vw 0;
}
.rotate-trai--3 .rotate-trai--item {
  animation: loop-v 24s 0s linear infinite;
}
.rotate-trai--3 .rotate-trai_innter {
  margin-top: auto;
  margin-bottom: 5rem;
  animation: rotate 20s 0s linear infinite;
}
.rotate-trai--3 .rotate-trai_innter img {
  width: 10.875rem;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--3 .rotate-trai_innter img {
    width: 8.5714285714rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--3 .rotate-trai_innter {
    margin-bottom: 3.8571428571rem;
  }
}

.rotate-trai--4 {
  height: 100%;
  margin-inline: auto;
  translate: 16vw 0;
}
.rotate-trai--4 .rotate-trai--item {
  animation: loop-v 38s 0s linear infinite;
}
.rotate-trai--4 .rotate-trai_innter {
  margin-top: 15rem;
  animation: rotate 28s 0s linear infinite;
}
.rotate-trai--4 .rotate-trai_innter img {
  width: 10.875rem;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--4 .rotate-trai_innter img {
    width: 8.5714285714rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--4 .rotate-trai_innter {
    margin-top: 11.4285714286rem;
  }
}

.rotate-trai--5 {
  height: 100%;
  margin-inline: auto;
  translate: 30vw 0;
}
.rotate-trai--5 .rotate-trai--item {
  animation: loop-v 20s 0s linear infinite;
}
.rotate-trai--5 .rotate-trai_innter {
  margin-top: auto;
  margin-bottom: 3.75rem;
  animation: rotate 20s 0s linear infinite;
}
.rotate-trai--5 .rotate-trai_innter img {
  width: 7.9375rem;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--5 .rotate-trai_innter img {
    width: 6.2857142857rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--5 .rotate-trai_innter {
    margin-bottom: 2.8571428571rem;
  }
}

.rotate-trai--6 {
  height: 100%;
  margin-left: auto;
}
.rotate-trai--6 .rotate-trai--item {
  animation: loop-v 46s 0s linear infinite;
}
.rotate-trai--6 .rotate-trai_innter {
  margin: 2.5rem;
  animation: rotate 30s 0s linear infinite;
}
.rotate-trai--6 .rotate-trai_innter img {
  width: 7.9375rem;
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--6 .rotate-trai_innter img {
    width: 6.2857142857rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .rotate-trai--6 .rotate-trai_innter {
    margin: 2rem;
  }
}

.hero_bg {
  position: absolute;
  top: 0;
  left: 5.9375vw;
  right: 0;
  bottom: 0;
  opacity: 0.3;
  mix-blend-mode: multiply;
}

/* --- hero--slide --- */
.hero_slides {
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  bottom: -64px;
  max-width: 960px;
  z-index: 0;
  overflow: hidden;
}

.hero_slide,
.hero_slide .slick-slider,
.slick-list {
  height: 100% !important;
}

.hero_slide {
  overflow: hidden;
}

/* --- .hero--catch --- */
.hero--catch_sub1 {
  overflow: hidden;
  color: var(--clr-wht);
  font-family: var(--font-jp-heading);
  font-size: 2rem;
  letter-spacing: 0.15em;
  line-height: 1;
  font-weight: 700;
  padding: 1.25rem 0.875rem;
  background: #0c8031;
  width: fit-content;
  position: relative;
}
@media screen and (max-width: 47.9375em) {
  .hero--catch_sub1 {
    padding: 0.7142857143rem 0.5rem;
    font-size: 1.1428571429rem;
  }
}
.hero--catch_sub1::after, .hero--catch_sub1::before {
  content: "";
  position: absolute;
  display: block;
  border-radius: 100%;
  filter: blur(10px);
  background: #17d422;
}
.hero--catch_sub1::after {
  width: 13.125rem;
  height: 13.125rem;
  left: -3.5rem;
  bottom: calc(100% - 2.6875rem);
}
.hero--catch_sub1::before {
  width: 17.5rem;
  height: 17.5rem;
  right: -4.75rem;
  top: calc(100% - 2.6875rem);
}
.hero--catch_sub1 .pos-rel {
  z-index: 10;
}

.herp--catch_main {
  font-size: 4.1875rem;
  font-family: var(--font-jp-heading3);
  font-weight: 600;
  color: var(--clr-text-primary);
  line-height: 1.34;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 47.9375em) {
  .herp--catch_main {
    font-size: 2.4rem;
  }
}
.herp--catch_main .style1 {
  font-family: DIN2014;
  font-size: 4.8125rem;
  color: #0c8031;
}
@media screen and (max-width: 47.9375em) {
  .herp--catch_main .style1 {
    font-size: 2.1428571429rem;
  }
}
.herp--catch_main .style1 img {
  translate: 0 -0.05em;
}
@media screen and (max-width: 47.9375em) {
  .herp--catch_main .style1 img {
    width: 8.5714285714rem;
  }
}
.herp--catch_main .style2 {
  color: var(--clr-primary-dark);
}
.herp--catch_main .let2 {
  letter-spacing: -0.05em;
}
.herp--catch_main .line {
  display: block;
}

.hero--catch_sub2 {
  font-size: 1.625rem;
  font-family: var(--font-jp-heading3);
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 3.45;
}
@media screen and (max-width: 47.9375em) {
  .hero--catch_sub2 {
    margin-top: 0.8571428571rem;
    font-size: 1.1rem;
    line-height: 1.4;
    margin-bottom: 1.4285714286rem;
  }
}
.hero--catch_sub2 .yaku {
  letter-spacing: -0.4em;
}

.hero--catch_txt {
  font-family: var(--font-en-heading);
  font-size: 0.875rem;
  line-height: 1.71;
  color: #949494;
}
.hero--catch_txt span {
  display: block;
}

/* txt-v-slide
********************************************** */
.row--slide {
  opacity: 0;
  animation: fade-in 1s 4s cubic-bezier(0.78, 0, 0.22, 1) both;
}
@media screen and (max-width: 47.9375em) {
  .row--slide {
    display: none;
  }
}

.row--slide--item {
  animation: loop-v 40s 0s linear infinite;
  padding-bottom: 2rem;
}

.h--slide_sp {
  display: none;
  opacity: 0;
  animation: fade-in 1s 4s cubic-bezier(0.78, 0, 0.22, 1) both;
}
@media screen and (max-width: 47.9375em) {
  .h--slide_sp {
    display: flex;
    grid-row: 2;
    margin-bottom: 2.5rem;
  }
  .h--slide_sp .h--slide--item {
    padding-left: 1.4285714286rem;
    width: fit-content;
    animation: loop3-h 40s 0s linear infinite;
    flex-shrink: 0;
  }
  .h--slide_sp .h--slide--item img {
    width: fit-content;
    max-width: none;
    height: 5.5rem;
  }
}

.v--slide-img.style2 {
  filter: blur(11px);
}
@media screen and (max-width: 47.9375em) {
  .v--slide-img.style2 {
    z-index: -1;
  }
}
.v--slide-img.style2 .v--slide-img--item {
  scale: 0.9;
  animation: loop-v 38s 0s linear infinite;
}
@media screen and (max-width: 47.9375em) {
  .v--slide-img.style2 .v--slide-img--item {
    animation: loop2-h 80s 0s linear infinite;
  }
}
.v--slide-img.style2 .v--slide-img--item .img--item--inner {
  opacity: 0;
  animation: fade-in 1s 6.1s cubic-bezier(0.78, 0, 0.22, 1) both;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.v--slide-img.style2 .v--slide-img--item .img--item--inner::after {
  display: none;
}

@media screen and (max-width: 47.9375em) {
  .v--slide-img {
    display: flex;
    grid-row: 2;
    overflow-x: hidden;
    width: 100%;
  }
}

.v--slide-img--item {
  display: grid;
  grid-template-columns: auto 1fr;
  width: fit-content;
  animation: loop-v 30s 0s linear infinite;
}
@media screen and (max-width: 47.9375em) {
  .v--slide-img--item {
    animation: loop2-h 60s 0s linear infinite;
  }
}
.v--slide-img--item .img--item .img--item--inner {
  position: relative;
  width: fit-content;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  animation: mask-on 1s 5.1s cubic-bezier(0.78, 0, 0.22, 1) both;
}
.v--slide-img--item .img--item .img--item--inner::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--clr-primary-default);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  animation: mask-off 1s 6.1s cubic-bezier(0.5, 0, 0.75, 0) both;
}
@media print, screen and (min-width: 61.3125em) {
  .v--slide-img--item .img--item05 {
    grid-column: 1/3;
  }
  .v--slide-img--item .img--item08 {
    grid-column: 1/3;
  }
  .v--slide-img--item .img--item01 {
    margin-top: auto;
    margin-left: 6.8125rem;
  }
  .v--slide-img--item .img--item02 {
    margin-left: 15.9375rem;
    margin-bottom: 6.4375rem;
  }
  .v--slide-img--item .img--item03 {
    margin-top: auto;
  }
  .v--slide-img--item .img--item04 {
    margin-top: 0.625rem;
    margin-left: 4.5rem;
    margin-bottom: 2.125rem;
  }
  .v--slide-img--item .img--item05 {
    margin-top: 4.8125rem;
    margin-left: 0rem;
    margin-bottom: 5rem;
  }
  .v--slide-img--item .img--item06 {
    margin-left: 1.5625rem;
    margin-bottom: 7.625rem;
  }
  .v--slide-img--item .img--item07 {
    margin-top: auto;
    margin-left: 0rem;
  }
  .v--slide-img--item .img--item08 {
    margin-top: 5rem;
    margin-left: 8.75rem;
    margin-bottom: 6.875rem;
  }
  .v--slide-img--item .img--item09 {
    margin-top: auto;
    margin-left: 10.75rem;
  }
  .v--slide-img--item .img--item10 {
    margin-top: auto;
    margin-left: 11.375rem;
    margin-bottom: 7.625rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .v--slide-img--item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    width: auto;
    flex-shrink: 0;
    height: auto;
    gap: 0;
  }
  .img--item {
    flex-shrink: 0;
    margin-right: 20px;
  }
  .img--item img {
    height: 100%;
    width: 100%;
  }
  .img--item01 img {
    max-height: 34vh;
  }
  .img--item02 img {
    max-height: 32vh;
  }
  .img--item03 img {
    max-height: 30vh;
  }
  .img--item04 img {
    max-height: 30vh;
  }
  .img--item05 img {
    max-height: 36vh;
  }
  .img--item06 img {
    max-height: 28vh;
  }
  .img--item07 img {
    max-height: 30vh;
  }
  .img--item08 img {
    max-height: 38vh;
  }
  .img--item09 img {
    max-height: 30vh;
  }
  .img--item10 img {
    max-height: 30vh;
  }
  .img--item01 {
    margin-top: 6.8125rem;
    margin-left: auto;
  }
  .img--item02 {
    margin-top: 15.9375rem;
    margin-right: 6.4375rem;
  }
  .img--item03 {
    margin-left: auto;
  }
  .img--item04 {
    margin-top: 4.5rem;
    margin-left: 0.625rem;
    margin-right: 2.125rem;
  }
  .img--item05 {
    width: 28.5714285714rem;
    margin-top: 11.25rem;
    margin-left: 4.8125rem;
    margin-right: 5rem;
    flex: 0 0 auto;
  }
  .img--item06 {
    margin-top: 1.5625rem;
    margin-right: 7.625rem;
  }
  .img--item07 {
    margin-top: 9.0625rem;
    margin-left: auto;
  }
  .img--item08 {
    margin-top: 11.25rem;
    margin-left: 6.875rem;
    margin-right: 6.875rem;
    flex: 0 0 auto;
  }
  .img--item09 {
    margin-top: 10.75rem;
    margin-left: auto;
  }
  .img--item10 {
    margin-top: 11.375rem;
    margin-left: auto;
    margin-right: 7.625rem;
  }
}
.hero--catch {
  width: 90%;
  max-width: 106.25rem;
  margin-inline: auto;
  position: relative;
  height: fit-content;
}

.hero .deco1,
.hero .deco2 {
  line-height: 1;
  letter-spacing: -0.02em;
}

.hero .deco1 {
  font-size: 13.54vw;
  transform: translateX(-0.05em);
  pointer-events: none;
}

.hero .deco2 {
  margin-top: -4.89vw;
  font-size: 13.54vw;
  transform: translateX(-0.08em) translateY(6.9vw);
  pointer-events: none;
}

.hero .deco2::after {
  display: inline-block;
  content: "from ASAHI-City";
  margin-left: 3vw;
  font-size: 1.56rem; /* 30px */
  letter-spacing: 0.09em;
  transform: translateY(-2.8em);
  opacity: 0;
  animation: opacity cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s forwards;
  animation-delay: 1.9s;
}

.hero .deco1 .row > span,
.hero .deco2 .row > span {
  display: inline-block;
  overflow: hidden;
}

.hero .deco1 .row span span,
.hero .deco2 .row span span {
  display: inline-block;
  transform: translateX(-1em);
  animation: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s forwards;
}

@keyframes transform {
  0% {
    transform: translateX(-1em);
  }
  100% {
    transform: translateX(0);
  }
}
.hero--catch .txtarea {
  margin-top: -64px;
  padding-left: 2.8vw;
  opacity: 0;
  animation: opacity cubic-bezier(0.215, 0.61, 0.355, 1) 1.5s forwards;
  animation-delay: 2.2s;
}

@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.hero--catch .ttl {
  position: relative;
  margin-bottom: 8px;
  font-size: 3.75rem; /* 60px */
  line-height: 1.25;
  letter-spacing: 0.2em;
}

.hero--catch .ttl .speech_bubbles {
  position: absolute;
  top: -4.28em;
  left: -28px;
  padding: 1em 1.57em 0.9em;
  border: solid 3px;
  border-radius: 100px;
  background-color: #fff;
  font-size: 1.458vw; /* 28px */
  line-height: 1;
  letter-spacing: 0.1em;
}

.hero--catch .ttl .speech_bubbles::before {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  display: block;
  width: 30px;
  height: 30px;
  margin: auto;
  background-color: #009c00;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1046.04"><path d="M874.47,7.25,35.73,450.65c-47.64,30.18-47.64,114.74,0,144.92l824.82,436c2.21,0,18.47,14.45,49,14.45A90.47,90.47,0,0,0,1000,955.57V90.63C1000,19,924.11-16.27,874.47,7.25Z"/></svg>');
  mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1046.04"><path d="M874.47,7.25,35.73,450.65c-47.64,30.18-47.64,114.74,0,144.92l824.82,436c2.21,0,18.47,14.45,49,14.45A90.47,90.47,0,0,0,1000,955.57V90.63C1000,19,924.11-16.27,874.47,7.25Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transform: rotate(-90deg);
}

.hero--catch .txt {
  font-size: 1.125rem; /* 18px */
}

/* --- hero--scroll --- */
.hero--scroll {
  opacity: 0;
  position: absolute;
  left: 2.6vw;
  bottom: 0;
  z-index: 2;
  display: inline-block;
  padding-bottom: 164px;
  font-size: 0.938rem; /* 15px */
  line-height: 1;
  letter-spacing: 0.15em;
  writing-mode: vertical-lr;
  overflow: hidden;
}

.hero--scroll::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 144px;
  background-color: #151e2f;
}

.hero--scroll::after {
  content: "";
  position: absolute;
  bottom: 134px;
  left: calc(50% - 5.5px);
  width: 12px;
  height: 12px;
  background-image: url(../images/common/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(-90deg);
  animation: scroll 2.5s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

@keyframes scroll {
  0% {
    opacity: 0;
    bottom: 134px;
  }
  10% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    bottom: 0;
  }
}
/* --- copyright --- */
.hero .copyright {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 2vw;
  writing-mode: vertical-lr;
}

@media screen and (max-width: 1600px) {
  .hero_slides {
    max-width: 50vw;
  }
}
@media screen and (max-width: 1300px) {
  .hero--catch .ttl {
    font-size: 2.5rem;
  }
  .hero .deco2::after {
    font-size: 1rem;
    transform: translateY(-2em);
  }
  .hero .copyright {
    top: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .hero {
    padding-top: 24px;
  }
  .hero_bg {
    top: 0;
    left: 0;
    right: 8.25vw;
  }
  /* --- hero--slide --- */
  .hero_slides {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    width: calc(100% - 8.25vw);
    max-width: none;
    height: 88.2vw;
    overflow: visible;
  }
  /* --- .hero--catch --- */
  .hero--catch {
    padding: 62px 8vw 32px;
  }
  /* --- hero--scroll --- */
  /* --- copyright --- */
}
@media screen and (max-width: 767px) and (max-width: 47.9375em) {
  .hero--catch {
    grid-row: 1;
    padding-top: 5.7142857143rem;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .hero--catch::before {
    left: 0;
    right: 8.25vw;
  }
  .hero .deco1 {
    position: absolute;
    top: 0em;
    left: 4px;
    font-size: 19.57vw;
  }
  .hero .deco2 {
    position: absolute;
    top: 79.2vw;
    left: 4px;
    font-size: 19.57vw;
    margin-top: 0;
    transform: translateX(-0.08em) translateY(0);
  }
  .hero .deco2::after {
    display: block;
    margin-left: 0;
    font-size: 3.53vw;
    transform: translateX(1em) translateY(-2.2em);
    text-align: right;
  }
  .hero--catch .txtarea {
    margin-top: 0;
    padding-left: 0;
  }
  .hero--catch .ttl {
    margin-bottom: 8px;
    font-size: 7vw;
    line-height: 1.5;
  }
  .hero--catch .ttl .speech_bubbles {
    top: -5.25em;
    left: -8px;
    padding: 1.3em 1.5em 1.1em;
    border-width: 2px;
    font-size: 3.3vw;
  }
  .hero--catch .ttl .speech_bubbles::before {
    bottom: -15px;
    width: 15px;
    height: 15px;
  }
  .hero--catch .txt {
    padding-right: 6vw;
    font-size: 1rem;
  }
  .hero--scroll {
    left: auto;
    right: 2.7vw;
    bottom: 0;
    transform: scale(0.6, 0.6);
    transform-origin: right bottom;
  }
  .hero .copyright {
    top: 208px;
    left: auto;
    right: 1.5vw;
    width: auto;
  }
}
@media screen and (max-width: 360px) {
  .hero .deco2 {
    top: 81vw;
  }
}
/* home_news
********************************************** */
.home_news {
  position: relative;
  z-index: 20;
  padding-top: 64px;
  background-color: #fff;
}

.home_news-wrap {
  overflow-x: scroll;
}
.home_news-wrap::-webkit-scrollbar {
  height: 8px; /* スクロールバーの幅。横スクロールの場合はheightに変更する*/
}
.home_news-wrap::-webkit-scrollbar-thumb {
  background-color: var(--clr-green); /*スクロールバーの色*/
  border-radius: 5px; /* Rもつけれる*/
}
.home_news-wrap::-webkit-scrollbar-track-piece {
  background-color: #efefef; /* スクロールバーの背景色*/
  border-radius: 5px;
}

@media screen and (max-width: 47.9375em) {
  .home_news-wrap .post {
    flex-shrink: 0;
  }
}

.home_news .news_list {
  padding: 50px 2vw 36px 2vw;
  border-top: solid 1px #151e2f;
  border-bottom: solid 1px #151e2f;
}

.home_news .home-ttl {
  padding-bottom: 50px;
}

.home_news .home-ttl .en {
  margin-right: 1rem;
  font-size: 4rem;
}

.home_news .news_list .post {
  width: 25%;
  padding: 0 16px 16px 16px;
  margin-bottom: 0;
  flex-shrink: 0;
}

.news_list .post--img {
  position: relative;
  width: 100%;
  padding-top: 65%;
  margin-bottom: 10px;
  background-color: #fff;
  overflow: hidden;
}

.news_list .post--img .noimg {
  top: 0;
  height: 90%;
  padding-top: 10%;
}

.news_list .post--img::after {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 5;
  background-color: rgba(48, 222, 59, 0.3);
  pointer-events: none;
  opacity: 0;
  transition: all 0.4s ease-out 0s;
}

.news_list .post:hover .post--img::after {
  opacity: 1;
}

.news_list .post--ttl .post--link {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news_list .post--link:not([href="javascript:void(0);"]):hover {
  color: var(--clr-primary-default);
}

.news_list .post--link:hover svg {
  fill: var(--clr-primary-default);
}

.news_list .new-icon {
  margin-left: 8px;
  padding: 4px 8px 2px 8px;
  font-size: 0.786rem;
  line-height: normal;
  color: #fff;
  background-color: var(--clr-primary-default);
  border-radius: 90px;
  transform: translateY(-2px);
}

.news_btn::before {
  content: "";
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;
  display: block;
  width: 32px;
  height: 32px;
  margin: auto;
  border-radius: 50%;
  background-color: #fff;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow_navy.svg);
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.2s ease-out;
  transform: rotate(180deg);
}

@media screen and (min-width: 768px) {
  .home_news .news_list .btn {
    position: absolute;
    top: 34px;
    right: calc(2vw + 16px);
    width: 306px;
  }
}
@media screen and (max-width: 767px) {
  .home_news {
    padding-top: 0;
  }
  .home_news .home-ttl .en {
    font-size: 3rem;
  }
  .home_news .home-ttl {
    padding-bottom: 10px;
  }
  .home_news .news_list {
    padding: 30px 10px 24px 10px;
  }
  .home_news .news_list .post {
    width: 50%;
    padding: 10px;
    font-size: 0.786rem; /* 11px */
  }
  .home_news .news_list .new-icon {
    padding: 2px 4px 0px 4px;
    font-size: 0.625rem;
    line-height: normal;
  }
  .news_btn::before {
    right: 12px;
    bottom: 0;
    width: 16px;
    height: 16px;
    background-size: 6px;
  }
  .home_news .slick-dots {
    position: absolute;
    bottom: 54px;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    width: calc(100% - 48px);
    max-width: 1356px;
    height: 9px;
    margin-left: auto;
    margin-right: auto;
    background-color: #f0f0e7;
    border-radius: 9px;
    overflow: hidden;
  }
  .home_news .slick-dots li {
    flex: 1;
  }
  .home_news .slick-dots button {
    display: block;
    width: 100%;
    height: 9px;
    padding: 0;
    margin: 0;
    font-size: 0;
    border: none;
    border-radius: 9px;
    background-color: #f0f0e7;
    cursor: pointer;
  }
  .home_news .slick-dots .slick-active button {
    background-color: var(--clr-primary-default);
  }
}
/* home_message
********************************************** */
.home_message {
  position: relative;
  z-index: 10;
  padding-top: 144px;
  padding-left: 8vw;
  overflow: clip;
}

@media screen and (max-width: 47.9375em) {
  .home_message--inner {
    position: absolute;
    top: 5.7142857143rem;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
.message_slidebox .slide--item {
  margin: 0;
}
.home_message .deco-arrow1 {
  bottom: -10%;
  right: 43vw;
  width: 72.6875rem;
}

.home_message .deco-arrow2 {
  top: 160px;
  right: -4.1875rem;
  margin: auto;
}

.home_message .img1 {
  top: 252px;
  right: 128px;
  transition-delay: 2s;
}

.home_message .img2 {
  top: 424px;
  right: 382px;
  transition-delay: 2.5s;
}

.home_message .img3 {
  top: 586px;
  right: 32px;
  transition-delay: 3s;
}

.home_message .icn {
  opacity: 0;
  transform: translate(0, 16px);
  transition: all 1.25s cubic-bezier(0.2, -2, 0.8, 2);
}

.home_message.active .icn {
  opacity: 1;
  transform: translate(0, 0);
}

.home_message .icn01 {
  top: 25px;
  right: 150px;
  transition-delay: 0.1s;
}

.home_message .icn02 {
  top: 192px;
  right: 348px;
  transition-delay: 0.3s;
}

.home_message .icn03 {
  top: 48px;
  right: 446px;
  transition-delay: 0.5s;
}

.home_message .icn04 {
  top: 314px;
  right: 638px;
  transition-delay: 0.7s;
}

.home_message .icn05 {
  top: 302px;
  right: 734px;
  transition-delay: 0.9s;
}

.home_message .icn06 {
  top: 458px;
  right: 854px;
  transition-delay: 1.1s;
}

.home_message .icn07 {
  top: 612px;
  right: 1000px;
  transition-delay: 1.3s;
}

.home_message .icn08 {
  top: 763px;
  right: 868px;
  transition-delay: 1.5s;
}

.home_message .icn09 {
  top: 937px;
  right: 836px;
  transition-delay: 1.7s;
}

.home_message .icn10 {
  top: 920px;
  right: 572px;
  transition-delay: 1.9s;
}

.home_message .icn11 {
  top: 1088px;
  right: 487px;
  transition-delay: 2.1s;
}

.home_message .icn12 {
  top: 1111px;
  right: 324px;
  transition-delay: 2.3s;
}

.home_message .icn13 {
  top: 1255px;
  right: 266px;
  transition-delay: 2.5s;
}

.home_message .icn14 {
  top: 1214px;
  right: 108px;
  transition-delay: 2.7s;
}

.home_message .home-ttl {
  position: relative;
  z-index: 10;
  display: block;
  margin-bottom: 2.25rem;
  font-size: 3.75rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
}

.home_message .home-ttl .en {
  display: block;
  margin-right: 0;
  margin-bottom: 3.5rem;
}

.home_message .txt {
  position: relative;
  z-index: 10;
  margin-bottom: 40px;
  font-size: 1.125rem; /* 18px */
  letter-spacing: 0.1em;
  line-height: 1.88;
}
@media screen and (max-width: 67.5em) {
  .home_message .txt {
    font-size: 0.75rem;
  }
}

.home_message .btn a {
  width: 19.3125rem !important;
}
@media screen and (max-width: 47.9375em) {
  .home_message .btn a {
    width: 100% !important;
  }
}

@media screen and (max-width: 1700px) {
  .home_message {
    padding-left: 4vw;
  }
}
@media screen and (max-width: 1600px) {
  .home_message .icn06,
  .home_message .icn07,
  .home_message .icn08 {
    display: none;
  }
}
@media screen and (max-width: 1300px) {
  .home_message .icn04,
  .home_message .icn05,
  .home_message .icn09 {
    display: none;
  }
  .home_message .icn10 {
    transition-delay: 1s;
  }
  .home_message .icn11 {
    transition-delay: 1.3s;
  }
  .home_message .icn12 {
    transition-delay: 1.6s;
  }
  .home_message .icn13 {
    transition-delay: 1.9s;
  }
  .home_message .icn14 {
    transition-delay: 2.2s;
  }
  .home_message .img2 {
    right: 280px;
  }
}
@media screen and (max-width: 1300px) and (min-width: 768px) {
  .home_message .img1 {
    transition-delay: 2.5s;
  }
  .home_message .img2 {
    transition-delay: 3s;
  }
  .home_message .img3 {
    transition-delay: 3.5s;
  }
}
@media screen and (max-width: 767px) {
  .home_message {
    padding: 48px 4.7vw 0;
  }
  .home_message .deco-arrow1 {
    top: -48vw;
    right: auto;
    left: -10vw;
    width: 98.25vw;
    max-width: none;
  }
  .home_message .deco-arrow2 {
    max-width: none;
    top: 200px;
    left: auto;
    right: -80px;
    width: 350px;
  }
  .home_message .img1 {
    top: 213px;
    right: 20px;
    width: 121px;
  }
  .home_message .img2 {
    top: 296px;
    right: 103px;
    width: 139px;
  }
  .home_message .img3 {
    top: 388px;
    right: -30px;
    width: 195px;
  }
  .home_message .icn01 {
    top: 121px;
    right: 5px;
    width: 105px;
    transition-delay: 0.1s;
  }
  .home_message .icn02 {
    top: 204px;
    right: 98px;
    width: 32px;
    transition-delay: 0.4s;
  }
  .home_message .icn03 {
    top: 222px;
    right: 276px;
    width: 99px;
    transition-delay: 1.3s;
  }
  .home_message .icn04 {
    top: 258px;
    right: 228px;
    display: block;
    width: 29px;
    transition-delay: 1s;
  }
  .home_message .icn05 {
    top: 202px;
    right: 145px;
    display: block;
    width: 90px;
    transition-delay: 0.7s;
  }
  .home_message .icn08 {
    top: 422px;
    right: 284px;
    display: block;
    width: 78px;
    transition-delay: 1.5s;
  }
  .home_message .icn10 {
    top: 494px;
    right: 135px;
    width: 117px;
    transition-delay: 2.2s;
  }
  .home_message .icn11 {
    top: 574px;
    right: 99px;
    width: 29px;
    transition-delay: 2.5s;
  }
  .home_message .icn12 {
    top: 586px;
    right: 19px;
    width: 76px;
    transition-delay: 2.8s;
  }
  .home_message .icn13 {
    top: 510px;
    right: 258px;
    width: 30px;
    transition-delay: 1.8s;
  }
  .home_message .icn14 {
    display: none;
  }
  .home_message .home-ttl {
    margin-bottom: 42.8571428571rem;
    font-size: 2rem;
    line-height: 1.25;
  }
  .home_message .home-ttl .en {
    font-size: 3.75rem;
    margin-bottom: 1rem;
  }
  .home_message .txt {
    width: 100%;
    margin-bottom: 16px;
    font-size: 1rem;
  }
  .home_message .btn {
    text-align: center;
    display: flex;
    justify-content: center;
  }
}
/* home_service
********************************************** */
.home_service {
  padding-bottom: 56px;
}

.home_service::before {
  content: "";
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  background-color: var(--clr-primary-default);
}

.home_service .deco-arrow1 {
  top: -576px;
  right: 24.47vw;
  transform: rotate(180deg);
}

.home_service .home-ttl {
  position: absolute;
  top: -88px;
  left: 44.8%;
  z-index: 20;
  flex-direction: row-reverse;
  align-items: flex-start;
  font-size: 1.375rem; /* 22px */
}

.home_service .home-ttl .en {
  margin-right: 0;
  margin-bottom: 2rem;
  line-height: 1;
}

.home_service > .pos_rel {
  z-index: 10;
}

.home_service .imgarea {
  width: 41.14vw;
}

.home_service .txtarea {
  width: 39vw;
  padding-top: 2.75rem;
}

.home_service .ttl {
  margin-bottom: 2rem;
  font-size: 1.875rem; /* 30px */
  line-height: 2;
  letter-spacing: 0.1em;
}

.home_service .txt {
  width: 30vw;
  margin-bottom: 48px;
  font-size: 1.125rem; /* 18px */
}

/* --- service_list1 --- */
.service_list1,
.service_list2 {
  overflow: hidden !important;
}

.service_list1 li div {
  height: 950px;
}

.service_list2 li div {
  height: 539px;
}

.swiper-wrapper li div {
  position: relative;
  overflow: hidden;
}

.swiper-wrapper img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: calc(100% + 100px);
  max-width: none;
}

.home_service .swiper-slide-prev img,
.home_service .swiper-slide-active img,
.home_service .swiper-slide-next img {
  animation: slide_animation 25s linear;
}

@keyframes slide_animation {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100px);
  }
}
/* --- service_list3 --- */
.service_list3 {
  position: relative;
  z-index: 10;
  margin-top: -108px;
  padding-left: 4.16vw;
  padding-right: 4.16vw;
}

.service_list3 .service--content {
  position: relative;
  width: calc(25% - 18px);
  padding: 64px 44px 32px 68px;
  margin-right: 24px;
  margin-bottom: 52px;
  background-color: #fff;
  border: solid 2px #151e2f;
  border-radius: 0 24px 24px 24px;
  counter-increment: number;
  transition: all 0.4s ease-out;
}

.service_list3 .service--content:nth-child(4n) {
  margin-right: 0;
}

.service_list3 .service--content::before {
  content: counter(number, decimal-leading-zero) ".";
  position: absolute;
  top: -0.3em;
  left: 56px;
  color: var(--clr-primary-default);
  font-size: 6.25rem;
  line-height: 1;
  letter-spacing: -0.05em;
  font-family: "Overpass", sans-serif;
  font-weight: 700;
}

.service_list3 .service--content:hover {
  background-color: #c0f5c4;
}

.service_list3 .service--link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.service_list3 .service--ttl {
  margin-bottom: 16px;
  font-size: 1.875rem; /* 30px */
  letter-spacing: 0.15em;
}

.service_list3 .service--en {
  position: absolute;
  top: 0;
  left: -2px;
  bottom: 60px;
  padding: 32px 10px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #151e2f;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 0% 100%);
}

.service_list3 .service--img {
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 22px;
}

.service_list3 .service--txt {
  font-size: 0.875rem; /* 14px */
}

@media screen and (min-width: 768px) {
  .simplebar-wrapper,
  .simplebar-mask,
  .simplebar-content-wrapper {
    overflow: visible !important;
  }
  [data-simplebar] {
    z-index: 10;
  }
  .simplebar-track {
    display: none !important;
  }
}
@media screen and (max-width: 1360px) and (min-width: 768px) {
  .home_service::before {
    top: 70%;
  }
  .home_service .txtarea {
    width: 34vw;
    margin-right: 2vw;
  }
  .service_list3 .service--content {
    width: calc(50% - 12px);
    margin-right: 24px;
  }
  .service_list3 .service--content:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .home_service {
    padding-bottom: 28px;
  }
  .home_service::before {
    top: -24px;
    right: 0;
    bottom: auto;
    width: 56.21%;
    height: 426px;
  }
  .home_service .deco-arrow1 {
    top: -125vw;
    right: 4.2vw;
    width: 100vw;
    max-width: none;
  }
  .home_service .home-ttl {
    top: -0.45em;
    left: auto;
    right: 5%;
    font-size: 0.786rem; /* 11px */
  }
  .home_service .home-ttl .en {
    margin-bottom: 1rem;
  }
  .home_service .imgarea {
    width: 82%;
    margin-left: 5%;
  }
  .home_service .txtarea {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .home_service .ttl {
    margin-bottom: 1.5rem;
    font-size: 1.143rem; /* 16px */
    line-height: 1.75;
  }
  .home_service .txt {
    width: 100%;
    margin-bottom: 24px;
    font-size: 1rem; /* 14px */
  }
  /* --- service_list1 --- */
  .service_list1 li div {
    height: 380px;
  }
  /* --- simplebar --- */
  .simplebar-content > .flex {
    padding-bottom: 40px !important;
  }
  .simplebar-scrollbar.simplebar-visible:before {
    opacity: 1;
  }
  .simplebar-track.simplebar-horizontal {
    left: 10%;
    right: 10%;
    bottom: 9px;
    height: 9px;
    background-color: #fff;
    border-radius: 8px;
  }
  .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 0;
    height: 9px;
  }
  .simplebar-scrollbar::before {
    background: var(--clr-primary-default);
  }
  .simplebar-vertical {
    display: none !important;
  }
  /* --- service_list3 --- */
  .sp-scroll {
    padding: 0 24px;
  }
  .service_list3 {
    width: 1144px;
    margin-top: 0;
    padding-top: 24px;
    padding-left: 0vw;
    padding-right: 24px;
  }
  .service_list3 .service--content {
    display: block;
    width: calc(25% - 18px);
    padding: 48px 18px 16px 38px;
    margin-bottom: 0;
    border-radius: 0 12px 12px 12px;
    border-width: 1px;
  }
  .service_list3 .service--content::before {
    left: 32px;
    font-size: 4.92rem;
  }
  .service_list3 .service--ttl {
    margin-bottom: 8px;
    font-size: 1.429rem; /* 20px */
  }
  .service_list3 .service--en {
    left: -1px;
    bottom: 40px;
    padding: 20px 6px;
    font-size: 0.786rem; /* 11px */
  }
  .service_list3 .service--img {
    margin-bottom: 8px;
  }
  .service_list3 .service--txt {
    font-size: 0.786rem; /* 11px */
  }
  .home_service .btn {
    margin-top: 40px;
  }
}
/* home_works
********************************************** */
.home_works {
  position: relative;
  z-index: 20;
  padding-top: 11rem;
  padding-bottom: 220px;
}

.home_works .inner {
  max-width: 1356px;
}

.home_works .home-ttl {
  margin-bottom: 44px;
}

.works_list .post {
  padding-bottom: 0 !important;
  margin-bottom: 32px;
}

.works_list .post.slick-active {
  opacity: 1;
}

.works_list .slick-dots {
  display: flex;
  width: calc(100% - 48px);
  max-width: 1356px;
  height: 8px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
}

.works_list .slick-dots li {
  flex: 1;
  margin: 0;
  padding: 0;
}

.works_list .slick-dots button {
  display: block;
  width: 100%;
  height: 8px;
  padding: 0;
  margin: 0;
  font-size: 0;
  border: none;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
}

.works_list .slick-dots .slick-active button {
  background-color: var(--clr-primary-default);
}

.home_works_list .slick-dots .slick-active button {
  background-color: var(--clr-primary-default);
}

@media screen and (max-width: 767px) {
  .home_works {
    padding-top: 80px;
    padding-bottom: 110px;
  }
  .home_works .home-ttl {
    margin-bottom: 22px;
  }
  .works_list .post {
    margin-bottom: 24px;
  }
  .home_works .works_list .post {
    padding-left: 3vw;
    padding-right: 3vw;
  }
  .works_list .slick-dots {
    height: 9px;
    border-radius: 9px;
  }
  .works_list .slick-dots button {
    height: 9px;
    border-radius: 9px;
  }
  .home_works .btn {
    margin-inline: auto;
    width: 100%;
  }
}
/* home_feature
********************************************** */
.home_feature {
  position: relative;
  z-index: 10;
}

.home_feature .imgarea .img {
  position: relative;
  z-index: 1;
  height: 915px;
  clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
}

.home_feature .read_more {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 50;
  bottom: -56px;
  text-align: center;
}

.home_feature .read_more .txt {
  position: relative;
  display: inline-block;
  margin-bottom: 16px;
  letter-spacing: 0.01em;
}

.home_feature .read_more .txt::before,
.home_feature .read_more .txt::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 2rem;
  border-right: solid 2px;
}

.home_feature .read_more .txt::before {
  margin-right: 1rem;
  transform: translateY(8px) rotate(-30deg);
}

.home_feature .read_more .txt::after {
  margin-left: 1rem;
  transform: translateY(8px) rotate(30deg);
}

.home_feature .read_more .icn {
  transform: rotate(-90deg);
}

.home_feature .deco-txt {
  position: absolute;
  bottom: -240px;
  left: -0.05em;
  right: -0.05em;
  z-index: 0;
  overflow: hidden;
  font-size: 290px;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
  opacity: 0.1;
}

.home_feature .deco-txt span {
  display: inline-block;
  animation: deco-txt 500s linear infinite;
}

@keyframes deco-txt {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.home_feature .ttlarea {
  position: absolute;
  top: -64px;
  left: 2%;
  right: 0;
}

.home_feature .ttlarea::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 210px;
  height: 636px;
  margin: auto;
  opacity: 0.8;
  background-color: var(--clr-primary-default);
}

.home_feature .ttlarea .home-ttl {
  position: relative;
  z-index: 10;
  margin-top: 80px;
  margin-left: 52px;
}

.home_feature .ttlarea .home-ttl .en {
  order: 0;
  margin-right: 0;
  margin-left: 0.5rem;
}

.home_feature .ttlarea .ttl {
  position: relative;
  z-index: 10;
  margin-top: 308px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: normal;
}

.home_feature .ttlarea .ttl span {
  position: relative;
  display: inline-block;
  padding: 22px 10px;
  margin: 0 6px;
  font-size: 1.875rem; /* 30px */
  line-height: 1;
  color: rgba(21, 30, 47, 0);
}

.home_feature.active .ttlarea .ttl span {
  color: #151e2f;
}

.home_feature .ttlarea .ttl span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 100%;
  z-index: -1;
  display: block;
  width: 100%;
  background-color: #fff;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.home_feature.active .ttlarea .ttl span::before {
  bottom: 0;
}

.home_feature .ttlarea .ttl span:first-child::before {
  transition-delay: 0.7s;
}

.home_feature .ttlarea .ttl span:last-child::before {
  transition-delay: 1s;
}

.home_feature .txtarea {
  padding-top: 84px;
  padding-bottom: 56px;
}

.home_feature .txtarea .icn {
  margin-bottom: 2rem;
}

.home_feature .txtarea .txt {
  font-size: 1.375rem; /* 22px */
  line-height: 1.9;
  letter-spacing: 0.1em;
}

.home_feature .txtarea .txt:not(:last-of-type) {
  margin-bottom: 1.6rem;
}

.home_feature .txtarea .txt:last-of-type {
  margin-bottom: 3rem;
}

.home_feature .deco-txt1,
.home_feature .deco-txt2,
.home_feature .deco-txt3,
.home_feature .deco-txt4,
.home_feature .deco-txt5 {
  opacity: 0;
  animation: fade-loop cubic-bezier(0.215, 0.61, 0.355, 1) 3s infinite;
}

.home_feature .deco-txt1 {
  top: 146px;
  right: calc(50% + 212px);
  animation-duration: 2s;
}

.home_feature .deco-txt2 {
  top: 220px;
  left: calc(50% + 252px);
  animation-duration: 4s;
}

.home_feature .deco-txt3 {
  top: 352px;
  right: calc(50% + 326px);
  animation-duration: 3s;
}

.home_feature .deco-txt4 {
  left: calc(50% + 367px);
  bottom: 300px;
  animation-duration: 2.5s;
}

.home_feature .deco-txt5 {
  bottom: 98px;
  right: calc(50% - 286px);
  animation-duration: 3.5s;
}

@keyframes fade-loop {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.home_feature .deco-arrow1 {
  top: -654px;
  left: 49.5vw;
}

.home_feature .deco-arrow2 {
  top: -174px;
  left: 0;
  z-index: 10;
  transform: rotate(180deg);
}

.home_feature .deco-arrow3 {
  right: 44px;
  bottom: -40px;
  z-index: 10;
}

.home_feature .deco-arrow4 {
  left: 2.81vw;
  bottom: 206px;
  z-index: 10;
  transform: rotate(180deg);
}

.home_feature .deco-arrow5 {
  right: 17.96vw;
  bottom: -50px;
  z-index: 10;
}

.home_feature .deco1 {
  left: 5.41vw;
  bottom: 0;
  width: 20.26vw;
}

.home_feature .deco2 {
  right: 6.4vw;
  bottom: -1px;
  width: 23.645vw;
}

@media screen and (max-width: 1500px) {
  .home_feature .deco-arrow4 {
    display: none;
  }
  .home_feature .deco1 {
    left: 1vw;
  }
  .home_feature .deco2 {
    right: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .home_feature .imgarea .img {
    height: 406px;
  }
  .home_feature .imgarea .img img {
    width: 120%;
    height: 120%;
    max-width: none;
    margin-left: -12%;
  }
  .home_feature .read_more {
    bottom: -56px;
    transform: scale(0.5, 0.5);
  }
  .home_feature .read_more .txt {
    margin-bottom: 16px;
  }
  .home_feature .deco-txt {
    bottom: -80px;
    font-size: 130px;
  }
  .home_feature .ttlarea {
    top: -32px;
    left: 2%;
  }
  .home_feature .ttlarea::before {
    width: 105px;
    height: 318px;
  }
  .home_feature .ttlarea .home-ttl {
    margin-top: 40px;
    margin-left: 24px;
  }
  .home_feature .ttlarea .ttl {
    margin-top: 150px;
  }
  .home_feature .ttlarea .ttl span {
    padding: 10px 4px;
    margin: 0 3px;
    font-size: 1.071rem; /* 15px */
  }
  .home_feature .txtarea {
    padding-top: 42px;
    padding-bottom: 28px;
  }
  .home_feature .txtarea .icn {
    width: 156.5px;
    margin-bottom: 1.5rem;
  }
  .home_feature .txtarea .txt {
    font-size: 1rem; /* 14px */
  }
  .home_feature .txtarea .txt:not(:last-of-type) {
    margin-bottom: 1.6rem;
  }
  .home_feature .txtarea .txt:last-of-type {
    margin-bottom: 285px;
  }
  .home_feature .deco-txt1 {
    top: auto;
    bottom: 243px;
    right: 66%;
    width: 117.5px;
  }
  .home_feature .deco-txt2 {
    top: auto;
    bottom: 242px;
    left: 55%;
    width: 159.5px;
  }
  .home_feature .deco-txt3 {
    top: auto;
    bottom: 164px;
    right: 53%;
    width: 166px;
  }
  .home_feature .deco-txt4 {
    left: 55%;
    bottom: 162px;
    width: 159px;
  }
  .home_feature .deco-txt5 {
    bottom: 82px;
    right: 18%;
    width: 246.5px;
  }
  .home_feature .deco-arrow1 {
    top: -35vw;
    left: 49.5vw;
    width: 70vw;
  }
  .home_feature .deco-arrow2 {
    top: -64px;
    left: -24px;
    width: 128px;
  }
  .home_feature .deco-arrow3 {
    right: 0;
    bottom: -30px;
    width: 114px;
  }
  .home_feature .deco-arrow4 {
    left: 0;
    bottom: 38px;
    display: block;
    width: 48px;
  }
  .home_feature .deco-arrow5 {
    right: 16px;
    bottom: -28px;
    width: 48px;
  }
  .home_feature .deco1 {
    right: auto;
    left: 22px;
    width: 20vw;
  }
  .home_feature .deco2 {
    left: auto;
    right: 8px;
    width: 38vw;
  }
}
@media screen and (max-width: 375px) {
  .home_feature .deco1 {
    left: 8px;
  }
  .home_feature .deco2 {
    right: -16px;
  }
}
/* home_interview
********************************************** */
.home_interview {
  position: relative;
  z-index: 1;
  padding-bottom: 138px;
}

.home_interview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 88px;
  z-index: 0;
  display: block;
  width: 20.31vw;
  background-color: var(--clr-primary-default);
  opacity: 0.8;
}

.home_interview .inner {
  position: relative;
  z-index: 10;
  max-width: 1362px;
}

.home_interview .txtarea {
  margin-bottom: 40px;
  padding: 5rem 0 4rem 7.81vw;
  border-top: solid 4px #151e2f;
  border-bottom: solid 1px #151e2f;
}

.home_interview .txtarea::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  display: block;
  border-top: solid 1px #151e2f;
}

.home_interview .home-ttl {
  position: absolute;
  top: 60px;
  left: 1.5625vw;
  z-index: 30;
}

.home_interview .txtarea .ttl {
  font-size: 2.5rem; /* 40px */
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.home_interview .txtarea .ttl span {
  position: relative;
  display: inline-block;
  margin: 8px 0.25em 8px 0;
  padding-left: 0.3em;
  padding-right: 0.1em;
  color: #fff;
}

.home_interview .txtarea .ttl span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 100%;
  bottom: 0;
  z-index: -1;
  display: block;
  background-color: #151e2f;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.home_interview.active .txtarea .ttl span::before {
  right: 0;
}

.home_interview .txtarea .ttl span:first-child::before {
  transition-delay: 0.7s;
}

.home_interview .txtarea .ttl span:last-child::before {
  transition-delay: 1s;
}

.home_interview .txtarea .txt {
  width: calc(100% - 460px);
  font-size: 1.125rem; /* 18px */
  line-height: 1.9;
}

/* --- interview_list --- */
.interview_list li {
  counter-increment: number;
  margin-left: 3.75vw;
}

.interview_list a {
  position: relative;
  display: block;
}

.interview_list a::before {
  content: "INTERVIEW." counter(number, decimal-leading-zero);
  position: absolute;
  top: 0;
  right: -26px;
  font-size: 1.25rem; /* 20px */
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--clr-primary-default);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.interview_list .img {
  position: relative;
  margin-bottom: 16px;
  box-shadow: -7px 7px 40px rgba(0, 0, 0, 0.2);
}

.interview_list .img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background-color: rgba(48, 222, 59, 0.3);
  transition: all 0.4s ease-out;
  pointer-events: none;
  opacity: 0;
}

.interview_list a:hover .img::before {
  opacity: 1;
}

.interview_list .img::after {
  content: "";
  position: absolute;
  left: -6px;
  bottom: -8px;
  z-index: 20;
  width: 80px;
  height: 80px;
  background-image: url(/wp/wp-content/themes/standard/images/home/icn-corner.svg);
}

.interview_list .txt {
  position: absolute;
  top: 180px;
  right: -20px;
  z-index: 10;
  font-size: 1.458vw; /* 28px */
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}

.interview_list .txt > span {
  position: relative;
  display: inline-block;
  padding: 0.6em 0.1em;
  margin-left: 12px;
  color: #151e2f;
}

.interview_list .txt > span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 100%;
  z-index: -1;
  display: block;
  background-color: #fff;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.active .interview_list .txt > span::before {
  bottom: 0;
}

.interview_list .txt > span:first-child::before {
  transition-delay: 1.5s;
}

.interview_list .txt > span:last-child::before {
  transition-delay: 1.8s;
}

.interview_list .txt span span {
  display: inline-block;
  transform: translateX(0.23em);
}

.interview_list .name {
  font-size: 1.875rem; /* 30px */
  letter-spacing: 0.01em;
}

.interview_list .about {
  line-height: 1;
  font-size: 0.938rem; /* 15px */
}

.home_interview .btn {
  margin-top: 64px;
}

@media screen and (min-width: 2000px) {
  .home_interview::before {
    width: 30vw;
  }
  .interview_list .txt {
    font-size: 1.75rem; /* 28px */
  }
}
@media screen and (max-width: 1200px) {
  .home_interview .home-ttl {
    left: -2vw;
  }
  .home_interview .txtarea .ttl {
    font-size: 2rem;
  }
  .home_interview .txtarea .txt {
    width: 36vw;
  }
}
@media screen and (max-width: 767px) {
  .home_interview {
    padding-bottom: 68px;
  }
  .home_interview::before {
    bottom: 35%;
    width: 30vw;
  }
  .home_interview > .inner {
    width: 100%;
  }
  .home_interview .txtarea {
    margin-bottom: 32px;
    padding: 2.75rem 16px 2rem 56px;
    border-top-width: 2px;
  }
  .home_interview .txtarea::before {
    top: 5px;
  }
  .home_interview .home-ttl {
    top: 30px;
    left: 0;
  }
  .home_interview .txtarea .ttl {
    margin-bottom: 8px;
    font-size: 1.5714rem; /* 22px */
  }
  .home_interview .txtarea .ttl > span {
    margin: 8px 0.25em 8px 0;
    padding-left: 0.3em;
    padding-right: 0.1em;
  }
  .home_interview .txtarea .txt {
    width: 100%;
    font-size: 1rem;
  }
  /* --- interview_list --- */
  .interview_list {
    width: 694px;
    padding-right: 32px;
  }
  .interview_list li {
    margin-left: 40px;
  }
  .interview_list li:first-child {
    margin-left: 0;
  }
  .interview_list a::before {
    right: -10px;
    font-size: 10px;
  }
  .interview_list .img {
    margin-bottom: 16px;
    box-shadow: -7px 7px 20px rgba(0, 0, 0, 0.1);
  }
  .interview_list .img::after {
    left: -3px;
    bottom: -4px;
    width: 40px;
    height: 40px;
    background-size: contain;
  }
  .interview_list .txt {
    top: 90px;
    right: -10px;
    font-size: 1rem; /* 14px */
  }
  .interview_list .txt span {
    margin-left: 4px;
  }
  .interview_list .name {
    font-size: 1.071rem; /* 15px */
  }
  .interview_list .about {
    font-size: 10px;
  }
  .home_interview .btn {
    margin-top: 32px;
  }
}
@media screen and (max-width: 340px) {
  .home_interview .txtarea .ttl {
    font-size: 1.4rem;
  }
}
/* home_info
********************************************** */
.home_info {
  padding-top: 114px;
  padding-bottom: 72px;
}

.home_info::before {
  content: "";
  position: absolute;
  top: -366px;
  right: 0;
  width: 64.94vw;
  padding-top: 95.5%;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow-wh.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center right;
  pointer-events: none;
}

.home_info .deco-txt {
  top: 0;
  left: -0.05em;
  z-index: 0;
  font-size: 10.41vw;
  line-height: 1;
  letter-spacing: -0.01em;
  opacity: 0.1;
  white-space: nowrap;
}

.home_info > .flex {
  z-index: 10;
}

.home_info .content {
  position: relative;
  width: calc(50% - 2.08vw);
}

.home_info .content:nth-child(2n) {
  margin-top: 76px;
}

.home_info .home-ttl {
  position: absolute;
  top: -1.5rem;
  left: 1.875rem;
  z-index: 10;
}

.home_info .imgarea {
  position: relative;
  height: 525px;
  box-shadow: -7px 7px 40px rgba(0, 0, 0, 0.2);
}

.home_info .imgarea::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  background-color: rgba(48, 222, 59, 0.3);
  transition: all 0.4s ease-out;
  pointer-events: none;
  opacity: 0;
}

.home_info .txtarea {
  padding: 36px 2.5vw 0 5vw;
}

.home_info .txt {
  margin-bottom: 20px;
  line-height: 2;
}

.home_info .btn > * {
  display: inline-flex;
  align-items: center;
  padding-bottom: 12px;
  font-size: 1.25rem; /* 20px */
  letter-spacing: 0.01em;
  color: #151e2f;
  border-bottom: solid 1px;
  transition: all 0.2s ease-out;
}

.home_info .btn > *::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 17px;
  margin-left: 16px;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow.svg);
  transform: rotate(180deg);
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.2s ease-out;
}

.home_info .content:hover .imgarea::before {
  opacity: 1;
}

.home_info .content:hover .btn > * {
  color: var(--clr-primary-default);
}

.home_info .content:hover .btn > *::after {
  transform: translateX(4px) rotate(180deg);
}

@media screen and (max-width: 767px) {
  .home_info {
    padding-top: 0;
    padding-bottom: 36px;
  }
  .home_info::before {
    top: -190px;
    width: 40vw;
  }
  .home_info .deco-txt {
    top: 0.6em;
  }
  .home_info .content {
    width: 100%;
  }
  .home_info .content:nth-child(2n) {
    margin-top: 40px;
  }
  .home_info .home-ttl {
    top: -1rem;
    left: 1rem;
  }
  .home_info .imgarea {
    height: 240px;
    box-shadow: -7px 7px 20px rgba(0, 0, 0, 0.1);
  }
  .home_info .txtarea {
    padding: 18px 6vw 0;
  }
  .home_info .txt {
    margin-bottom: 20px;
  }
  .home_info .btn > * {
    padding-bottom: 8px;
    font-size: 1rem;
    white-space: nowrap;
  }
  .home_info .btn > *::after {
    width: 12px;
    height: 12px;
    margin-left: 12px;
    background-size: contain;
    transform: translateY(-2px) rotate(180deg);
  }
}
/* ##############################################################################

    PAGE

############################################################################## */
/* recruit
*************************************************** */
/* --- player --- */
.player-wrap {
  position: relative;
  padding-top: 42.5%;
}

.player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --- accordion --- */
.page-recruit .editor-ttl.accordion::before,
.page-recruit .editor-ttl.accordion + table {
  display: none;
}

.page-recruit .editor-ttl.accordion {
  padding: 24px 56px 24px 24px;
  background-color: #fff;
  margin-bottom: 0 !important;
  font-size: 1.5rem;
  cursor: pointer;
}

.page-recruit .editor-ttl.accordion::after {
  content: "";
  position: absolute;
  top: 32px;
  right: 24px;
  display: block;
  width: 1em;
  height: 1em;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: rotate(-90deg);
  transition: all 0.4s ease-out;
}

.page-recruit .active .editor-ttl.accordion::after {
  transform: rotate(-270deg);
}

@media screen and (max-width: 767px) {
  /* --- player --- */
  .player-wrap {
    padding-top: 155%;
  }
  /* --- accordion --- */
  .page-recruit .editor-ttl.accordion {
    padding: 16px 56px 16px 16px;
    font-size: 1.143rem; /* 16px */
  }
  .page-recruit .editor-ttl.accordion::after {
    top: 20px;
  }
}
/* sdgs
*************************************************** */
@media screen and (max-width: 767px) {
  .page-sdgs table img {
    max-height: 50px;
    max-width: none;
    width: auto;
  }
}
/* sitemap
*************************************************** */
.sitemap--menu {
  flex: 1;
}

.sitemap--menu a,
.sitemap--menu span {
  display: block;
}

.sitemap--menu a {
  position: relative;
}

.sitemap--menu a:hover {
  color: var(--clr-primary-default);
}

.sitemap--menu > li > a {
  font-size: 1.125rem; /* 18px */
  border-bottom: 1px solid;
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
}

.sitemap_sub_nav--wrap {
  padding-left: 1.25em;
  margin-bottom: 1.5em;
}

.sitemap_sub_nav a {
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  padding-left: 1.25em;
}

.sitemap_sub_nav a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--clr-primary-default);
  border-right: 2px solid var(--clr-primary-default);
  transform: rotate(45deg);
}

@media print, screen and (min-width: 768px) {
  .sitemap--menu:not(:last-child) {
    margin-right: 7.41%; /* 80px */
  }
}
@media screen and (max-width: 767px) {
  .sitemap--menu {
    padding-left: 5%;
    padding-right: 5%;
  }
  .sitemap--menu:not(:last-child) {
    margin-bottom: 0;
  }
  .sitemap--menu > li > a {
    padding-bottom: 0;
    border-bottom: none;
    font-size: 1rem;
  }
}
/* contact
********************************************** */
.page-contact .page_ttl > .inner-xl {
  padding-top: 72px;
  padding-bottom: 0;
}

.contact .cta_tel {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: 404px;
  margin-left: auto;
  margin-right: auto;
}

.contact .cta_tel a {
  padding: 24px 40px;
  background-color: #151e2f;
  color: #fff;
}

.contact #formy_form {
  padding: 64px 80px;
  margin-top: -40px;
  background-color: #fff;
  border: solid 2px #151e2f;
}

.page-thanks .page_nav {
  display: none;
}

@media screen and (max-width: 767px) {
  .page-contact .page_ttl > .inner-xl {
    padding-top: 36px;
  }
  .page-contact .page_ttl--bg {
    bottom: 0;
  }
  .contact .cta_tel {
    max-width: 90%;
  }
  .contact .cta_tel a {
    padding: 16px 0;
  }
  .contact #formy_form {
    padding: 40px 16px 16px;
  }
}
/* ##############################################################################

    ARCHIVE

############################################################################## */
/* main_column
**************************************** */
.main_column {
  flex: 1;
  margin-right: 80px;
  overflow: hidden;
}

/* --- post --- */
.post {
  position: relative;
}

.post--link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.post--date {
  letter-spacing: 0.01em;
}

.cat_list {
  position: relative;
  z-index: 1;
  overflow: hidden;
  column-gap: 0.9375rem;
  flex-wrap: wrap;
  display: flex;
  row-gap: 0.3571428571rem;
}
@media screen and (max-width: 47.9375em) {
  .cat_list {
    column-gap: 0.5714285714rem;
  }
}

.cat_list a {
  display: inline-block;
  color: var(--clr-primary-default);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-md-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-sm);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 25.6px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .cat_list a {
    font-size: 0.7142857143rem;
  }
}

.news-cat.cat_list {
  padding-top: 0.8571428571rem;
}

.news-cat.cat_list a {
  background: #000;
  padding: 0.125rem 0.625rem;
  color: var(--clr-wht);
}

@media screen and (max-width: 47.9375em) {
  .cat_list .main_cat {
    display: block;
    width: 100%;
    margin-bottom: 0.5714285714rem;
  }
}

.cat_list .main_cat a {
  display: inline-block;
  padding: 0.25rem 1rem;
  color: #FFF;
  background: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-lg-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 28.8px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .cat_list .main_cat a {
    font-size: var(--font-size-txt-md-sp);
  }
}

.posts-works .cat_list,
.single .posts-works .cat_list {
  display: flex;
  column-gap: 1rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 47.9375em) {
  .posts-works .cat_list,
  .single .posts-works .cat_list {
    align-items: flex-start;
  }
}
.posts-works .cat_list a,
.single .posts-works .cat_list a {
  font-size: var(--font-size-txt-sm);
  font-style: normal;
}
.posts-works .cat_list .main_cat,
.single .posts-works .cat_list .main_cat {
  margin-bottom: 0.375rem;
}
.posts-works .cat_list .main_cat a,
.single .posts-works .cat_list .main_cat a {
  font-size: var(--font-size-txt-sm);
  font-style: normal;
  padding: 0.25rem 0.75rem;
}

.cat_list .normal_cat a::before {
  content: "# ";
}

.cat_list a:hover {
  color: #009e00;
}

@media screen and (max-width: 1100px) {
  .container > .inner.flex {
    display: block;
  }
  .main_column {
    width: 100%;
    margin-bottom: 40px;
    margin-right: 0;
  }
}
/* side_column
**************************************** */
.side_column {
  width: 100%;
}

/* --- archive-pulldown --- */
.archive-pulldown {
  position: relative;
  margin-left: auto;
  z-index: 1;
}

.archive-pulldown .archive_list {
  position: relative;
}

.archive-pulldown .archive_list:not(:last-child) {
  margin-right: 24px;
}

.archive-pulldown .archive_list a {
  display: block;
  padding: 0.25em 1em;
  text-align: left;
}

.archive-pulldown .archive_list a:not(:last-child) {
  border-bottom: 2px solid #f0f0e7;
}

.archive-pulldown .archive_list a:hover {
  color: var(--clr-primary-default);
}

.archive-pulldown .archive_list--label {
  margin-right: 8px;
}

.archive-pulldown .archive_list--btn {
  cursor: pointer;
  border: none;
  outline: none;
  appearance: none;
  padding: 0.25em 4em 0.25em 2em;
  background-color: #fff;
  font-family: "Hiragino UD Sans W6 JIS2004";
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

.archive-pulldown .archive_list--btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0.2em;
  right: 0.8em;
  margin: auto;
  width: 0.75em;
  height: 0.75em;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(270deg);
  transition: all 0.4s ease-out;
}

.archive-pulldown .active .archive_list--btn::after {
  bottom: 0.1em;
  transform: rotate(90deg);
}

.archive-pulldown .archive_list--menu {
  position: absolute;
  z-index: 1;
  width: 100%;
  background-color: #fff;
  border: 2px solid #f0f0e7;
  visibility: hidden;
  margin-top: -1px;
  opacity: 0;
  transition: all 0.2s ease-out;
}

.archive-pulldown .active .archive_list--menu {
  visibility: visible;
  opacity: 1;
}

/* --- works_cat_menu --- */
.works_cat_menu {
  position: relative;
  z-index: 10;
}

.works_cat_menu--col {
  position: relative;
  z-index: 10;
  width: 200px;
  margin-left: auto;
  margin-right: 0;
}

.works_cat_menu--col .select {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  padding: 0.5em 1em;
  cursor: pointer;
  transition: all 0.3s ease-out;
}

.works_cat_menu--col .select::after {
  content: "";
  width: 0.75em;
  height: 0.75em;
  display: inline-block;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-1px) rotate(-90deg);
  transition: all 0.3s ease-out;
}

.works_cat_menu--col .select.close::after {
  transform: translateY(-2px) rotate(-270deg);
}

.menu_list {
  position: absolute;
  top: 42px;
  left: 0;
  width: 100%;
  display: none;
  margin-top: -3px;
  background-color: #fff;
  border: 2px solid #f0f0e7;
  z-index: 10;
}

.menu_list li a {
  display: block;
  padding: 0.5em 1em;
  text-align: left;
}

.menu_list li:not(:last-child) a {
  border-bottom: 2px solid #f0f0e7;
}

.menu_list li a:hover {
  color: var(--clr-primary-default);
}

@media screen and (max-width: 767px) {
  /* --- works_cat_menu --- */
  .works_cat_menu--col {
    width: 86%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
  }
  .works_cat_menu--col .select {
    border: 1px solid #aaa;
    padding: 10px 12px;
  }
}
/* works
**************************************** */
.posts-works .post {
  width: 33.33%;
  padding: 0 20px 64px;
}

.posts-works .post--img {
  width: 100%;
  margin-bottom: 1.4375rem;
  transition: all 0.4s ease-out;
}
.posts-works .post--img img {
  aspect-ratio: 6/4;
}

.posts-works .post:hover .post--img {
  box-shadow: -7px 7px 40px rgba(0, 0, 0, 0);
}

.posts-works .post--img::before {
  width: 100%;
  padding-top: 67%;
  background-color: #fff;
}

.posts-works .post--img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  background-color: rgba(48, 222, 59, 0.3);
  transition: all 0.4s ease-out;
  pointer-events: none;
  opacity: 0;
}

.posts-works .post:hover .post--img::after {
  opacity: 1;
}

.posts-works .post--img .noimg {
  max-width: 60%;
  max-height: 60%;
}

.posts-works .post--year {
  margin-bottom: 4px;
  font-size: 0.938rem; /* 15px */
}

.posts-works .post--ttl {
  margin-bottom: 16px;
  font-size: 1.375rem; /* 22px */
}

@media screen and (max-width: 1300px) {
  .posts-works .post {
    padding: 0 10px 64px;
  }
}
@media screen and (max-width: 767px) {
  .posts-works .post {
    width: 100%;
    padding: 0 0 32px;
  }
  .posts-works .post--img {
    box-shadow: -7px 7px 20px rgba(0, 0, 0, 0.1);
  }
  .posts-works .post--year {
    margin-bottom: 5px;
    font-size: 0.857rem; /* 12px */
  }
  .posts-works .post--ttl {
    margin-bottom: 8px;
    font-size: 1.143rem; /* 16px */
  }
}
/* news
**************************************** */
/* --- news--archive --- */
.news--archive {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #111;
}

.news--archive li {
  margin-left: 8px;
  margin-right: 8px;
}

.news--archive a {
  color: #fff;
}

/* --- news_list --- */
.archive-news .news_list {
  width: 100%;
}

.archive-news .news_list {
  gap: 40px 1.5vw;
}

.archive-news .news_list .post {
  width: 100%;
  padding: 20px 24px;
  background-color: #fff;
  font-size: 1.125rem; /* 18px */
}

@media screen and (max-width: 767px) {
  .archive-news .news_list {
    gap: 20px;
  }
  .archive-news .news_list .post {
    display: block;
    width: 100%;
    padding: 16px;
    font-size: 1rem;
  }
}
/* ##############################################################################

    SINGLE

############################################################################## */
/* --- アイキャッチ --- */
.eyecatch {
  margin-bottom: 2rem;
}

/* --- 本文 --- */
.single .post--ttl {
  margin-bottom: 1em;
  font-size: 2.5rem; /* 40px */
}

.single .w100 {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .single .works--info {
    justify-content: flex-start;
  }
  .single .works--info .post--date {
    font-size: 10px;
  }
  .single-works .table1 th {
    width: 6em;
  }
  .single .news--info {
    padding: 28px 24px;
    background-color: #fff;
  }
  .single .post--ttl {
    margin-bottom: 0.8em;
    font-size: 1.429rem; /* 20px */
  }
}
/* pass
**************************************** */
#pass p {
  margin-bottom: 1em;
}

#pass input[name=post_password] {
  padding: 5px;
  border: solid 1px #aaa;
  outline: none;
}

#pass input[type=submit] {
  padding: 4px 16px;
  letter-spacing: 0.15em;
  background-color: #ddd;
  border-radius: 4px;
  outline: none;
  border: none;
  cursor: pointer;
  transition: all 0.4s ease-out;
}

#pass input[type=submit]:hover {
  opacity: 0.7;
}

/* wp-pagenavi
**************************************** */
.wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 40px;
  align-items: center;
}

.wp-pagenavi .pages {
  display: block;
  text-align: center;
  width: 100%;
  margin-bottom: 1em;
}

.wp-pagenavi a {
  position: relative;
  padding: 0.5em 1em;
  background-color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wp-pagenavi a:hover {
  opacity: 0.7;
}

.wp-pagenavi a {
  color: #fff;
}

.archive .wp-pagenavi > *:not(.pages) {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
}

.wp-pagenavi-single a[rel=prev],
.wp-pagenavi-single a[rel=next] {
  width: auto !important;
  aspect-ratio: 1/1;
  padding: 10px !important;
  height: 60px !important;
  border-radius: 100%;
}
.wp-pagenavi-single a[rel=prev]:hover,
.wp-pagenavi-single a[rel=next]:hover {
  background: #333;
}
@media screen and (max-width: 47.9375em) {
  .wp-pagenavi-single a[rel=prev],
  .wp-pagenavi-single a[rel=next] {
    height: 50px !important;
    width: auto !important;
  }
}

.wp-pagenavi > *:not(.pages) {
  margin-bottom: 4px;
}

.wp-pagenavi > *:not(.pages):not(:last-child) {
  margin-right: 8px;
}

.wp-pagenavi .extend {
  width: 24px !important;
}

.wp-pagenavi a[rel=prev]::before,
.wp-pagenavi a[rel=next]::before,
.wp-pagenavi .first::before,
.wp-pagenavi .last::before,
.wp-pagenavi .first::after,
.wp-pagenavi .last::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(/wp/wp-content/themes/standard/images/common/arrow-wh.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.wp-pagenavi a[rel=prev]::before,
.wp-pagenavi a[rel=next]::before,
.wp-pagenavi .first::before,
.wp-pagenavi .last::before,
.wp-pagenavi .first::after,
.wp-pagenavi .last::after {
  width: 10px;
  height: 10px;
}

.wp-pagenavi a[rel=prev]::before,
.wp-pagenavi .first::before,
.wp-pagenavi .first::after {
  transform: rotate(0deg);
}

.wp-pagenavi a[rel=next]::before,
.wp-pagenavi .last::before,
.wp-pagenavi .last::after {
  transform: rotate(180deg);
}

.wp-pagenavi-single a[rel=prev]::before {
  transform: rotate(180deg);
}

.wp-pagenavi-single a[rel=next]::before {
  transform: rotate(0deg);
}

.wp-pagenavi .first::before,
.wp-pagenavi .last::before {
  left: -6px;
}

.wp-pagenavi .first::after,
.wp-pagenavi .last::after {
  right: -6px;
}

.wp-pagenavi_grid a {
  grid-template-columns: auto 1fr !important;
}
.wp-pagenavi_grid a .txt {
  grid-column: 1 !important;
}
.wp-pagenavi_grid a .btn-icon {
  grid-column: 2 !important;
}

@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin-top: 24px;
  }
  .archive .wp-pagenavi > *:not(.pages) {
    width: 32px;
    height: 32px;
  }
  .wp-pagenavi-single a[rel=prev],
  .wp-pagenavi-single a[rel=next] {
    width: 40px;
  }
  .wp-pagenavi .first::before,
  .wp-pagenavi .last::before {
    left: -5px;
  }
  .wp-pagenavi .first::after,
  .wp-pagenavi .last::after {
    right: -5px;
  }
}
/* ##############################################################################

    FORMY

############################################################################## */
#formy_form table {
  width: 100%;
}

#formy_form th,
#formy_form td {
  padding: 16px;
  vertical-align: middle;
  border-bottom: solid 1px #eee;
}

#formy_form th {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
  width: 34%;
}

#formy_form table input[type=text],
#formy_form table input[type=email],
#formy_form table input[type=tel],
#formy_form table input[type=date],
#formy_form table input[type=password],
#formy_form table textarea {
  width: 100%;
  border-radius: 3px;
  vertical-align: bottom;
}

#formy_form table input[type=text],
#formy_form table input[type=email],
#formy_form table input[type=tel],
#formy_form table input[type=date],
#formy_form table input[type=password],
#formy_form select,
#formy_form textarea {
  margin: 0;
  padding: 5px 15px;
  border: 1px solid #ccc;
  font: inherit;
  font-size: 1rem;
}

#formy_form textarea {
  height: 100px;
}

#formy_form select {
  height: 40px;
}

#formy_form ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#formy_form input:hover {
  opacity: 0.7;
}

#formy_form textarea:hover {
  opacity: 0.7;
}

#formy_form input:focus {
  outline: none;
}

#formy_form .parsley-validated {
  background-color: #eee;
}

#formy_form .parsley-error {
  background-color: #fee;
}

#formy_form .parsley-success {
  background-color: #fff;
}

.help_text {
  font-size: 0.875rem; /* 14px */
  color: #999;
}

.hidden_help {
  display: none;
}

.formy_privacy div {
  overflow-y: scroll;
  height: 140px;
  border: solid 1px #ccc;
  font-size: 0.875rem; /* 14px */
  padding: 8px 16px;
}

.requiredIcon {
  background-color: var(--clr-primary-default);
  color: #fff;
  margin: 0 0 0 1em;
  font-size: 0.75rem; /* 12px */
  padding: 2px 5px;
  border-radius: 3px;
  float: right;
}

#formy_btn {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  padding-top: 32px;
  text-align: center;
}

#formy_btn input {
  font-size: inherit;
  border: none;
  cursor: pointer;
  color: #fff;
  font-family: "Hiragino UD Sans W4 JIS2004";
  border-radius: 60px;
  padding: 16px 32px;
  margin-bottom: 24px;
  -webkit-appearance: none;
  appearance: none;
}

#formy_form ul li input[type=radio],
#formy_form ul li input[type=checkbox] {
  display: none !important;
}

#formy_form ul li label {
  position: relative;
  display: inline-block;
  padding: 0.5em 8px 0.5em 40px;
  line-height: 1.6;
  vertical-align: top;
  cursor: pointer;
}

#formy_form ul li label:hover {
  opacity: 0.7;
}

#formy_form ul li label::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid #788b93;
  left: 16px;
  top: 12px;
}

#formy_form ul li input[type=radio] + label::before {
  border-radius: 10px;
}

#formy_form ul li input[type=radio]:checked + label,
#formy_form ul li input[type=checkbox]:checked + label {
  color: var(--clr-primary-default);
  font-weight: bold;
}

#formy_form ul li input[type=radio]:checked + label::before,
#formy_form ul li input[type=checkbox]:checked + label::before {
  border-color: var(--clr-primary-default);
}

#formy_form ul li input[type=radio]:checked + label::after,
#formy_form ul li input[type=checkbox]:checked + label::after {
  content: "";
  width: 10px;
  height: 18px;
  top: 4px;
  left: 20px;
  border-right: 2px solid var(--clr-primary-default);
  border-bottom: 2px solid var(--clr-primary-default);
  display: block;
  position: absolute;
  z-index: 10;
  transform: rotate(45deg);
}

.formy_confirm {
  background-color: var(--clr-primary-default);
}

.formy_submit_disabled {
  background-color: #ccc;
}

#formy_btn .formy_submit_disabled:hover {
  opacity: 1;
  cursor: default;
}

#formy_btn input.autoConfirmBack {
  position: relative;
  background-color: transparent;
  color: #555;
  padding: 8px 27px;
  min-width: auto;
  font-size: 92%;
  border: 1px solid #aaa;
  border-radius: 32px;
}

.formy_send {
  background-color: var(--clr-primary-default);
}

#total_required {
  padding: 16px;
  color: var(--clr-primary-default);
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  #formy_form .confirm-message {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #formy_form th,
  #formy_form td {
    display: block;
    width: auto;
    padding-left: 0;
    padding-right: 0;
  }
  #formy_form th {
    border-bottom: none;
    padding-bottom: 0;
    white-space: normal;
    font-weight: bold;
  }
  #formy_form td {
    padding-top: 0;
  }
  #formy_btn {
    padding-top: 8px;
  }
  #formy_btn input {
    width: 100%;
    background-size: contain;
    background-position: center;
  }
  .autoConfirmBack {
    margin-bottom: 8px;
  }
}
/* lps_parts--flow
********************************************** */
/* --- 共通 --- */
.lps_parts--flow {
  margin-left: auto;
  margin-right: auto;
}

.lps_parts--flow .flow_item {
  position: relative;
  margin-inline-start: 6rem;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow .flow_item {
    margin-inline-start: 4rem;
  }
}
.lps_parts--flow .flow_item:not(:last-child) {
  padding-bottom: 4rem;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow .flow_item:not(:last-child) {
    padding-bottom: 2.2857142857rem;
  }
}
.lps_parts--flow .flow_item:not(:last-child) .ttl::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -4.09375rem;
  border-right: 0.1875rem solid;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow .flow_item:not(:last-child) .ttl::after {
    left: -2.3125rem;
  }
}
.lps_parts--flow .flow_item.clr-wht:not(:last-child) .ttl::after {
  border-color: var(--clr-wht);
}

.lps_parts--flow .ttl {
  position: static;
  color: var(--clr-primary-default);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 38.4px */
  letter-spacing: 0.03em;
  margin-bottom: var(--spacing-40);
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flow .ttl {
    margin-bottom: 0rem;
  }
}

.lps_parts--flow .ttl::before {
  float: inline-start;
  aspect-ratio: 1;
  margin-inline-start: -6rem;
  border-radius: 50%;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow .ttl::before {
    margin-inline-start: -3.5rem;
  }
}
.lps_parts--flow .clr-wht .ttl {
  color: var(--clr-wht);
}

@media print, screen and (min-width: 48em) {
  .lps_parts--flow .text {
    display: flex;
    gap: 4.1666666667%;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--flow .img {
    width: 15rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flow .img:not(:last-child) {
    margin-bottom: 1.7142857143rem;
  }
}
.lps_parts--flow .mce-content-body {
  margin-bottom: 0 !important;
}

@media print, screen and (min-width: 48em) {
  .lps_parts--flow .mce-content-body {
    flex: 1;
  }
}
/* --- 通常 --- */
.lps_parts--flow:not(.flow-num) .ttl::before {
  content: "";
  position: relative;
  left: 1.3625rem;
  inline-size: 1.25rem;
  margin-block: calc((1lh - 1.25rem) / 2);
  border: 0.25rem solid;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow:not(.flow-num) .ttl::before {
    left: 0.625rem;
    inline-size: 1rem;
    margin-block: calc((1lh - 1rem) / 2);
  }
}
.lps_parts--flow:not(.flow-num) .flow_item:not(:last-child) .ttl::after {
  margin-top: calc(1.25rem + (1lh - 1.25rem) / 2 + 0.375rem);
  margin-bottom: calc((1lh - 1.25rem) / -2 + 0.375rem);
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow:not(.flow-num) .flow_item:not(:last-child) .ttl::after {
    margin-top: calc(1.1428571429rem + (1lh - 1.1428571429rem) / 2 + 0.2857142857rem);
    margin-bottom: calc((1lh - 1.1428571429rem) / -2 + 0.2857142857rem);
  }
}
/* --- 連番 --- */
.lps_parts--flow.flow-num .flow_item {
  counter-increment: number;
}

.lps_parts--flow.flow-num .ttl::before {
  content: counter(number);
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: 4rem;
  margin-block: calc((1lh - 4rem) / 2);
  text-align: center;
  background-color: var(--clr-primary-default);
  letter-spacing: 0;
  color: var(--clr-text-light);
  font-feature-settings: "liga" off, "clig" off;
  font-family: var(--font-en-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-heading);
  line-height: 1.7; /* 40.8px */
  padding-top: 0.1lh;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow.flow-num .ttl::before {
    inline-size: 2.5rem;
    margin-block: calc((1lh - 2.8571428571rem) / 2);
    font-size: 1.2857142857rem;
  }
}
.lps_parts--flow.flow-num .flow_item:not(:last-child) .ttl::after {
  margin-top: calc(4rem + (1lh - 4rem) / 2 + 0.375rem);
  margin-bottom: calc((1lh - 4rem) / -2 + 0.375rem);
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flow.flow-num .flow_item:not(:last-child) .ttl::after {
    margin-top: calc(2.8571428571rem + (1lh - 2.8571428571rem) / 2 + 0.2857142857rem);
    margin-bottom: calc((1lh - 2.8571428571rem) / -2 + 0.2857142857rem);
  }
}
/* ##############################################################################

    PAGE

############################################################################## */
.related_page--list {
  background: var(--clr-blk);
}

/* related_page
********************************************** */
.related_page--list {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

@media print, screen and (min-width: 48em) {
  .related_page--list li {
    aspect-ratio: 1/0.75;
  }
}

.related_page--list a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.5rem;
  line-height: var(--line-height-hdr);
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 47.9375em) {
  .related_page--list a {
    padding: 1.7142857143rem;
  }
}
@media (hover: hover) {
  .related_page--list a:hover {
    opacity: 0.7;
  }
}
.related_page--list .font-jp {
  color: var(--clr-text-light);
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-lg-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 28.8px */
  letter-spacing: 0.03em;
}

@media screen and (max-width: 47.9375em) {
  .related_page--list .font-jp {
    font-size: 1.2857142857rem;
  }
}
.related_page--list .font-en {
  text-transform: capitalize;
  color: var(--clr-text-light);
  text-align: center;
  font-feature-settings: "liga" off, "clig" off;
  /* EN/heading2-en */
  font-family: var(--font-en-heading);
  font-size: var(--font-size-heading2);
  font-style: normal;
  font-weight: var(--font-weight-heading);
  line-height: 1.4; /* 67.2px */
  margin-bottom: 1rem;
}

@media screen and (max-width: 47.9375em) {
  .related_page--list .font-en {
    font-size: 0.7142857143rem;
  }
}
/* type-bg 背景画像がある場合、色ベタ・白文字
****************************************************** */
.related_page--bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 0.2;
  background-image: var(--bg-img);
}

@media screen and (max-width: 47.9375em) {
  .related_page--bg {
    --bg-img-sp: var(--bg-img);
    background-image: var(--bg-img-sp);
  }
}
@media print, screen and (min-width: 48em) {
  .related_page--list.type-bg {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(33.3333333333%, 1fr));
  }
}
.related_page--list.type-bg li:nth-child(9n-1) a::before, .related_page--list.type-bg li:nth-child(9n-3) a::before, .related_page--list.type-bg li:nth-child(9n-8) a::before {
  background: var(--clr-primary-light);
}

.related_page--list.type-bg li:nth-child(9n-2) a::before, .related_page--list.type-bg li:nth-child(9n-4) a::before, .related_page--list.type-bg li:nth-child(9n-6) a::before {
  background: var(--clr-primary-dark);
}

.related_page--list.type-bg a {
  color: var(--clr-wht);
  padding: 4rem 5.5rem 4rem 4rem;
}

@media screen and (max-width: 47.9375em) {
  .related_page--list.type-bg a {
    padding: 1.7142857143rem 2.2857142857rem 1.7142857143rem 1.7142857143rem;
  }
}
.related_page--list.type-bg a::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: var(--clr-primary-default);
  opacity: 0.65;
}

/* lps_parts--img_text
********************************************** */
.lps_parts--img_text .flex {
  display: flex;
}

.lps_parts--img_text .flex-col2 {
  flex-wrap: wrap;
  gap: 0;
}

.lps_parts--img_text .flex-col2 > * {
  width: 50%;
  gap: 0;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .flex-col2 > * {
    width: 100%;
  }
}

.lps_parts--img_text .bg-wht {
  background-color: var(--clr-wht);
}

.lps_parts--img_text .lps_parts {
  margin-bottom: 0;
  margin-top: 0;
}

.lps_parts--img_text .lps_parts--child:not(.inner-lg) {
  max-width: 90rem;
}

.lps_parts--img_text .img_text--child:only-child,
.lps_parts--img_text .bg-wht .img_text--child:only-child,
.lps_parts--img_text .text,
.lps_parts--img_text .img_text--txt table {
  width: 100%;
}

.lps_parts--img_text .img_text--child .img {
  height: 100%;
}

.lps_parts--img_text .img_text--img:only-child .img {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .img_text--txt {
    padding-block: 5rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .img_text--txt {
    padding-top: 2.2857142857rem;
  }
}
.lps_parts--img_text .bg-wht .img_text--txt {
  padding: 5.3333333333%;
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .bg-wht .img_text--txt {
    padding: 1.7142857143rem;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .inner:not(.flex-reverse) .img_text--txt {
    padding-left: 5.3333333333%;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .inner.flex-reverse .img_text--txt {
    padding-right: 5.3333333333%;
  }
}
/* --- L --- */
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .inner-lg {
    width: 100%;
    margin-inline: 0;
    max-width: 100%;
    margin-top: 2.8571428571rem;
  }
}
.lps_parts--img_text .inner-lg .img_text--img {
  position: absolute;
  top: 0;
}

@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .inner-lg .img_text--img {
    height: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .inner-lg .img_text--img {
    position: relative;
  }
}
.lps_parts--img_text .inner-lg:not(.flex-reverse) .img_text--img {
  left: 0;
}

.lps_parts--img_text .inner-lg.flex-reverse .img_text--img {
  right: 0;
}

@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .inner-lg .img_text--txt {
    min-height: 37.9775rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .inner-lg .img_text--txt {
    width: 86% !important;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .lps_parts--img_text .inner-lg .img_text--txt {
    width: 100% !important;
  }
}
.lps_parts--img_text .inner-lg:not(.flex-reverse) .img_text--txt {
  margin-left: auto;
}

.lps_parts--img_text .lps_parts--child .ttl-03 {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading4-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading4);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 160%; /* 51.2px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .lps_parts--child .ttl-03 {
    font-size: var(--font-size-heading4-sp);
  }
}

@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .inner-lg:not(.flex-reverse) .img_text--txt {
    padding-left: 6.4375rem;
    padding-right: 0;
  }
}
.lps_parts--img_text .inner-lg.flex-reverse .img_text--txt {
  margin-right: auto;
}

@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .inner-lg.flex-reverse .img_text--txt {
    padding-left: 0;
    padding-right: 6.4375rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .inner-lg.bg-wht .img_text--txt {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 2.8571428571rem;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--img_text .img_text--txt {
    display: flex;
    align-items: center;
  }
  .lps_parts--img_text .inner-lg .img_text--img:only-child {
    position: relative;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--img_text .btn {
    text-align: center;
  }
  .lps_parts--img_text .bg-wht + .bg-wht {
    margin-top: -2.8571428571rem;
  }
}
/* home_our_business 
********************************************** */
.home_our_business {
  padding-top: 15.25rem;
  background: var(--clr-primary-default);
  padding-bottom: 0rem;
  overflow: clip;
}
@media screen and (max-width: 47.9375em) {
  .home_our_business {
    padding-top: 5.7142857143rem;
    padding-bottom: 2.5rem;
  }
}
.home_our_business .home-ttl,
.home_our_business .home-ttl2 {
  color: var(--clr-wht);
}
.home_our_business .home-ttl .en::first-letter {
  color: var(--clr-wht);
}
.home_our_business .home-ttl2 {
  margin-bottom: 3.5rem;
}
.home_our_business .home-ttl2 .en {
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--font-en-heading);
  line-height: 1;
  margin-bottom: 3.125rem;
  display: block;
}
@media screen and (max-width: 47.9375em) {
  .home_our_business .home-ttl2 .en {
    margin-bottom: 0.8571428571rem;
  }
}
.home_our_business .home-ttl2 .jp {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  line-height: 1.43;
}
@media screen and (max-width: 47.9375em) {
  .home_our_business .home-ttl2 .jp {
    font-size: 1.7142857143rem;
  }
}
.home_our_business .svgbox {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.home_our_business .svgbox svg {
  width: 100%;
}

.business_img--item {
  width: 22.5rem;
  height: 22.5rem;
  border-radius: 100%;
  background-color: #28333d;
  transition: var(--transit-default);
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  padding-bottom: 7.5rem;
}
.business_img--item:hover {
  opacity: 0.8 !important;
}
.business_img--item .num {
  font-size: 2.5rem;
  color: #00d910;
  font-family: var(--font-en-heading);
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 47.9375em) {
  .business_img--item .num {
    font-size: 1.7142857143rem;
  }
}
.business_img--item .jp,
.business_img--item .en {
  color: var(--clr-wht);
}
.business_img--item .en {
  font-family: var(--font-en-heading);
  font-size: 1rem;
}
.business_img--item .jp {
  letter-spacing: 0.15em;
  font-size: 1.875rem;
  font-weight: 600;
  font-family: var(--font-jp-heading);
  padding-left: 0.25em;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 47.9375em) {
  .business_img--item .jp {
    font-size: 1.2857142857rem;
    margin-bottom: 0;
  }
}

.home_job--cont_inner {
  position: relative;
  display: grid;
  place-items: center;
  width: 50rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 47.9375em) {
  .home_job--cont_inner {
    width: 100%;
  }
}

.home_job--cont-ctr {
  display: grid;
  place-items: center;
  z-index: 10;
  width: 16.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--clr-wht) 100%, transparent);
  opacity: 0;
  transition: var(--transit-default);
  position: relative;
}
@media screen and (max-width: 47.9375em) {
  .home_job--cont-ctr {
    width: 5.7142857143rem;
  }
}
.home_job--cont-ctr img {
  width: 10rem;
}
@media screen and (max-width: 47.9375em) {
  .home_job--cont-ctr img {
    width: 3.4285714286rem !important;
  }
}
.home_job--cont-ctr::after, .home_job--cont-ctr::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 100%;
  z-index: -1;
}
.home_job--cont-ctr::after {
  background: var(--clr-wht);
  opacity: 0.5;
  width: calc(100% + 1.875rem);
  height: calc(100% + 1.875rem);
}
@media screen and (max-width: 47.9375em) {
  .home_job--cont-ctr::after {
    width: calc(100% + 1.2857142857rem);
    height: calc(100% + 1.2857142857rem);
  }
}
.home_job--cont-ctr::before {
  background: var(--clr-wht);
  opacity: 0.2;
  width: calc(100% + 4.375rem);
  height: calc(100% + 4.375rem);
}
@media screen and (max-width: 47.9375em) {
  .home_job--cont-ctr::before {
    width: calc(100% + 2.1428571429rem);
    height: calc(100% + 2.1428571429rem);
  }
}

.home_job--cont.is-show .home_job--cont-ctr {
  opacity: 1;
}

[class*=home_job--cont-0] {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22.5rem;
  aspect-ratio: 1;
  text-align: center;
  border-radius: 50%;
  overflow: visible;
  opacity: 0;
  --angle: calc((360deg / 3 * var(--index)) - 90deg);
  --radius: calc(280 * var(--rem-pc));
  --x: calc(cos(var(--angle)) * var(--radius));
  --y: calc(sin(var(--angle)) * var(--radius));
  transform: translate(-50%, -50%);
  transition: var(--transit-default);
}
@media screen and (max-width: 47.9375em) {
  [class*=home_job--cont-0] {
    width: 11.4285714286rem;
    height: 11.4285714286rem;
    --radius: calc(100 * var(--rem-sp));
    padding-bottom: 2.8571428571rem;
  }
}
[class*=home_job--cont-0] .post--link::before {
  z-index: 100;
}
[class*=home_job--cont-0] span,
[class*=home_job--cont-0] hgroup {
  color: var(--clr-wht);
}

.home_job--cont-01 {
  --index: 0;
  animation-delay: 0.15;
}

.home_job--cont-02 {
  --index: 2;
  animation-delay: 0.3s !important;
}

.home_job--cont-03 {
  --index: 1;
  animation-delay: 0.45s !important;
}

.home_job--cont-04 {
  --index: 3;
  animation-delay: 0.6s !important;
}

.home_job--cont-05 {
  --index: 4;
  animation-delay: 0.75s !important;
}

.home_job--cont.is-active [class*=home_job--cont-0] {
  animation: spread 1.3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  animation-iteration-count: 1;
}

.business_img_innerwrap {
  display: flex;
  column-gap: 5.625rem;
  align-items: center;
}
@media screen and (max-width: 80em) {
  .business_img_innerwrap {
    flex-direction: column;
  }
}
@media screen and (max-width: 47.9375em) {
  .business_img_innerwrap {
    position: relative;
    z-index: 1;
  }
}

@media screen and (max-width: 47.9375em) {
  .home_job--cont {
    --radius: calc(150 * var(--rem-sp));
    height: calc(var(--radius) + 14.2857142857rem);
    display: flex;
    align-items: center;
  }
}

.home_our_business--txtbox .txt {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  color: var(--clr-wht);
  line-height: 1.89;
}

/* pubulicwrock_innerwrap
********************************************** */
.pubulicwrock_innerwrap {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 10.25rem;
}
@media screen and (max-width: 80em) {
  .pubulicwrock_innerwrap {
    grid-template-columns: 100%;
  }
}
.pubulicwrock_innerwrap .home-ttl {
  color: var(--clr-wht);
  position: relative;
  z-index: 1;
  margin-right: auto;
  translate: -80% 0;
  display: grid;
  grid-template-columns: 100%;
}
.pubulicwrock_innerwrap .home-ttl > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .pubulicwrock_innerwrap .home-ttl {
    translate: -20% 0;
  }
}

.home_our_business .pubulicwrock--en_ttl {
  font-size: min(5rem, 80px);
  opacity: 0;
  transition: var(--transit-default);
}
.home_our_business .pubulicwrock--en_ttl.active {
  opacity: 1;
}

/* txt */
.pubulicwrock--txtwrap {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 80em) {
  .pubulicwrock--txtwrap {
    row-gap: 1rem;
  }
}

.pubulicwrock--txtbox {
  color: var(--clr-wht);
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 48em) {
  .pubulicwrock--txtbox {
    margin-bottom: 20rem;
  }
}
.pubulicwrock--txtbox .numbox {
  display: flex;
  flex-direction: column;
}
.pubulicwrock--txtbox .numbox .en {
  font-size: 1.6rem;
  font-family: var(--font-en-heading);
}
.pubulicwrock--txtbox .numbox .num {
  font-size: 6.875rem;
  font-family: var(--font-en-heading);
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 47.9375em) {
  .pubulicwrock--txtbox .numbox .num {
    font-size: 5.7142857143rem;
  }
}
.pubulicwrock--txtbox .pubulicwrock--ttl {
  font-size: 4rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 47.9375em) {
  .pubulicwrock--txtbox .pubulicwrock--ttl {
    font-size: max(2.5714285714rem, 36px);
  }
}
.pubulicwrock--txtbox .pubulicwrock--ttl2 {
  font-size: 1.875rem;
  letter-spacing: 0.1em;
  line-height: 1.9;
}
@media screen and (max-width: 47.9375em) {
  .pubulicwrock--txtbox .pubulicwrock--ttl2 {
    font-size: max(1.4285714286rem, 20px);
    line-height: 1.4;
  }
}
.pubulicwrock--txtbox .txt {
  font-size: 1.125rem;
  line-height: 1.89;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 47.9375em) {
  .pubulicwrock--txtbox .btn {
    display: flex;
    justify-content: center;
  }
}
.pubulicwrock--txtbox .btn .txt {
  font-size: 1rem;
}
@media screen and (max-width: 47.9375em) {
  .pubulicwrock--txtbox {
    margin-bottom: 4.2857142857rem;
  }
}

.img_list {
  width: fit-content;
  height: 57.5rem;
  display: grid;
  grid-template-columns: 100%;
}
.img_list > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .img_list {
    width: 90%;
    height: fit-content;
    margin-bottom: 2.8571428571rem;
  }
}

.img_list--item {
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  border-radius: 1rem;
  overflow: hidden;
  height: 70vh;
  aspect-ratio: 3/4;
}
@media screen and (max-width: 47.9375em) {
  .img_list--item {
    height: auto;
    opacity: 1;
  }
}
.img_list--item.active {
  opacity: 1;
}

/* img */
.pubulicwrock--img_slide--inner {
  position: sticky;
  top: 15rem;
  display: grid;
  grid-template-columns: 100%;
  padding-bottom: 2.5rem;
}
.pubulicwrock--img_slide--inner > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 80em) {
  .pubulicwrock--img_slide--inner {
    place-items: center;
  }
}
.pubulicwrock--img_slide--inner .back-img {
  position: absolute;
  z-index: -1;
  top: 35%;
  left: 50%;
  translate: -50% -50%;
  height: 90vh;
  aspect-ratio: 3/4;
}
.pubulicwrock--img_slide--inner .back-img img {
  width: 100%;
}

/* home_strength 
********************************************** */
.home_strength {
  overflow: clip;
  padding-top: 12.5rem;
  background: var(--clr-primary-dark);
  border-radius: 3rem 3rem 0 0;
}
@media screen and (max-width: 47.9375em) {
  .home_strength {
    padding-top: 4.2857142857rem;
  }
}
.home_strength .home-ttl {
  color: var(--clr-wht);
}
.home_strength .home-ttl .en::first-letter {
  color: var(--clr-wht);
}
.home_strength .home_strength--header {
  color: var(--clr-wht);
}
.home_strength .home-ttl3 {
  font-size: 2.5rem;
  line-height: 1.43;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 80em) {
  .home_strength .home-ttl3 {
    font-size: 1.7142857143rem;
  }
}

.lps_sec .home_strength {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 47.9375em) {
  .lps_sec .home_strength {
    padding-bottom: 1rem;
  }
}

.home_strength_back {
  position: absolute;
  right: 1.5625rem;
  top: 5rem;
}
@media screen and (max-width: 47.9375em) {
  .home_strength_back {
    width: 100%;
    right: 0;
    text-align: center;
    opacity: 0.5;
  }
  .home_strength_back img {
    width: calc(100% - 3.5714285714rem);
  }
}

.lps_sec .home_strength--item {
  position: relative;
  top: 0 !important;
}

/* home_strength--item */
.home .home_strength--item .home_strength--txtbox {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 47.9375em) {
  .home .home_strength--item .home_strength--txtbox {
    padding: 0;
  }
}

.home_strength--item {
  display: grid;
  grid-template-columns: 1fr auto;
  position: sticky;
  margin-bottom: 2.5rem;
  padding: 6.25rem;
  padding: 0;
  background: var(--clr-wht);
  border-radius: 2rem;
  border: solid 1px #28333d;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item {
    position: relative;
    display: flex;
    flex-direction: column;
    top: 0 !important;
    padding: 1.4285714286rem;
    padding-top: 2.8571428571rem;
  }
  .home_strength--item .home_strength--img {
    order: 1;
  }
  .home_strength--item .home_strength--txtbox {
    order: 2;
  }
  .home_strength--item .inner--loops {
    order: 3;
  }
  .home_strength--item > .inner--btn {
    order: 4;
  }
  .home_strength--item > .inner--posts {
    order: 4;
  }
}
.home_strength--item .home_strength--anchor {
  top: -12.5rem;
}
.home_strength--item .num_box {
  font-family: var(--font-en-heading);
  position: relative;
  color: var(--clr-primary-default);
  margin-bottom: 5.375rem;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .num_box {
    margin-bottom: 0.8571428571rem;
    margin-left: 1.2857142857rem;
  }
}
.home_strength--item .num_box_num {
  font-size: 8.53125rem;
  line-height: 0.8;
  font-weight: 900;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .num_box_num {
    font-size: 4.5714285714rem;
  }
}
.home_strength--item .home_strength--txtbox {
  padding-top: 6.25rem;
  padding-left: 6rem;
}
@media print, screen and (min-width: 48em) {
  .home_strength--item .home_strength--txtbox {
    width: 40rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .home_strength--txtbox {
    padding: 0rem;
  }
}
.home_strength--item .num_box_txt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 1.25rem;
  position: absolute;
  top: -0.625rem;
  left: 0;
  translate: calc(-100% - 0.1em) 0;
  font-weight: 900;
  white-space: nowrap;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .num_box_txt {
    font-size: 0.7142857143rem;
  }
}
.home_strength--item .home_strength--ttl_sub {
  font-family: var(--font-jp-heading);
  font-size: 1.5rem;
  letter-spacing: 0.01em;
  color: var(--clr-primary-default);
  line-height: 1;
  margin-bottom: 3.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .home_strength--ttl_sub {
    margin-bottom: 1.4285714286rem;
    font-size: 1.2857142857rem;
    line-height: 1.4;
  }
}
.home_strength--item .home_strength--ttl {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  color: var(--clr-text-primary);
  line-height: 1.43;
  margin-bottom: 3rem;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .home_strength--ttl {
    font-size: 1.7142857143rem;
    margin-bottom: 1.4285714286rem;
  }
}
.home_strength--item .home_strength--txt {
  line-height: 1.89;
  letter-spacing: 0.1em;
  font-size: 1.125rem;
  margin-bottom: 4rem;
  font-weight: 600;
}
@media screen and (max-width: 47.9375em) {
  .home_strength--item .home_strength--txt {
    font-size: 1rem;
    margin-bottom: 1.4285714286rem;
  }
}
.home_strength--item .home_strength--img {
  width: 100%;
  max-width: 45.9375rem;
  padding-top: 1.25rem;
}

.home_strength--item {
  --top: calc((100vh - 900* var(--rem-pc)) / 2 + 30* var(--rem-pc) * var(--index) );
}
.home_strength--item.item1 {
  --index: 0;
  top: var(--top);
}
.home_strength--item.item2 {
  --index: 1;
  top: var(--top);
}
.home_strength--item.item3 {
  --index: 2;
  top: var(--top);
}

.inner--loops {
  grid-column: 1/3;
}
.inner--loops .lps_sec:nth-child(2n-1) {
  background: none;
}

.inner--btn {
  grid-column: 1/3;
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media print, screen and (min-width: 48em) {
  .inner--btn a {
    min-width: 19.0625rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .inner--btn {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.inner--posts {
  grid-column: 1/3;
}
.inner--posts .home_works {
  padding-bottom: 0;
  padding-top: 0;
}
.inner--posts .works_list .slick-dots {
  background-color: #f0f0e7;
}
.inner--posts .works_list .slick-dots button {
  background-color: #f0f0e7;
}
.inner--posts .home_works_list .slick-dots .slick-active button {
  background-color: var(--clr-primary-light);
}

.home_strength_header_text {
  font-size: 1.125rem;
  line-height: 1.89;
  letter-spacing: 0.03em;
  font-family: var(--font-jp-text);
}

/* home_about-us
********************************************** */
.home_about-us--txt_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 6.25rem;
}
@media screen and (max-width: 47.9375em) {
  .home_about-us--txt_wrap {
    grid-template-columns: 100%;
  }
}

.home_about-us {
  padding-top: 14.375rem;
  padding-bottom: 10.3125rem;
  background-color: #f0f0e7;
  position: relative;
  overflow: clip;
}
@media screen and (max-width: 47.9375em) {
  .home_about-us {
    padding-top: 5.7142857143rem;
    padding-bottom: 2.8571428571rem;
  }
}

.home_about-us .deco-arrow1 {
  width: 57.1875rem;
  rotate: 180deg;
  top: -21.6875rem;
  right: -7.0625rem;
}
@media screen and (max-width: 80em) {
  .home_about-us .deco-arrow1 {
    width: 45rem;
  }
}

.home_about_slick_box_wrap {
  width: 50.9375rem;
  max-width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
@media print, screen and (min-width: 48em) {
  .home_about_slick_box_wrap {
    height: 57.5rem;
  }
}
@media screen and (max-width: 80em) {
  .home_about_slick_box_wrap {
    position: relative;
  }
}
@media screen and (max-width: 47.9375em) {
  .home_about_slick_box_wrap {
    width: 100%;
  }
}
.home_about_slick_box_wrap .slick-slide img {
  width: 100%;
}

@media screen and (max-width: 47.9375em) {
  .home_about_slick_box {
    border-radius: 1.1428571429rem;
    overflow: hidden;
  }
}

@media screen and (max-width: 80em) {
  .home_about-us--txtbox {
    margin-bottom: 2.5rem;
    margin-inline: auto;
    width: 100%;
  }
}

.home_about-us--inner {
  position: relative;
  z-index: 1;
}
.home_about-us--ttl {
  font-size: 1.875rem;
  line-height: 1.9;
  color: #28333d;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 47.9375em) {
  .home_about-us--ttl {
    font-size: 1.7142857143rem;
    line-height: 1.6;
  }
}

.home_about-us .home-ttl {
  color: var(--clr-text-primary);
}
.home_about-us .home-ttl .en::first-letter {
  color: var(--clr-primary-default);
}
@media screen and (max-width: 80em) {
  .home_about-us .home-ttl {
    text-align: center;
  }
}

.home_about-us--txt {
  width: 37.1875rem;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1.89;
  max-width: 100%;
}
.home_about-us--txt p {
  margin-bottom: 1em;
  color: #28333d;
}

.home_about-us--btnbox {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  width: 37.1875rem;
  max-width: 100%;
}

.home_about-us--btn a {
  background: var(--clr-wht);
  display: flex;
  justify-content: space-between;
  border-radius: 1rem;
  padding: 2rem 2rem 2rem 3.125rem;
  place-items: center;
}
@media screen and (max-width: 47.9375em) {
  .home_about-us--btn a {
    padding-block: 1.2857142857rem;
    padding-inline: 1.2857142857rem;
  }
}
.home_about-us--btn .btn-txt {
  display: flex;
  flex-direction: column;
  row-gap: 0.875rem;
}
.home_about-us--btn .btn-txt .jp {
  font-size: 1.875rem;
  line-height: 1;
  color: #28333d;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 47.9375em) {
  .home_about-us--btn .btn-txt .jp {
    font-size: 1.2857142857rem;
  }
}
.home_about-us--btn .btn-txt .en {
  font-size: 1rem;
  color: #109b3d;
  font-family: var(--font-en-heading);
  font-weight: 600;
  line-height: 0.8;
}
.home_about-us--btn .btn-icon {
  background-color: #28333d;
}
.home_about-us--btn:hover a {
  background: var(--clr-blk);
}
.home_about-us--btn:hover .btn-txt .jp {
  color: var(--clr-wht);
}
.home_about-us--btn:hover .btn-txt .en {
  color: var(--clr-wht);
}
.home_about-us--btn:hover .btn-icon {
  background-color: var(--clr-primary-light);
}
.home_about-us--btn:hover .btn-icon img {
  filter: brightness(0) invert(0);
}

/* home_works
********************************************** */
.home_works {
  overflow: clip;
}

.home_works .deco-arrow1 {
  left: -7.0625rem;
  top: -29.3125rem;
  z-index: -1;
  width: 70.6875rem;
}

.home_works--txt {
  font-family: var(--font-jp-text);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 47.9375em) {
  .home_works--txt {
    font-size: 1rem;
  }
}

/* home_recruitz
********************************************** */
.home_recruit {
  overflow: clip;
  padding-top: 3.875rem;
  background-image: url(../images/common/bg-sky.jpg);
  background-position: top right;
  background-size: cover;
}

.home_recruit_imgloop.reverse .flow--img {
  translate: -100% 0;
  animation: loop2-h-reverse linear 80s 0s infinite;
}
@media screen and (max-width: 47.9375em) {
  .home_recruit_imgloop.reverse .flow--img img {
    height: 5.5rem;
  }
}
.home_recruit_imgloop * {
  flex-shrink: 0;
  column-gap: 3.4375rem;
}

.home_recruit_imgloop1 img {
  filter: drop-shadow(0.4375rem 1.0625rem 0px rgba(60, 169, 223, 0.69));
  height: 28.125rem;
  width: auto;
}
@media screen and (max-width: 47.9375em) {
  .home_recruit_imgloop1 img {
    height: 14.2857142857rem;
  }
}
.home_recruit_imgloop1 .flow--img > p {
  margin-inline: 1.6875rem;
}

.slide_area_contentwrap {
  padding-left: 1.5625rem;
  translate: 0;
  animation: loop2-h-reverse linear 84s 0s infinite;
}

/* home_recruit--ttl
********************************************** */
.works_slidebox {
  position: sticky;
  top: 0;
}
.works_slidebox .slide--item {
  margin-inline: 0;
  width: fit-content;
}
@media screen and (max-width: 47.9375em) {
  .works_slidebox {
    translate: 0 2.8571428571rem;
  }
}

.home_recruit--grid {
  padding-bottom: 6rem;
  color: var(--clr-wht);
  display: grid;
}
@media print, screen and (min-width: 48em) {
  .home_recruit--grid {
    grid-template-columns: auto 1fr;
    column-gap: 11.25rem;
    grid-template-areas: "ttl txt" "btn txt";
  }
}
@media screen and (max-width: 47.9375em) {
  .home_recruit--grid {
    display: block;
  }
}
.home_recruit--grid .home_recruit--ttl {
  grid-area: ttl;
}
.home_recruit--grid .home_recruit--txt {
  grid-area: txt;
}
.home_recruit--grid .btn {
  grid-area: btn;
}

.home_recruit--ttl {
  color: var(--clr-wht);
}
.home_recruit--ttl .en {
  font-family: var(--font-en-heading);
  font-size: 1.875rem;
  line-height: 1.63;
  display: block;
  margin-top: 2.75rem;
  font-weight: 700;
}
.home_recruit--ttl .jp {
  font-size: 3.75rem;
  line-height: 1.49;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 47.9375em) {
  .home_recruit--ttl .jp {
    font-size: 2.2857142857rem;
  }
}

.home_recruit--txt {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1.89;
}
.home_recruit--txt p {
  margin-bottom: 1em;
}

.home_recruit {
  padding-bottom: 10rem;
}
@media screen and (max-width: 47.9375em) {
  .home_recruit {
    padding-bottom: 4rem;
  }
}
.home_recruit .ttl {
  margin-bottom: 1.5rem;
}
.home_recruit .r_cta--bottom .btnarea {
  margin-top: 0;
}
.home_recruit .r_cta--bottom .btnarea--bottom {
  margin-top: 0;
  margin-bottom: 1.875rem;
}
.home_recruit .r_cta--bottom .txt {
  font-size: 0.875rem;
  margin: 0;
}

.back_tex {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
}
.back_tex .tex1 {
  background: url("../images/recruit/bg-noise.png");
  mix-blend-mode: screen;
  background-size: cover;
}
.back_tex .tex2 {
  background: url("../images/recruit/bg-texture.png");
  mix-blend-mode: color-burn;
  background-size: cover;
}
.back_tex > * {
  grid-column: 1;
  grid-row: 1;
}

.main_side {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16.5rem;
  gap: 5rem;
}
@media screen and (max-width: 47.9375em) {
  .main_side {
    grid-template-columns: 100%;
  }
}

.side--ttl {
  border-bottom: 1px solid var(--clr-mono-02);
  padding-bottom: 0.625rem;
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading6-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading6);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 160%; /* 32px */
  letter-spacing: 0.03em;
}

.side--ttl--wrap {
  display: flex;
  align-items: baseline;
  column-gap: 0.5rem;
  padding-left: 0.75rem;
  position: relative;
  border-left: 4px solid var(--clr-primary-default);
}
.side--ttl--wrap::after {
  content: "";
}

.side--ttl span {
  display: block;
  color: var(--clr-primary-dark);
  font-feature-settings: "liga" off, "clig" off;
  /* EN/subtitle-sm-en */
  font-family: var(--font-en-text);
  font-size: var(--font-size-txt-sm);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1; /* 22.4px */
  letter-spacing: 0.03em;
  text-transform: capitalize;
}

.side--list a {
  display: block;
  color: var(--clr-text-primary);
  font-weight: var(--font-weight-bold);
}

.side_section:not(:last-child) {
  margin-bottom: 4rem;
}

.side--list > .cat-item {
  padding: 0.5rem 1rem;
  color: var(--clr-text-primary);
  border-bottom: 1px solid var(--color-mono-02, #CCC);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-sm-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-sm);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 22.4px */
  letter-spacing: 0.03em;
}
.side--list .children li {
  padding: 0.25rem 1rem;
}

.posts-works .post--ttl,
.single .posts-works .post--ttl {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 38.4px */
  letter-spacing: 0.03em;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 47.9375em) {
  .posts-works .post--ttl,
  .single .posts-works .post--ttl {
    font-size: 1.2857142857rem;
  }
}

.other_works {
  background: var(--clr-bg-02);
}

.single-works .works--info table {
  width: 100%;
}
.single-works .works--info table th {
  width: 25%;
}

.single-works .works--info table .naiyou a {
  pointer-events: none;
  text-decoration: none;
}

.side--list .parent > a {
  position: relative;
  cursor: pointer;
}
.side--list .parent > a::after, .side--list .parent > a::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  translate: 0 -50%;
  width: 10px;
  height: 2px;
  border-bottom: 2px solid var(--clr-primary-default);
  grid-column: 2;
  grid-row: 1;
  display: block;
  transition: var(--transit-default);
}
.side--list .parent > a::before {
  rotate: 90deg;
}

.side--list .parent.is-open > a::before {
  rotate: 0deg;
}

.side--list .parent.is-open > ul.children {
  display: block;
}

.breadcrumbs_wrap {
  background: var(--clr-bg-01);
  padding-top: 9.125rem;
}
@media screen and (max-width: 47.9375em) {
  .breadcrumbs_wrap {
    padding-top: 5.7142857143rem;
  }
}

/* 強み　スポット対応
********************************************** */
#section_child_01-button_02 .flex {
  gap: 2.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 47.9375em) {
  #section_child_01-button_02 .flex {
    grid-template-columns: 100%;
    row-gap: 0.7142857143rem;
    width: 100%;
  }
}
#section_child_01-button_02 .flex a {
  height: 100%;
}

/* 会社概要　スポット対応
********************************************** */
@media screen and (max-width: 47.9375em) {
  .page-company .wp-image-3328 {
    width: 50% !important;
    margin-left: auto;
    margin-right: 0;
  }
  .page-company #section-04 .img img {
    width: 50% !important;
  }
}

.page_related_wrap {
  position: relative;
  z-index: 2;
}

/* anchor_link
********************************************** */
@media print, screen and (min-width: 48em) {
  .lps_anchor_wrap {
    display: contents;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_anchor_wrap {
    position: fixed;
    bottom: 0;
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s ease-out;
  }
  .lps_anchor_wrap.is-show {
    opacity: 1;
    pointer-events: all;
  }
}

.lps_anchor {
  width: 22.5rem;
  padding-left: 7.875rem;
}
@media screen and (max-width: 47.9375em) {
  .lps_anchor {
    padding-top: 0;
    padding-left: 1.7142857143rem;
    overflow-x: scroll;
    background-color: var(--clr-wht);
  }
}

.anchor_link--list_wrap {
  position: sticky;
  top: 5rem;
  z-index: 99;
  padding-top: 8.4375rem;
  mix-blend-mode: difference;
  color: var(--clr-wht);
}
@media screen and (max-width: 47.9375em) {
  .anchor_link--list_wrap {
    position: static;
    overflow: auto;
    padding-top: 0;
    display: flex;
    align-items: center;
    mix-blend-mode: normal;
    width: max-content;
  }
}

.anchor_link--ttl {
  letter-spacing: 0;
}
@media screen and (max-width: 47.9375em) {
  .anchor_link--ttl {
    font-weight: var(--font-weight-bold) !important;
    font-size: 1.1428571429rem;
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 47.9375em) {
  .anchor_link--list {
    display: flex;
    flex-wrap: inherit;
    white-space: nowrap;
    gap: 1.7142857143rem;
    width: 100%;
    overflow: auto;
    padding-inline: 3.0714285714rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .anchor_link--list li {
    width: auto;
  }
  .anchor_link--list li:not(:first-child) a {
    padding-left: 2.4285714286rem;
  }
  .anchor_link--list li:not(:first-child) a::before {
    width: 1.8571428571rem;
  }
}

.anchor_link--list a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0.5rem 0;
  padding-left: 2.3125rem;
  line-height: var(--line-height-hdr);
  opacity: 0.6;
  color: var(--clr-wht);
}
@media screen and (max-width: 47.9375em) {
  .anchor_link--list a {
    padding: 1.2857142857rem 1.7142857143rem 1.2857142857rem 1.7142857143rem;
    color: var(--clr-text-primary);
    font-weight: var(--font-weight-bold);
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.anchor_link--list a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1rem;
  height: 1px;
  background-color: var(--clr-wht);
  transition: var(--transit-default);
}
@media print, screen and (min-width: 48em) {
  .anchor_link--list a::before {
    top: calc(0.5lh + 0.5rem);
  }
}
@media screen and (max-width: 47.9375em) {
  .anchor_link--list a::before {
    width: 1.1428571429rem;
    background-color: var(--clr-text-primary);
  }
}
.anchor_link--list a.current, .anchor_link--list a:hover {
  padding-left: 2.875rem;
  opacity: 1;
}
.anchor_link--list a.current::before, .anchor_link--list a:hover::before {
  width: 1.625rem;
}
@media screen and (max-width: 47.9375em) {
  .anchor_link--list a.current, .anchor_link--list a:hover {
    padding-left: 1.8571428571rem;
    opacity: 1;
  }
  .anchor_link--list a.current::before, .anchor_link--list a:hover::before {
    width: 1.1428571429rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .anchor_link--ttl {
    margin-bottom: 0;
    color: var(--clr-text-primary);
    white-space: pre;
    font-size: 1.1428571429rem;
    font-weight: var(--font-weight-bold);
  }
}

.txt-lg-jp {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/txt-lg-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-heading);
  line-height: 2; /* 36px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .txt-lg-jp {
    font-size: var(--font-size-txt-lg-sp);
  }
}

.subtitle-md-en {
  color: var(--clr-primary-default);
  font-feature-settings: "liga" off, "clig" off;
  /* EN/subtitle-md-en */
  font-family: var(--font-en-text);
  font-size: var(--font-size-txt-md);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 25.6px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .subtitle-md-en {
    font-size: var(--font-size-txt-md-sp);
  }
}

.heading2-jp {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading2-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading2);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.4; /* 67.2px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .heading2-jp {
    font-size: var(--font-size-heading2-sp);
  }
}

.heading3-jp {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading3-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 64px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .heading3-jp {
    font-size: var(--font-size-heading3-sp);
  }
}

.heading3-en {
  color: var(--clr-primary-default);
  font-feature-settings: "liga" off, "clig" off;
  /* EN/heading3-en */
  font-family: var(--font-en-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 160%; /* 64px */
}
@media screen and (max-width: 47.9375em) {
  .heading3-en {
    font-size: var(--font-size-heading3-sp);
  }
}

.heading5-jp {
  color: var(--clr-text-primary);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 38.4px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .heading5-jp {
    font-size: var(--font-size-heading5-sp);
  }
}

#section-07 .lps_parts--flow .inner-sm2 {
  max-width: 30rem;
}

.inner-xl2 {
  max-width: 106.25rem;
}

.inner-lg3 {
  max-width: 85.625rem;
}

.inner-lg4 {
  max-width: 90rem;
  margin-inline: auto;
  width: 96%;
}
@media screen and (max-width: 47.9375em) {
  .inner-lg4 {
    width: 90%;
  }
}

.inner-lg5 {
  max-width: 90rem;
  margin-inline: auto;
}

.inner-lg6 {
  max-width: 94rem;
  margin-inline: auto;
}

/* ##############################################################################

    ARCHIVE

############################################################################## */
/* ##############################################################################

    PAGE

############################################################################## */
/* ##############################################################################

    SEARCH

############################################################################## */
/* ##############################################################################

    SINGLE

############################################################################## */
/* 先輩社員インタビュー
********************************************** */
.anchor_pos {
  padding-top: 7.5rem;
  margin-top: -7.5rem;
}

.interview_headacc_1 {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 99;
  width: 39.125rem;
}
@media screen and (max-width: 47.9375em) {
  .interview_headacc_1 {
    width: 25%;
  }
}

.interview_headacc_1--2 {
  position: absolute;
  left: 3.75rem;
  top: 16.4375rem;
  width: 11.0625rem;
}
@media screen and (max-width: 47.9375em) {
  .interview_headacc_1--2 {
    display: none;
  }
}

.interview_headacc_2 {
  position: absolute;
  left: 0;
  bottom: -12.5rem;
  z-index: 99;
  width: 28.3125rem;
}
@media screen and (max-width: 47.9375em) {
  .interview_headacc_2 {
    width: 25%;
    bottom: -3.5714285714rem;
  }
}

.single-persons-wrap {
  display: grid;
  grid-template-columns: 100%;
}
@media screen and (max-width: 47.9375em) {
  .single-persons-wrap {
    grid-template-columns: 100%;
  }
}

.lps_anchor {
  grid-column: 1;
  grid-row: 1;
}

.lps_interview_wrap {
  grid-column: 1;
  grid-row: 1;
}

.lps_interview_wrap .lps_sec {
  padding-left: 37.875rem;
  padding-right: 7.875rem;
  background: #F2F6E9;
}
@media screen and (max-width: 77.5em) {
  .lps_interview_wrap .lps_sec {
    padding-inline: 1.4285714286rem;
  }
}

.subtitle-md {
  color: var(--clr-primary-default);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-lg-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
  position: relative;
  padding-left: 1rem;
  border-left: 4px solid #109B3D;
}
.persons_sec--ttl {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1.66875rem;
  place-items: center normal;
}

.persons_sec--num_wrap {
  display: grid;
  grid-template-columns: 100%;
  place-items: center;
}
.persons_sec--num_wrap > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .persons_sec--num_wrap {
    width: fit-content;
  }
}

.persons_sec--num_wrap .num {
  display: flex;
  place-items: center;
  translate: -33% 0;
  color: #FFF;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 160%; /* 38.4px */
  letter-spacing: 0.72px;
}

/* 後で整える
********************************************** */
.single-interview .anchor_link--list_wrap .anchor_link--ttl {
  color: #EF64C2;
  font-feature-settings: "liga" off, "clig" off;
  /* EN/subtitle-lg-en */
  font-family: var(--font-en-text);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1; /* 18px */
}

.single-interview .page_ttl--bg {
  aspect-ratio: auto;
}

.single-interview .page_ttl--bg {
  height: auto;
  max-width: 1920px;
}

.single-interview .page_ttl--bg img {
  aspect-ratio: 1640/800;
}

.single-interview .mce-content-body table {
  width: 100%;
}
.single-interview .mce-content-body table th.all {
  width: 7.5rem;
}
.single-interview .mce-content-body table th.half {
  width: 3.75rem;
  min-width: auto;
}

.persons_sec_wrap {
  padding-bottom: 16rem;
}

.single-interview .lps_anchor {
  padding-bottom: 7.5rem;
}

.lps_interview_wrap .lps_parts--column .img {
  border-radius: 0.5rem;
  overflow: hidden;
}

.lps_interview_wrap .img_horizontal {
  background: #F2F6E9;
}

.lps_interview_wrap .lps_sec {
  padding-top: 7.75rem;
}
@media screen and (max-width: 47.9375em) {
  .lps_interview_wrap .lps_sec {
    padding-top: 4.2857142857rem;
  }
}

.single-interview .lps_interview_wrap .lps_sec {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_interview_wrap .lps_sec {
    padding-bottom: 4.2857142857rem;
  }
}

.schedule_othe_interview {
  background: #F2F6E9;
}

.lps_interview_wrap .img_horizontal img {
  width: 100% !important;
  object-fit: cover;
}

.single-interview .page--ttl_img img {
  height: 28.125rem;
  object-fit: contain;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .page--ttl_img img {
    height: 19.125rem;
    margin-bottom: 1.8rem;
  }
}

/* ********************************************** */
.single-interview .people--ttl_head {
  width: 103.125rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 5.9375rem;
  padding-top: 15.4375rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--ttl_head {
    display: block;
    width: 100%;
    padding-top: 0rem;
    padding-inline: 5%;
    margin-bottom: 1.4285714286rem;
  }
}
.single-interview .page_ttl {
  display: block;
  background: #F2F6E9;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .page_ttl {
    margin-bottom: 0;
    padding-top: 8.5714285714rem;
  }
}
.single-interview .page--ttl_img {
  grid-column: 1/3;
  text-align: center;
  pointer-events: none;
  grid-row: 1;
}
.single-interview .page_ttl::before {
  display: none;
}
.single-interview .page_ttl--bg {
  display: block;
  width: 75%;
  height: 57.125rem;
  border-radius: 2rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .page_ttl--bg {
    height: 39.3571428571rem;
    border-radius: 1.1428571429rem;
  }
}
.single-interview .page_ttl--bg img {
  border-radius: 0 0 2rem 2rem;
}
.single-interview .page_ttl .persons--flows {
  position: relative;
  z-index: 20;
  margin-inline: calc(50% - 50vw) !important;
}
.single-interview .page_ttl--bg {
  position: relative;
  z-index: 10;
  width: calc(100% - 11.875vw);
  margin-inline: auto;
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .page_ttl--bg {
    width: 86%;
    height: 25.7142857143rem;
    border-radius: 2.8571428571rem;
  }
}
.single-interview .page_ttl--bg img {
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .page_ttl--bg img {
    width: 100%;
    height: 100%;
  }
}
.single-interview .people--bg {
  width: 100%;
  height: 40rem;
  background-color: var(--clr-primary-default);
  margin-top: -28.5rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--bg {
    height: 20rem;
    margin-top: -15.7142857143rem;
  }
}
.single-interview .people--ttl_inner {
  margin-inline: auto;
  max-width: 90rem;
  grid-row: 1;
  grid-column: 1;
}
.single-interview .people--ttl-sub {
  width: fit-content;
  padding: 0.5rem 1.5rem;
  background-color: var(--clr-primary-default);
  color: var(--clr-wht);
}
.single-interview .people--ttl-sub span {
  text-transform: capitalize;
}
.single-interview .people--ttl-sub {
  margin-bottom: 1.5rem;
  font-weight: var(--font-weight-bold);
  font-family: var(--font-en-heading);
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--ttl {
    margin-bottom: 1.1428571429rem;
    font-size: 2rem;
  }
}
.single-interview .people--ttl_info .ttl-05 {
  font-size: max(18px, 1.5rem);
  font-weight: var(--font-weight-bold);
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--ttl_info .ttl-05 {
    font-size: 1.1428571429rem;
  }
}
.single-interview .people--ttl_info .name_wrap {
  column-gap: 0.875rem;
}
.single-interview .people--ttl_info .name {
  line-height: normal;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--ttl_info .name {
    font-size: 1.7142857143rem;
  }
}
.single-interview .persons--flows.loop_wrap {
  position: absolute;
  top: 0;
  translate: 0 -50%;
}
@media print, screen and (min-width: 48em) {
  .single-interview .persons--flows.loop_wrap {
    margin-left: calc(50% - 65vw);
    margin-right: auto;
  }
}
.single-interview .persons--flow {
  line-height: 1.7;
  color: rgba(16, 155, 61, 0.6);
  font-feature-settings: "liga" off, "clig" off;
  font-family: var(--font-en-heading);
  font-size: 12.5rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  letter-spacing: -0.03em;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .persons--flow {
    font-size: 5.7142857143rem;
  }
}
.single-interview .persons--flow p {
  letter-spacing: 0;
}
.single-interview .people--about_it {
  overflow: hidden;
  padding-block: 5rem 5.9375rem;
  background-color: var(--clr-primary-default);
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--about_it {
    padding-block: 2.8571428571rem 3.6428571429rem;
  }
}
@media print, screen and (min-width: 48em) {
  .single-interview .people--about_it--inner {
    margin-left: 10rem;
  }
}
.single-interview .people--about_it--ttlarea {
  flex-shrink: 0;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--about_it--ttlarea {
    width: 90% !important;
    margin-inline: auto;
  }
}
.single-interview .people--about_it--list .slick-track {
  display: flex;
}
.single-interview .people--about_it--list .slick-slide {
  height: auto !important;
}
.single-interview .people--about_it--item {
  margin-right: 2rem;
}
.single-interview .people--about_it--item--inner {
  display: grid;
  justify-items: center;
  padding: 2.1875rem 1.5rem;
  height: 100%;
  border-radius: 2rem;
  border: 10px solid var(--clr-bg-02);
  background-color: var(--clr-wht);
  width: 29.375rem !important;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--about_it--item--inner {
    width: 22.8571428571rem !important;
  }
}
.single-interview .people--about_it-sub_ttl {
  padding: 0.5rem 2rem;
  height: fit-content;
  border-radius: 8000px var(--border-radius-max) var(--border-radius-max) 0;
  background-color: var(--clr-sub-01);
  color: var(--clr-wht);
  font-size: max(14px, 1.125rem);
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--about_it-sub_ttl {
    text-align: center;
    font-size: 1rem;
  }
}
.single-interview .people--about_it-ttl {
  text-align: center;
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--about_it-ttl {
    font-size: 1.4285714286rem;
  }
}
.single-interview .people--about_it-img {
  max-width: 6.25rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .people--about_it-img {
    max-width: 5.7142857143rem;
  }
}
.single-interview .lps_container {
  padding-top: 3.125rem;
  background-color: var(--clr-wht);
}
.single-interview .lps_container::before {
  display: none;
}
.single-interview .lps_wrap {
  padding-top: 0;
}
.single-interview .lps_sec--wrap {
  border: none !important;
}
.single-interview .lps_sec {
  overflow: clip;
}
.single-interview .lps_sec:first-of-type .lps_sec--wrap {
  padding-top: 0;
}
.single-interview .profile_img {
  width: 7.75rem;
  height: 7.75rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .profile_img {
    width: 7.1428571429rem;
    height: 7.1428571429rem;
  }
}
.single-interview .profile_img img {
  border-radius: var(--border-radius-max);
}
.single-interview .lps_parts--column {
  overflow: hidden;
}
.single-interview .lps_parts--column:not(:last-child) {
  margin-bottom: 4.375rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_parts--column:not(:last-child) {
    margin-bottom: 2.8571428571rem;
  }
}
.single-interview .lps_parts--column .txt:has(+ .img) {
  margin-bottom: 4.5rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_parts--column .txt:has(+ .img) {
    margin-bottom: 2.8571428571rem;
  }
}
.single-interview .lps_parts--column:has(.episode--wrapper) {
  margin-top: 4.8125rem;
  overflow: inherit;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_parts--column:has(.episode--wrapper) {
    margin-top: 2.8571428571rem;
  }
}
.single-interview .episode--wrapper {
  background-color: var(--clr-bg-02);
}
@media print, screen and (min-width: 48em) {
  .single-interview .episode--wrapper {
    border-radius: var(--border-radius-secondary) 0 0 var(--border-radius-secondary);
    padding: 5rem 8.25rem 4.125rem 5.375rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .single-interview .episode--wrapper {
    padding: 2.8571428571rem 2.2857142857rem;
  }
}
.single-interview .episode--wrapper::before {
  content: "";
  position: absolute;
  top: -4.8125rem;
  left: -7.1875rem;
  width: 42.6875rem;
  aspect-ratio: 683/246;
  background-image: url(/wp/wp-content/themes/standard_sass/images/persons/tegaki-episode.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .episode--wrapper::before {
    top: -1rem;
    left: 1rem;
    width: 21.4285714286rem;
  }
}
.single-interview .episode--txtarea {
  flex: 1;
}
.single-interview .episode--txtarea .ttl-04 {
  line-height: 2;
  text-decoration: 1px underline dashed var(--clr-mono-04);
  text-underline-offset: 0.3em;
}
.single-interview .lps_flow--child::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  right: 4.1875rem;
  width: 31.3125rem;
  aspect-ratio: 501/172;
  background-image: url(/wp/wp-content/themes/standard_sass/images/persons/tegaki-schedule.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_flow--child::before {
    right: 0;
    width: 14.2857142857rem;
  }
}
.single-interview .lps_flow--child {
  border-radius: var(--border-radius-primary);
}
.single-interview .lps_flow--child--inner {
  padding-block: 4.25rem;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_flow--child--inner {
    padding-block: 2.8571428571rem;
  }
}
.single-interview .lps_flow--times {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr));
  gap: 1rem;
}
.single-interview .lps_flow--times--child {
  padding: 2.5rem 1.5rem;
  border: 1px solid var(--clr-mono-02);
  border-radius: var(--border-radius-primary);
  background-color: var(--clr-wht);
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_flow--times--child {
    padding: 1.1428571429rem;
  }
}
.single-interview .lps_flow--times--child--ttl {
  position: relative;
  padding-left: calc(1rem + 10px);
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold-en);
  line-height: 1.7;
  color: var(--clr-text-secondary);
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_flow--times--child--ttl {
    font-size: 1.2857142857rem;
  }
}
.single-interview .lps_flow--times--child--ttl::before {
  content: "";
  position: absolute;
  top: 0.5lh;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: currentColor;
}
@media screen and (max-width: 47.9375em) {
  .single-interview .lps_flow--times--child--ttl::before {
    width: 8px;
    height: 8px;
  }
}
@media screen and (max-width: 47.9375em) {
  .single-interview .blc.related {
    margin-bottom: 0 !important;
    background-color: var(--clr-bg-02);
  }
}
.single-interview .related--ttl {
  position: sticky;
  top: 6.25rem;
  height: fit-content;
}

/* archive
********************************************** */
.list_name_wrap {
  display: block;
  background: var(--clr-wht);
}

/* ##############################################################################

    PAGE

############################################################################## */
/* fix_entry_btn
********************************************** */
.fix_entry_btnwrap {
  width: 100%;
  position: relative;
  position: sticky;
  top: 80%;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: var(--transit-default);
}
.fix_entry_btnwrap.header-sm {
  opacity: 1;
  pointer-events: all;
}
@media screen and (max-width: 47.9375em) {
  .fix_entry_btnwrap {
    display: none;
  }
}

.fix_entry_btn {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 3.75rem;
  width: 14.1875rem;
  height: 14.1875rem;
}
@media screen and (max-width: 47.9375em) {
  .fix_entry_btn {
    width: 5.7142857143rem;
    height: 5.7142857143rem;
    right: 1.4285714286rem;
  }
}
.fix_entry_btn a {
  display: grid;
  grid-template-columns: 100%;
  place-items: center;
}
.fix_entry_btn a > * {
  grid-column: 1;
  grid-row: 1;
  transition: var(--transit-default);
}
.fix_entry_btn .back {
  width: 12.0625rem;
  height: 12.0625rem;
  background-color: rgba(228, 41, 60, 0.93);
  border-radius: 100%;
}
@media screen and (max-width: 47.9375em) {
  .fix_entry_btn .back {
    width: 5rem;
    height: 5rem;
  }
}
.fix_entry_btn .txt {
  color: var(--clr-wht);
  font-size: 1.75rem;
  font-family: var(--font-en-heading);
}
@media screen and (max-width: 47.9375em) {
  .fix_entry_btn .txt {
    font-size: 0.8571428571rem;
  }
}
.fix_entry_btn .img {
  animation: rotate 20s linear infinite;
}

.fix_entry_btn a:hover .back {
  background-color: var(--clr-primary-dark);
}

/* hero
********************************************** */
.color-bg-lightgree {
  background: var(--color-bg-lightgreen);
}

.page-recruit {
  border-top: 0;
  /* recruit-message
  ********************************************** */
  /* message--line*/
  /* numbers_wrap */
  /* comment_ttl */
  /* merit
  ********************************************** */
  /* sldie */
  /* interview_list */
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .flow--img img {
    height: 5.5rem;
    width: auto;
  }
}
.page-recruit .hero-wrap {
  background-image: url(../images/common/bg-sky.jpg);
  background-position: top right;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero-wrap {
    display: grid;
    grid-template-columns: 100%;
  }
  .page-recruit .hero-wrap > * {
    grid-column: 1;
  }
}
.page-recruit .hero {
  z-index: initial;
  position: relative;
  height: 54.875rem;
  overflow: hidden;
  background: none;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero {
    height: auto;
    grid-row: 1;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-hero-wrap {
    grid-row: 2;
    grid-column: 1;
    height: fit-content;
  }
  .page-recruit .recruit-hero-wrap .top_looptxt {
    line-height: 0;
  }
}
.page-recruit .ipad .hero {
  height: 100vh;
  max-height: 95.703125vw;
}
.page-recruit .hero_deco {
  position: absolute;
  right: 4rem;
  bottom: 0;
  width: 13.5rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_deco {
    top: 62.8019323671vw;
    right: 1.7142857143rem;
    bottom: auto;
    width: 6.8571428571rem;
  }
}
.page-recruit .ipad .hero_deco {
  right: 9.765625vw;
  bottom: 22.0703125vw;
}
.page-recruit .hero_ttl {
  position: absolute;
  z-index: 1;
  left: 6.25rem;
  bottom: 2.25rem;
  font-size: 3.75rem;
  line-height: 1.22;
  letter-spacing: 0.2em;
  color: var(--clr-wht);
  white-space: nowrap;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_ttl {
    position: static;
    left: auto;
    bottom: auto;
    width: 90%;
    margin: 0 auto;
    font-size: 2.2857142857rem;
    grid-row: 4;
    white-space: wrap;
    margin-bottom: 1.7142857143rem;
    letter-spacing: 0.05em;
  }
}
.page-recruit .hero_ttl--box {
  font-size: 2rem;
  padding: 0.875rem 1.5rem;
  background-color: #08090a;
  line-height: 1;
  color: var(--clr-wht);
  letter-spacing: 0.2em;
  z-index: 1;
  display: block;
  width: fit-content;
  margin-bottom: 2rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_ttl--box {
    padding: 0.5714285714rem 0.5714285714rem;
    font-size: 1.1428571429rem;
    margin-bottom: 0.5714285714rem;
  }
}
.page-recruit .hero_ttl .font-en {
  font-weight: 600;
}
.page-recruit .hero_list {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: min(82.1875rem, 68%);
  height: 100%;
  perspective: 62.5rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_list {
    position: static;
    bottom: auto;
    right: auto;
    width: 93%;
    height: 93vw;
    margin-top: -20vw;
    margin-left: 1.1428571429rem;
    translate: 0;
    margin-bottom: 2.8571428571rem;
  }
}
.page-recruit .ipad .hero_list {
  right: 0;
  bottom: 29.296875vw;
}
.page-recruit .hero_item {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin: auto;
  cursor: pointer;
}
.page-recruit .hero_item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  pointer-events: none;
  mask-image: url(sample.png);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transition: var(--transit-default);
  /* Safari対応 */
  -webkit-mask-image: url(sample.png);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  pointer-events: none;
}
.page-recruit .hero_item.active::after {
  opacity: 0;
}
.page-recruit .hero_item.op1 {
  z-index: 1;
  opacity: 1;
}
.page-recruit .hero_item.op1::after {
  opacity: 0;
}
.page-recruit .hero_item.hero_item1::after {
  mask-image: url(../images/recruit/fv-ill-01.png);
  -webkit-mask-image: url(../images/recruit/fv-ill-01.png);
}
.page-recruit .hero_item.hero_item2::after {
  mask-image: url(../images/recruit/fv-ill-03.png);
  -webkit-mask-image: url(../images/recruit/fv-ill-03.png);
}
.page-recruit .hero_item.hero_item3::after {
  mask-image: url(../images/recruit/fv-ill-02.png);
  -webkit-mask-image: url(../images/recruit/fv-ill-02.png);
}
.page-recruit .hero_item.hero_item4::after {
  mask-image: url(../images/recruit/fv-ill-04.png);
  -webkit-mask-image: url(../images/recruit/fv-ill-04.png);
}
.page-recruit .hero_item.op0 {
  opacity: 0;
}
.page-recruit .hero_item.active {
  opacity: 1;
  pointer-events: none;
}
.page-recruit .hero_item img {
  width: 100%;
}
.page-recruit .hero_item .bubble {
  position: absolute;
  transform: translate(-50%, -50%) scale(0);
  transform-origin: bottom;
  display: grid;
  grid-template-columns: 100%;
  width: 30.375rem;
  aspect-ratio: 486/226;
  padding: 2rem 2.5rem 4.625rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events: none;
}
.page-recruit .hero_item .bubble > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_item .bubble {
    width: 14.2857142857rem;
    padding: 1rem 1.1428571429rem 2.1428571429rem;
  }
}
.page-recruit .hero_item .bubble.bubble-under {
  transform-origin: top;
  padding: 4.625rem 2.5rem 2rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_item .bubble.bubble-under {
    padding: 2.1428571429rem 1.1428571429rem 1rem;
  }
}
.page-recruit .hero_item.active .bubble {
  transform: translate(-50%, -50%) scale(1);
  transition-property: all;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.17, 0.67, 0.2, 1.35);
  transition-delay: 1s;
}
.page-recruit .hero_item.active .bubble.bubble02 {
  transition-delay: 1.2s;
}
.page-recruit #hero_item1 .bubble01 {
  bottom: 0%;
  left: 80%;
}
.page-recruit #hero_item1 .bubble02 {
  top: 10%;
  left: 30%;
}
.page-recruit #hero_item2 .bubble01 {
  top: 50%;
  left: 32%;
}
.page-recruit #hero_item2 .bubble02 {
  top: 45%;
  left: 67%;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit #hero_item2 .bubble02 {
    left: 75%;
  }
}
.page-recruit #hero_item3 .bubble01 {
  top: 36%;
  left: 20%;
}
.page-recruit #hero_item3 .bubble02 {
  top: 40%;
  left: 70%;
}
.page-recruit #hero_item4 .bubble01 {
  top: 21%;
  left: 22%;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit #hero_item4 .bubble01 {
    top: 29%;
    left: 29%;
  }
}
.page-recruit #hero_item4 .bubble02 {
  top: 26%;
  left: 74%;
}
.page-recruit #hero_item4 .bubble02 .bubble--wrapper {
  padding-inline: 1.125rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit #hero_item4 .bubble02 {
    top: 6%;
    left: 67%;
    padding: 2.1428571429rem 0.5714285714rem 1rem;
  }
}
.page-recruit .bubble_img {
  filter: drop-shadow(12px 12px 0 rgba(90, 176, 38, 0.3));
}
.page-recruit .hero_item .bubble--wrapper {
  width: 100%;
  height: 100%;
  padding: 1.5rem;
  color: var(--clr-wht);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_item .bubble--wrapper {
    padding: 0.8571428571rem;
  }
}
.page-recruit .hero_item .bubble .txt-grn {
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_item .bubble .txt-grn {
    margin-bottom: 1em;
    font-size: 0.5714285714rem;
  }
}
.page-recruit .hero_item .bubble .txt {
  display: flex;
  justify-content: center;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_item .bubble .txt {
    font-size: 0.7142857143rem;
    justify-content: flex-start;
  }
}
.page-recruit .hero_item .bubble .txt .txt-sm {
  font-size: 0.8em;
}
.page-recruit .hero_dots {
  position: absolute;
  right: 6.25rem;
  bottom: 4.25rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots {
    position: absolute;
    left: auto;
    bottom: auto;
    width: fit-content;
    margin: -2.8571428571rem auto 1.7142857143rem;
    right: 1.4285714286rem;
    bottom: -4.2857142857rem;
  }
}
.page-recruit .hero_dots li {
  column-gap: 1.625rem;
  cursor: pointer;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots li {
    column-gap: 1.4285714286rem;
    row-gap: 0.7142857143rem;
  }
}
.page-recruit .hero_dots li:not(:last-child) {
  margin-bottom: 1.125rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
.page-recruit .hero_dots li .dot {
  position: relative;
}
.page-recruit .hero_dots .dot {
  display: block;
}
.page-recruit .hero_dots .txt {
  color: var(--clr-wht);
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots .txt {
    display: none;
  }
}
.page-recruit .hero-dot.active .txt {
  color: #151e2f !important;
}
.page-recruit .hero_dots .num {
  width: 2em;
  text-align: center;
  font-size: 1.25rem;
  line-height: 0.76;
  color: var(--clr-wht);
  transition: var(--transit-default);
  position: relative;
  display: block;
  z-index: 1;
}
.page-recruit .hero_dots .num::after {
  content: "";
  display: block;
  width: 2.8125rem;
  height: 2.8125rem;
  background: #151e2f;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -1;
  opacity: 0;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots .num::after {
    display: none;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots .num {
    font-size: 1rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .hero_dots li.active .num {
    color: var(--clr-green);
  }
}
.page-recruit .hero_dots li.active .dot::after {
  height: 1.6875rem;
  transition: all 5s linear;
}
.page-recruit .hero_dots li.active .num span {
  display: block;
  translate: 0 0.125em;
}
.page-recruit .hero_dots li.active .num::after {
  opacity: 1;
}
.page-recruit .hero_dots .active .dot .deco::before {
  opacity: 1;
}
.page-recruit .hero_dots .active .dot .deco::after {
  opacity: 1;
}
.page-recruit .top_looptxt {
  font-size: 16.25rem;
  color: var(--clr-wht);
  line-height: 1;
  font-family: var(--font-en-text);
  font-weight: 700;
  letter-spacing: -0.04em;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message {
    grid-row: 2;
    grid-column: 1;
  }
}
.page-recruit .recruit-message_wrap {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message_wrap {
    padding-inline: 5%;
    padding-top: 12.8571428571rem;
    padding-bottom: 22.1428571429rem;
  }
}
.page-recruit .recruit-message_ttl_sub {
  font-size: 1.5rem;
  margin-bottom: 1.5rem;
  display: block;
}
.page-recruit .message--line {
  width: fit-content;
  position: absolute;
  width: 43rem;
}
@property --a {
  .page-recruit {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
  }
}
.page-recruit .circle_mask {
  transition: var(--transit-default);
  /* 初期状態：全体が覆われてる（0degの扇形） */
  mask-image: conic-gradient(transparent 0deg, transparent 0deg, black 0deg);
  -webkit-mask-image: conic-gradient(transparent 0deg, transparent 0deg, black 0deg);
}
.page-recruit .line_left {
  margin-right: auto;
  left: 0;
  top: 41.3125rem;
  -webkit-mask-image: conic-gradient(from 270deg, black 0deg, black 0deg, transparent 0deg);
  mask-image: conic-gradient(from 270deg, black 0deg, black 0deg, transparent 0deg);
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .line_left {
    width: 60%;
    top: 31.4285714286rem;
  }
}
.page-recruit .line_right {
  margin-left: auto;
  right: 0;
  top: 58.125rem;
  -webkit-mask-image: onic-gradient(from 90deg, black 0deg, black 0deg, transparent 0deg);
  mask-image: conic-gradient(from 90deg, black 0deg, black 0deg, transparent 0deg);
  scale: 1 -1;
}
.page-recruit .line_right img {
  scale: 1 -1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .line_right {
    width: 60%;
    top: initial;
    bottom: 5.7142857143rem;
  }
}
.page-recruit .recruit-message_ttl {
  font-size: 3.75rem;
  line-height: 1.49;
  letter-spacing: 0.15em;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message_ttl {
    font-size: var(--font-size-heading2-sp);
  }
}
.page-recruit .recruit-message {
  color: var(--clr-wht);
  text-align: center;
  line-height: 1.89;
  letter-spacing: 0.1em;
}
.page-recruit .recruit-message p {
  margin-bottom: 1lh;
}
.page-recruit .recruit-message .acc_imgbox--item {
  translate: 0 1.25rem;
  transition: var(--transit-default);
  opacity: 0;
}
.page-recruit .recruit-message .acc_imgbox {
  position: relative;
  z-index: 1;
}
.page-recruit .recruit-message .active.acc_imgbox .acc_imgbox--item {
  translate: 0 0;
  opacity: 1;
}
.page-recruit .recruit-message .acc_imgbox img {
  display: block;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .leftimg {
    height: fit-content;
    display: flex;
    justify-content: center;
    column-gap: 3.2142857143rem;
  }
}
@media print, screen and (min-width: 48em) {
  .page-recruit .recruit-message .leftimg_1 {
    width: 20.625rem;
    margin-left: 10.0625rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .leftimg_1 {
    width: 10rem;
    order: 2;
  }
}
.page-recruit .recruit-message .leftimg_2 {
  transition-delay: 0.2s;
}
@media print, screen and (min-width: 48em) {
  .page-recruit .recruit-message .leftimg_2 {
    width: 24.1875rem;
    margin-left: 5.875rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .leftimg_2 {
    width: 10rem;
    order: 1;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .rightimg {
    padding-bottom: 2.8571428571rem;
    height: fit-content;
    margin-top: auto;
    display: flex;
    justify-content: center;
    column-gap: 3.2142857143rem;
  }
}
@media print, screen and (min-width: 48em) {
  .page-recruit .recruit-message .rightimg_1 {
    margin-left: auto;
    width: 20.3125rem;
    margin-right: 4.25rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .rightimg_1 {
    margin: 0;
    width: 10rem;
  }
}
.page-recruit .recruit-message .rightimg_2 {
  transition-delay: 0.2s;
}
@media print, screen and (min-width: 48em) {
  .page-recruit .recruit-message .rightimg_2 {
    margin-left: auto;
    width: 20.8125rem;
    margin-right: 11.375rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .rightimg_2 {
    width: 9.2857142857rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message .active.acc_imgbox .rightimg_1 {
    translate: 1.4285714286rem -2.8571428571rem;
  }
}
.page-recruit .recruit-message_grid {
  display: grid;
  grid-template-columns: 100%;
  position: relative;
  z-index: 1;
}
.page-recruit .recruit-message_grid > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-message_grid {
    padding-top: 3.5714285714rem;
  }
}
.page-recruit .logo_ttl--img {
  width: 5.4375rem;
  margin-inline: auto;
}
.page-recruit .logo_ttl {
  text-align: center;
  margin-bottom: 3.6875rem;
  position: relative;
  z-index: 1;
}
.page-recruit .logo_ttl--eng {
  display: block;
  font-family: var(--font-en-heading);
  font-size: 6.25rem;
  font-weight: 900;
  letter-spacing: normal;
  color: var(--clr-green);
  -webkit-text-stroke: 1px #3a3a3a;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .logo_ttl--eng {
    font-size: 4.2857142857rem;
  }
}
.page-recruit .logo_ttl--txt {
  display: block;
  font-size: 2rem;
  line-height: 1.4;
  font-family: var(--font-jp-heading);
  font-weight: 600;
  letter-spacing: 0.2em;
}
.page-recruit .numbers--ttl {
  font-weight: 500;
  border-radius: 9999px;
  background: var(--clr-text-primary);
  color: var(--clr-wht);
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.03em;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 1rem;
}
.page-recruit .numbers--ttl:not([class*=mgn]) {
  margin-bottom: 3.4375rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .numbers--ttl {
    font-size: var(--font-size-heading5-sp);
    grid-row: 1;
  }
  .page-recruit .numbers--ttl br {
    display: none;
  }
}
.page-recruit .num_box {
  color: var(--clr-green);
  display: flex;
  align-items: baseline;
  justify-content: center;
  column-gap: 0.5rem;
  position: relative;
  z-index: 2;
}
.page-recruit .num_box .num {
  font-size: 7.5rem;
  font-weight: 700;
  line-height: 1;
  font-family: var(--font-en-heading);
  letter-spacing: -0.06em;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .num_box .num {
    font-size: 7.1428571429rem;
  }
}
.page-recruit .num_box .num2 {
  color: var(--clr-primary-default);
  font-feature-settings: "liga" off, "clig" off;
  font-family: Overpass;
  font-size: 5.625rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .num_box .num2 {
    font-size: 4.2857142857rem;
    letter-spacing: -0.1em;
  }
}
.page-recruit .num_box .tan {
  color: var(--clr-primary-default);
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading3-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .num_box .tan {
    font-size: var(--font-size-heading3-sp);
  }
}
.page-recruit .num_box .tan2 {
  color: var(--clr-primary-default);
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  font-family: var(--font-jp-heading);
  font-size: 2rem;
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 51.2px */
  letter-spacing: 0.03em;
}
.page-recruit .numbers_wrap {
  column-gap: 2rem;
  row-gap: 2rem;
}
@media print, screen and (min-width: 48em) {
  .page-recruit .numbers_wrap {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-areas: "area1 area1 area2 area2 area2 area2" "area3 area3 area4 area4 area5 area5" "area6 area6 area7 area7 area8 area8" "area9 area9 area10 area10 area10 area10" "area9 area9 area11 area11 area11 area11";
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .numbers_wrap {
    display: flex;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 48em) {
  .page-recruit .numbers_wrap.wrap2 {
    grid-template-areas: "area1 area1 area2 area2 area3 area3" "area4 area4 area4 area5 area5 area5" "area6 area6 area7 area7 area8 area8" "area9 area9 area10 area10 area11 area11";
  }
}
.page-recruit .numbers--item {
  border-radius: 1rem;
  background-color: var(--clr-wht);
  padding: 3.75rem 2.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .numbers--item {
    padding: 3.75rem 1.4285714286rem;
    grid-template-columns: 100%;
  }
  .page-recruit .numbers--item > * {
    grid-column: 1;
  }
}
.page-recruit .numbers--item .grid-one {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 100%;
}
.page-recruit .numbers--item .grid-one > * {
  grid-column: 1;
  grid-row: 1;
  place-items: center;
  place-content: center;
}
.page-recruit .numbers--item .img {
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .numbers--item .img {
    height: 6.4285714286rem;
  }
  .page-recruit .numbers--item .img img {
    width: auto;
    height: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .numbers--item .rotate_box {
    height: auto;
  }
}
.page-recruit .numbers--item1 {
  grid-area: area1;
}
.page-recruit .numbers--item2 {
  grid-area: area2;
}
.page-recruit .numbers--item2 .grid_box {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 3.625rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .numbers--item2 .grid_box {
    grid-template-columns: 100%;
    row-gap: 2.8571428571rem;
  }
}
.page-recruit .numbers--item3 {
  grid-area: area3;
}
.page-recruit .numbers--item4 {
  grid-area: area4;
}
.page-recruit .numbers--item5 {
  grid-area: area5;
}
.page-recruit .numbers--item6 {
  grid-area: area6;
}
.page-recruit .numbers--item7 {
  grid-area: area7;
}
.page-recruit .numbers--item8 {
  grid-area: area8;
}
.page-recruit .numbers--item9 {
  grid-area: area9;
}
.page-recruit .numbers--item10 {
  grid-area: area10;
}
.page-recruit .numbers--item11 {
  grid-area: area11;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .comment_ttl {
    padding-inline: 5%;
  }
}
.page-recruit .comment_ttl--comment_weap {
  display: grid;
  grid-template-columns: 100%;
  place-items: normal center;
}
.page-recruit .comment_ttl--comment_weap > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .comment_ttl--comment_weap .comment_ttl--comment_img {
    width: 14.2857142857rem;
  }
}
.page-recruit .comment_ttl--comment_weap .comment_ttl--comment_txt {
  display: block;
  padding-top: 1.8rem;
  line-height: 1;
  font-size: 2.5rem;
  font-family: var(--font-en-heading);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--clr-wht);
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .comment_ttl--comment_weap .comment_ttl--comment_txt {
    padding-top: 0.525lh;
    font-size: 1.8571428571rem;
  }
}
.page-recruit .comment_ttl--main {
  font-size: 3.5rem;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .comment_ttl--main {
    font-size: 1.7142857143rem;
  }
}
.page-recruit .lps_parts--flowing_balloon .comment_ttl--main {
  color: var(--clr-wht);
}
.page-recruit .merit_slidewrap {
  width: 88%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 100%;
  margin-bottom: 4.6875rem;
}
@media print, screen and (min-width: 48em) {
  .page-recruit .merit_slidewrap {
    align-items: center;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .merit_slidewrap {
    width: 90%;
  }
}
.page-recruit .merit_slidewrap > * {
  grid-column: 1;
  grid-row: 1;
}
.page-recruit .merit_slidewrap .merit_slide_arrows {
  pointer-events: none;
}
.page-recruit .merit_slidewrap .merit_slide_arrows .slick-arrow {
  pointer-events: all;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .merit_slidewrap .merit_slide_arrows {
    display: none;
  }
}
.page-recruit .slide_accitems {
  display: grid;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .slide_accitems {
    align-items: center;
  }
  .page-recruit .slide_accitems .merit_slide_dots,
  .page-recruit .slide_accitems .merit_slide_arrows2 {
    grid-row: 1;
    grid-column: 1;
  }
  .page-recruit .slide_accitems .arrow {
    background-color: #cacdd1 !important;
    border: none !important;
  }
}
.page-recruit .slide_accitems .merit_slide_arrows2 {
  position: relative;
  z-index: 1;
  display: none;
  padding-top: 0;
  pointer-events: none;
}
.page-recruit .slide_accitems .merit_slide_arrows2 .prev-arrow,
.page-recruit .slide_accitems .merit_slide_arrows2 .next-arrow {
  translate: 0;
}
.page-recruit .slide_accitems .merit_slide_arrows2 .prev-arrow {
  rotate: 180deg;
}
.page-recruit .slide_accitems .merit_slide_arrows2 .slick-arrow {
  pointer-events: all;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .slide_accitems .merit_slide_arrows2 {
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-merit .comment_ttl {
    margin-bottom: 2.8571428571rem;
  }
}
.page-recruit .recruit-merit .arrow {
  width: 5.75rem;
  height: 5.75rem;
  background: var(--clr-wht);
  border: 1px solid #3a3a3a;
  border-radius: 100%;
  display: flex;
  place-items: center;
  justify-content: center;
  transition: var(--transit-default);
  cursor: pointer;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-merit .arrow {
    width: 4.2857142857rem;
    height: 4.2857142857rem;
  }
}
.page-recruit .recruit-merit .arrow:hover {
  opacity: 0.8;
}
.page-recruit .recruit-merit .arrow img {
  translate: 0;
  width: 1.25rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .recruit-merit .arrow img {
    width: 1rem;
  }
}
.page-recruit .merit_slide_dots button {
  border: 0;
  padding: 0;
  background: 0;
  text-indent: -999em;
  width: 1.0625rem;
  height: 1.0625rem;
  overflow: hidden;
  border-radius: 100%;
  background: var(--clr-wht);
}
.page-recruit .merit_slide_dots .slick-active button {
  background: var(--clr-green);
}
.page-recruit .merit_slide_dots .slick-dots {
  display: flex;
  justify-content: center;
  gap: 1.4375rem;
}
.page-recruit .merit_slide_arrows {
  width: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .merit_slide_arrows {
    width: 90%;
    margin-inline: auto;
    height: fit-content;
    padding-top: 7.1428571429rem;
  }
}
.page-recruit .merit_slide_arrows .prev-arrow {
  translate: -50% 0;
  rotate: 180deg;
}
.page-recruit .merit_slide_arrows .next-arrow {
  translate: 50% 0;
}
.page-recruit .merit_slide {
  box-shadow: 12px 12px 0 0 rgba(90, 176, 38, 0.3);
  border: solid 3px #3a3a3a;
  overflow: hidden;
  border-radius: 16px;
  width: 100%;
}
.page-recruit .merit_slide .slide--item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  height: 100% !important;
  background: var(--clr-wht);
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .merit_slide .slide--item {
    grid-template-columns: 100%;
    grid-template-rows: 40% 1fr;
  }
}
.page-recruit .merit_slide .slide--item .slide--txtbox {
  padding-block: 4.5625rem;
  padding-left: 5.125rem;
  padding-right: 6.375rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .merit_slide .slide--item .slide--txtbox {
    justify-content: flex-start;
    padding-block: 1.4285714286rem;
    padding-inline: 2.5714285714rem;
    height: 420px !important;
  }
}
.page-recruit .merit_slide .slick-track {
  display: flex !important;
}
.page-recruit .merit_slide .slick-slide {
  height: auto !important;
}
.page-recruit .slide_subtxt_wrap {
  display: flex;
  align-items: baseline;
  column-gap: 1rem;
  margin-bottom: 1rem;
}
.page-recruit .slide_subtxt--icon {
  display: grid;
  grid-template-columns: 100%;
  width: 7.375rem;
  height: 7.375rem;
  place-items: center;
  color: var(--clr-wht);
  font-size: 3rem;
  line-height: 0.1;
  letter-spacing: -0.03em;
  font-family: var(--font-en-heading);
}
.page-recruit .slide_subtxt--icon > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .slide_subtxt--icon {
    width: 4.2857142857rem;
    height: 4.2857142857rem;
    font-size: 1.7142857143rem;
  }
}
.page-recruit .slide_subtxt--icon .num {
  translate: 0 1lh;
}
.page-recruit .slide_subtxt {
  font-size: 2rem;
  font-family: var(--font-en-heading);
  color: var(--clr-green);
  letter-spacing: -0.03em;
  font-weight: 700;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .slide_subtxt {
    font-size: var(--font-size-heading4-sp);
  }
}
.page-recruit .slide--ttl {
  font-size: 2.3rem;
  font-family: var(--font-jp-heading);
  color: var(--clr-green);
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .slide--ttl {
    font-size: var(--font-size-heading4-sp);
    line-height: 1.6;
  }
  .page-recruit .slide--ttl br.pc-none {
    display: none !important;
  }
}
.page-recruit .slide--txt {
  font-family: var(--font-jp-heading);
  font-weight: 700;
  line-height: 2;
  color: #151e2f;
  letter-spacing: 0.05em;
}
.page-recruit .interview_list--label {
  font-family: var(--font-en-heading);
  font-size: 1.25rem;
  color: var(--clr-text-primary2);
  font-weight: 700;
  line-height: 1;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--label {
    grid-row: 1;
    grid-column: 1;
  }
}
.page-recruit .interview_list--box {
  width: 91.4375rem;
  max-width: 90%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 8.4375rem;
  row-gap: 5.625rem;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 90em) {
  .page-recruit .interview_list--box {
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--box {
    width: 80%;
  }
}
.page-recruit.inner .interview_list--box {
  max-width: none;
}
.page-recruit .interview_list--item {
  display: grid;
  grid-template-columns: auto 3.125rem 1fr 3.75rem auto;
  width: fit-content;
}
@media screen and (max-width: 90em) {
  .page-recruit .interview_list--item {
    width: 100%;
    grid-template-columns: auto 3.125rem auto 3.75rem 1fr;
  }
}
.page-recruit .interview_list--item .circle_txt {
  animation: rotate 20s 0s linear infinite;
}
.page-recruit .interview_list--item .circle {
  position: absolute;
  right: 0;
  bottom: 0;
  translate: 100% 100%;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 100%;
  place-items: center;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--item .circle {
    bottom: 0rem;
    width: 5.7142857143rem;
    height: 5.7142857143rem;
  }
}
.page-recruit .interview_list--item .circle > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--item .circle {
    translate: 50% 50%;
    bottom: -1rem;
    right: -1rem;
  }
}
.page-recruit .interview_list--item .btn {
  width: 70%;
  height: 70%;
  background: var(--clr-blk);
  border-radius: 100%;
  display: flex;
  place-items: center;
  justify-content: center;
  transition: 0.2s;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--item .btn {
    width: 70%;
    height: 70%;
  }
}
.page-recruit .interview_list--item:hover .btn {
  background: var(--clr-primary-default);
}
.page-recruit .interview_list--img {
  width: fit-content;
  grid-column: 3;
  width: 11.875rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--img {
    width: 5.7142857143rem;
    margin-inline: auto;
    display: flex;
    align-items: flex-end;
    grid-column: 1/-1;
    grid-row: 1;
    width: fit-content;
  }
  .page-recruit .interview_list--img img {
    width: auto;
    height: 19.2857142857rem;
  }
}
.page-recruit .interview_list--item:hover .interview_list--img {
  animation: bounceUpDown 0.45s cubic-bezier(0.25, 0.6, 0.3, 1);
}
.page-recruit .interview_list--txt {
  margin-top: 3.375rem;
  width: 20.625rem;
  grid-column: 5;
  padding: 3.375rem 3.5rem 2.5rem 2.5rem;
  box-shadow: 12px 12px 0 0 rgba(90, 176, 38, 0.3);
  border: solid 3px #3a3a3a;
  border-radius: 0 3.5rem 0 3.5rem;
  background: var(--clr-wht);
  width: fit-content;
  height: fit-content;
}
@media screen and (max-width: 90em) {
  .page-recruit .interview_list--txt {
    width: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--txt {
    grid-row: 2;
    grid-column: 1/-1;
    padding: 2rem;
    box-shadow: 6px 6px 0 0 rgba(90, 176, 38, 0.3);
    border: solid 2px #3a3a3a;
  }
}
.page-recruit .interview_list--name {
  font-family: var(--font-en-heading);
  font-size: 3rem;
  color: var(--clr-green);
  line-height: 1.02;
  letter-spacing: 0.03em;
  font-weight: 700;
  margin-bottom: calc(1rem - (0.5lh - 0.5em));
}
.page-recruit .interview_list--ttl {
  font-size: 1.75rem;
  color: #151e2f;
  line-height: 1.79;
  letter-spacing: 0.03em;
  font-weight: 700;
  margin-bottom: 1.75rem;
}
@media screen and (max-width: 47.9375em) {
  .page-recruit .interview_list--ttl {
    font-size: 1.5rem;
  }
}
.page-recruit .interview_list--profile {
  position: relative;
  line-height: 2;
  color: var(--clr-text-primary);
  font-weight: 700;
  font-family: var(--font-jp-heading);
}
.page-recruit .interview_list--profile span {
  display: block;
}
.page-recruit .interview_list--profile .tag {
  color: var(--clr-green);
}

.flowing_balloon_wrap {
  margin-bottom: 17.5rem;
}
@media screen and (max-width: 47.9375em) {
  .flowing_balloon_wrap {
    width: 100%;
    margin-bottom: 5.7142857143rem;
    height: 100vh;
  }
}

.lps_parts--flowing_balloon .comment_ttl {
  z-index: 1;
  position: relative;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .comment_ttl {
    padding-inline: 5%;
    padding-top: 8.5714285714rem;
  }
}
.lps_parts--flowing_balloon .slick-list,
.lps_parts--flowing_balloon .slick-track,
.lps_parts--flowing_balloon .slick-slider,
.lps_parts--flowing_balloon .slick-slide,
.lps_parts--flowing_balloon .slick-slide .img {
  width: 100%;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .slick-list,
  .lps_parts--flowing_balloon .slick-track,
  .lps_parts--flowing_balloon .slick-slider,
  .lps_parts--flowing_balloon .slick-slide,
  .lps_parts--flowing_balloon .slick-slide .img {
    height: 100%;
  }
}
.lps_parts--flowing_balloon .slick-slide img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.lps_parts--flowing_balloon .grid {
  display: grid;
  grid-template-columns: 100%;
  place-items: center;
}
.lps_parts--flowing_balloon .grid > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .grid > * {
    height: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .grid {
    height: 100%;
  }
}
.lps_parts--flowing_balloon .img_wrap {
  height: 100vh !important;
}
@media print, screen and (min-width: 48em) {
  .lps_parts--flowing_balloon .img_wrap {
    position: sticky;
    top: 0rem;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--flowing_balloon .flowing_balloons {
    margin-top: -100vh;
    padding-bottom: 100vh;
  }
}
@media screen and (min-width: 48em) and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons {
    margin-top: -50vh;
    padding-bottom: 50vh;
  }
}
.lps_parts--flowing_balloon .flowing_balloons > .inner {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10rem;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons > .inner {
    gap: 8.5714285714rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons .flowing_balloons--inner_wrap_liner {
    display: flex;
    width: fit-content;
  }
  .lps_parts--flowing_balloon .flowing_balloons .flowing_balloons--inner_wrap_liner2 {
    translate: -25vw 0;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--flowing_balloon .flowing_balloons .flowing_balloons--inner_wrap.flowing_balloons--inner_wrap_pcnone {
    display: none;
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons .flowing_balloons--inner_wrap {
    animation: loop2-h 20s 0s linear infinite;
    display: flex;
    flex-shrink: 0;
    width: fit-content;
  }
  .lps_parts--flowing_balloon .flowing_balloons .flowing_balloons--inner_wrap .flowing_balloons--item {
    flex-shrink: 0;
  }
}
.lps_parts--flowing_balloon .flowing_balloons--item_wrap {
  display: flex;
  width: fit-content;
  margin: auto;
}
@media print, screen and (min-width: 48em) {
  .lps_parts--flowing_balloon .flowing_balloons--item_wrap:nth-child(odd) {
    justify-content: end;
  }
}
@media screen and (min-width: 48em) and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons--item_wrap:nth-child(odd) {
    margin-right: 0;
  }
}
@media print, screen and (min-width: 48em) {
  .lps_parts--flowing_balloon .flowing_balloons--item_wrap:nth-child(even) {
    justify-content: start;
  }
}
@media screen and (min-width: 48em) and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons--item_wrap:nth-child(even) {
    margin-left: 0;
  }
}
.lps_parts--flowing_balloon .flowing_balloons--item_wrap:nth-child(odd) .flowing_balloons--item::before {
  left: 5rem;
  right: auto;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.lps_parts--flowing_balloon .flowing_balloons--item {
  position: relative;
  font-size: 2.25rem;
  letter-spacing: 0.08em;
  line-height: 1.56;
  width: 39.375rem;
  padding: 3rem 5rem;
  border-radius: 1.5rem;
  display: grid;
  grid-template-columns: 100%;
}
.lps_parts--flowing_balloon .flowing_balloons--item > * {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 67.5em) {
  .lps_parts--flowing_balloon .flowing_balloons--item {
    padding: 1.7142857143rem 2.2857142857rem;
    font-size: max(18px, 1.25rem);
  }
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons--item {
    width: 17.1428571429rem;
    padding: 0.7142857143rem 1.4285714286rem;
  }
}
.lps_parts--flowing_balloon .flowing_balloons--item .flowing_balloons--item_txt {
  color: var(--clr-green);
  line-height: 1.88;
  font-size: 1.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  font-family: var(--font-jp-heading);
  text-align: center;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons--item .flowing_balloons--item_txt {
    height: fit-content;
    font-size: 1rem;
    margin-block: auto;
  }
}
.lps_parts--flowing_balloon .flowing_balloons--item .flowing_balloons_inner {
  translate: 0 -2rem;
  display: block;
}
@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon .flowing_balloons--item .flowing_balloons_inner {
    translate: 0 -1.1428571429rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .lps_parts--flowing_balloon {
    display: grid;
    grid-template-columns: 100%;
  }
  .lps_parts--flowing_balloon > * {
    grid-column: 1;
    grid-row: 1;
  }
}

@media screen and (max-width: 47.9375em) {
  .flowing_balloons {
    margin-top: auto;
    margin-bottom: 1.4285714286rem;
    height: fit-content;
    position: relative;
    z-index: 1;
  }
}

@media screen and (max-width: 21.25em) {
  .page-recruit .hero {
    min-height: 70vh;
    height: auto;
    background: var(--color-bg-blue);
    color: var(--clr-text-light);
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
  .page-recruit .hero_ttl {
    font-size: 2.4285714286rem;
    left: 2.5rem;
    bottom: 1.5rem;
    white-space: normal;
    color: var(--clr-text-light);
  }
  .page-recruit .hero_ttl--box {
    font-size: 1.4285714286rem;
    padding: 0.625rem 1rem;
    margin-bottom: 1.5rem;
    background: var(--clr-text-primary);
    color: var(--clr-text-light);
    border-radius: 0.25rem;
  }
  .page-recruit .hero_list {
    width: 100%;
    max-width: 40rem;
    margin-bottom: 1.25rem;
  }
  .page-recruit .hero_dots {
    display: none;
  }
  .page-recruit .recruit-message_ttl {
    font-size: 2.5714285714rem;
    line-height: 1.4;
    color: var(--clr-text-light);
  }
  .page-recruit .recruit-message_ttl_sub {
    font-size: 1.2857142857rem;
    margin-bottom: 1.25rem;
    color: var(--clr-text-light);
  }
  .page-recruit .recruit-message {
    font-size: 0.9285714286rem;
    line-height: 1.8;
    color: var(--clr-text-light);
  }
  .page-recruit .recruit-message_grid {
    padding-left: 1rem;
    padding-right: 1rem;
    row-gap: 1.25rem;
  }
  .page-recruit .recruit-message_wrap {
    padding: 0.75rem 0.5rem;
    text-align: left;
  }
  .page-recruit .numbers_wrap {
    grid-template-columns: 1fr;
    column-gap: 0.75rem;
    row-gap: 0.75rem;
  }
  .page-recruit .numbers--item {
    padding: 1.75rem 1.125rem;
  }
  .page-recruit .numbers--ttl {
    font-size: 1.2857142857rem;
    padding-inline: 0.75rem;
    margin-bottom: 2.5rem;
  }
  .page-recruit .num_box .num {
    font-size: 4.25rem;
  }
  .page-recruit .num_box .tan {
    font-size: 1.375rem;
  }
  .page-recruit .merit_slidewrap {
    width: 98%;
    margin-bottom: 3.75rem;
  }
  .page-recruit .merit_slide .slide--item {
    grid-template-columns: 1fr;
  }
  .page-recruit .slide--txtbox {
    padding: 2.125rem 1.625rem;
  }
  .page-recruit .slide--ttl {
    font-size: 1.875rem;
  }
  .page-recruit .interview_list--box {
    column-gap: 2rem;
    row-gap: 2.25rem;
  }
  .page-recruit .interview_list--txt {
    padding: 2.125rem 1.625rem 1.625rem 1.375rem;
  }
  .page-recruit .interview_list--name {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 21.25em) and (max-width: 47.9375em) {
  .page-recruit .interview_list--name {
    font-size: 2rem;
  }
}
@media screen and (max-width: 21.25em) {
  .page-recruit .interview_list--ttl {
    font-size: 1.5rem;
  }
}
/* recruit_culture_main
********************************************** */
.recruit_culture_main {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "frip cont";
  column-gap: 9.375rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit_culture_main {
    display: block;
  }
}

.recruit_culture_main .ttl_wrap {
  position: relative;
}

.recruit_culture_txt {
  position: absolute;
  top: 0;
  left: 0;
  translate: -3.75rem -5.625rem;
  z-index: -1;
}
@media screen and (max-width: 47.9375em) {
  .recruit_culture_txt {
    width: 50%;
    translate: 0 -4.375rem;
  }
}

.recruit_culture .ttl-04 {
  font-size: 3.5rem;
  line-height: 1.46;
  letter-spacing: 0.15em;
  color: var(--clr-blk);
}
@media screen and (max-width: 47.9375em) {
  .recruit_culture .ttl-04 {
    font-size: 2.2857142857rem;
  }
}

.recruit_culture .txtarea {
  line-height: 1.89;
  letter-spacing: 0.1em;
}

.recruit_culture_main--cont {
  grid-area: cont;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media print, screen and (min-width: 67.5625em) {
  .recruit_culture_main--cont {
    height: 100vh;
    position: sticky;
    top: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 47.9375em) {
  .recruit_culture_main--cont {
    margin-bottom: 2.8571428571rem;
  }
}

.recruit_culture_flips {
  grid-area: frip;
  margin-inline: auto;
}
@media print, screen and (min-width: 67.5625em) {
  .recruit_culture_flips {
    padding-top: 50vh;
  }
}

@media print, screen and (min-width: 67.5625em) {
  .recruit_culture_flip-wrap {
    position: sticky;
    top: 0;
    display: grid;
    place-content: center;
    height: 100vh;
  }
}
@media screen and (max-width: 67.5em) {
  .recruit_culture_flip-wrap:not(:last-child) {
    margin-bottom: 2.8571428571rem;
  }
}

.recruit_culture_flip-contents {
  position: relative;
  width: 36.375rem;
  aspect-ratio: 582/765;
  max-width: 36.375rem;
  background-color: var(--clr-wht);
  border-radius: 1rem;
  border: solid 3px #3a3a3a;
}
@media screen and (max-width: 67.5em) {
  .recruit_culture_flip-contents {
    width: 100%;
    margin-inline: auto;
  }
}

.recruit_culture_flip--img {
  border-radius: 1rem 1rem 0 0;
  object-fit: cover;
  overflow: clip;
}

.recruit_culture_flip--info {
  padding: 2.5rem 3.125rem 5.125rem;
  z-index: 100;
  text-align: left;
}
@media screen and (max-width: 67.5em) {
  .recruit_culture_flip--info {
    padding: 1.4285714286rem 1.4285714286rem 2.1428571429rem;
  }
}

.recruit_culture_flip--num {
  display: block;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  color: #009e00;
  font-family: var(--font-en-heading);
  font-weight: bold;
}
@media screen and (max-width: 67.5em) {
  .recruit_culture_flip--num {
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .recruit_culture_flip--num {
    font-size: 1.1428571429rem;
  }
}

.recruit_culture_flip--ttl {
  font-size: 1.8125rem;
  font-weight: normal;
  margin-bottom: 1rem;
  line-height: 1.75;
}
@media screen and (max-width: 67.5em) {
  .recruit_culture_flip--ttl {
    font-size: 1.7142857143rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .recruit_culture_flip--ttl {
    font-size: 1.4285714286rem;
  }
}

.recruit_culture_spacer {
  width: 100%;
  height: 100vh;
}

/* slide_area_wrap
********************************************** */
.join_us_slide_wrap {
  overflow: hidden;
  margin-bottom: 4.6875rem;
}
@media screen and (max-width: 47.9375em) {
  .join_us_slide_wrap {
    margin-bottom: 2.8571428571rem;
  }
}

.join_us_top {
  position: sticky;
  top: 0;
}

.foot_recruit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-inline: auto;
}
@media screen and (max-width: 47.9375em) {
  .foot_recruit {
    grid-template-columns: 100%;
    row-gap: 1.4285714286rem;
  }
}

.foot_recruit_en {
  display: block;
  margin-inline: auto;
}

.foot_recruit_en.ttl-03.en {
  color: var(--clr-wht);
  font-size: 2rem;
  margin-bottom: 0rem;
  letter-spacing: -0.02em;
}

.foot_recruit .ttl-03 .jp {
  color: var(--clr-wht);
  line-height: 1.47;
  font-size: 4.5rem;
  letter-spacing: 0.03em;
  font-weight: 600;
}
@media screen and (max-width: 47.9375em) {
  .foot_recruit .ttl-03 .jp {
    font-size: 2.4285714286rem;
  }
}

.foot_recruit .txt {
  color: var(--clr-wht);
  line-height: 2.33;
  letter-spacing: 0.03em;
  font-size: 1.5rem;
}
@media screen and (max-width: 47.9375em) {
  .foot_recruit .txt {
    font-size: 1.1428571429rem;
  }
}

.slide_area_contentwrap_parent {
  display: flex;
  column-gap: 2rem;
  width: 100%;
  overflow: hidden;
  margin-inline: auto;
}

.slide_area_contentwrap {
  display: flex;
  column-gap: 2rem;
  flex-shrink: 0;
}

.slide_area_wrap {
  flex-shrink: 0;
  display: grid;
  width: fit-content;
  column-gap: 2rem;
  row-gap: 2rem;
  grid-template-columns: auto auto;
  grid-template-areas: "area1 area2" "area1 area3";
}
@media print, screen and (min-width: 48em) {
  .slide_area_wrap {
    height: 50rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .slide_area_wrap {
    grid-template-rows: 14.2857142857rem 14.2857142857rem;
  }
}
.slide_area_wrap.last {
  column-gap: 0;
  grid-template-columns: 100%;
  grid-template-areas: none;
}
@media screen and (max-width: 47.9375em) {
  .slide_area_wrap.last .area4 {
    grid-row: 1/-1;
  }
}
.slide_area_wrap .area1,
.slide_area_wrap .area2,
.slide_area_wrap .area3,
.slide_area_wrap .area4 {
  border-radius: 2rem;
  overflow: hidden;
}
.slide_area_wrap .area1 img,
.slide_area_wrap .area2 img,
.slide_area_wrap .area3 img,
.slide_area_wrap .area4 img {
  height: 100%;
  width: auto !important;
}
.slide_area_wrap .area1 {
  grid-area: area1;
}
.slide_area_wrap .area2 {
  grid-area: area2;
}
.slide_area_wrap .area3 {
  grid-area: area3;
}

.join_us_txt {
  z-index: 1;
  position: relative;
  background: rgba(0, 158, 0, 0.9);
  padding-top: 2.5rem;
  padding-bottom: 5.125rem;
}

.recruit_padding {
  padding-top: 7.875rem;
}

/* r_cta
********************************************** */
.r_cta--bottom {
  position: relative;
  color: #fff;
}

.r_cta--bottom .scroll-txt {
  position: absolute;
  width: 100%;
  overflow: hidden;
  height: 20.625rem;
  transform: translateY(-50%);
  top: 0;
}
.r_cta--bottom .scroll-txt .scroll-txt--cont {
  -webkit-text-stroke: 1px #fff;
  color: transparent;
  opacity: 0.5;
  font-size: 20rem;
  letter-spacing: normal;
}
.r_cta--bottom .scroll-txt .scroll-txt--cont .repeat-item {
  color: transparent;
  white-space: nowrap;
}

.r_cta--bottom .sub-catch {
  font-size: 3.5rem;
  font-style: italic;
  letter-spacing: normal;
  margin-bottom: 3.125rem;
}

.r_cta--bottom .txt {
  font-size: 1.5rem;
  line-height: 1.9;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}

.r_cta--bottom .btnarea {
  margin-top: 5.875rem;
}

.r_cta--bottom .cta_btn {
  width: calc(50% - 0.5625rem);
  border-radius: 1.5rem;
  padding: 3.75rem 2.375rem;
  position: relative;
  transition: 0.6s ease-out;
  background: var(--clr-wht);
  color: #151e2f;
}
@media screen and (max-width: 47.9375em) {
  .r_cta--bottom .cta_btn {
    width: 100%;
  }
}
.r_cta--bottom .cta_btn .ttl .en,
.r_cta--bottom .cta_btn .ttl .jp {
  display: block;
}
.r_cta--bottom .cta_btn .ttl .en {
  font-size: 4rem;
  font-family: var(--font-en-heading);
  font-weight: 600;
  line-height: 0.8;
  margin-bottom: 1.25rem;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 47.9375em) {
  .r_cta--bottom .cta_btn .ttl .en {
    font-size: 1.75rem;
  }
}
.r_cta--bottom .cta_btn .ttl .jp {
  font-size: 1.5rem;
}
.r_cta--bottom .cta_btn .btn-cle {
  pointer-events: none;
  box-shadow: none;
  width: 5.75rem;
  height: 5.75rem;
  position: absolute;
  right: 1.875rem;
  bottom: 1.5rem;
  background-color: #cacdd1;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r_cta--bottom .cta_btn .btn-cle .arrow {
  width: 1.5rem;
  height: auto;
  display: block;
}
@media print, screen and (min-width: 48em) {
  .r_cta--bottom .cta_btn:hover {
    width: 55%;
    border: solid 1px rgba(255, 255, 255, 0.8);
    color: #fff;
    background: transparent;
  }
  .r_cta--bottom .cta_btn:hover .btn-cle {
    background-color: #cacdd1;
  }
  .r_cta--bottom .cta_btn:hover .arrow::before {
    transform: translateX(100%);
  }
  .r_cta--bottom .cta_btn:hover .arrow::after {
    transform: translateX(0);
  }
}

.r_cta--bottom .cta_btn--link {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.r_cta--bottom .cta_btn-entry {
  width: calc(50% - 0.84375rem);
  background-image: linear-gradient(to top, #e4293b, #e44c29);
  color: #fff;
}
@media screen and (max-width: 47.9375em) {
  .r_cta--bottom .cta_btn-entry {
    width: 100%;
  }
}
@media print, screen and (min-width: 48em) {
  .r_cta--bottom .cta_btn-entry:hover {
    color: var(--color-gray-d);
    background-color: rgba(255, 255, 255, 0);
    width: 67%;
  }
}
@media print, screen and (min-width: 48em) {
  .r_cta--bottom .cta_btn-entry + .cta_btn {
    width: calc(50% - 0.84375rem);
  }
  .r_cta--bottom .cta_btn-entry + .cta_btn:hover {
    width: calc(67% - 0.84375rem);
  }
}
@media screen and (max-width: 47.9375em) {
  .r_cta--bottom .cta_btn-entry + .cta_btn {
    width: 100%;
  }
}
.r_cta--bottom .cta_btn-entry .ttl .en {
  font-size: 4rem;
  font-family: var(--font-en-heading);
  margin-bottom: 0.625rem;
}
.r_cta--bottom .cta_btn-entry .btn-cle {
  border-radius: 100%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r_cta--bottom .cta_btn-entry .btn-cle .arrow {
  width: 1.5rem;
  height: auto;
}
.r_cta--bottom .cta_btn-job {
  background-color: #151e2f;
}
.r_cta--bottom .cta_btn-job.cta_btn {
  color: var(--clr-wht);
}
.r_cta--bottom .cta_btn-job .btn-cle {
  border-radius: 100%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r_cta--bottom .cta_btn-job .btn-cle .arrow {
  width: 1.5rem;
  height: auto;
}

.r_cta--bottom .btnarea--top {
  height: 16.25rem;
  column-gap: 1.6875rem;
}
.r_cta--bottom .btnarea--bottom {
  margin-top: 2.0625rem;
  height: 16.25rem;
  column-gap: 1.6875rem;
}
.r_cta--bottom .cta_btn-sm .ttl .en {
  line-height: 0.8;
  margin-bottom: 0;
}
.r_cta--bottom .cta_btn-sm .ttl .jp {
  font-size: 2.5rem;
  margin-bottom: 0.875rem;
}
.r_cta--bottom .cta_btn-sm .btn-cle {
  border-radius: 100%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r_cta--bottom .cta_btn-sm .btn-cle .arrow {
  width: 1.5rem;
  height: auto;
}

@media screen and (max-width: 47.9375em) {
  .r_cta .prism1 {
    right: 1%;
    top: 16%;
  }
  .r_cta .prism2 {
    top: -3%;
    left: 10%;
  }
  .r_cta--top .catch {
    font-size: 2.1428571429rem;
  }
  .r_cta--top .ttl {
    font-size: 5rem;
  }
  .r_cta--bottom .scroll-txt {
    height: 12rem;
  }
  .r_cta--bottom .scroll-txt .scroll-txt--cont {
    font-size: 11.4285714286rem;
  }
  .r_cta--bottom .sub-catch {
    font-size: 1.7142857143rem;
    margin-bottom: 2.1428571429rem;
  }
  .r_cta--bottom .txt {
    font-size: 1rem;
    width: auto;
  }
  .r_cta--bottom .btnarea {
    margin-top: 2.8571428571rem;
  }
  .r_cta--bottom .btnarea--top {
    height: auto;
    gap: 0.7142857143rem;
  }
  .r_cta--bottom .btnarea--top .cta_btn:first-child {
    margin-right: 0;
  }
  .r_cta--bottom .cta_btn {
    padding: 2.1428571429rem 1rem;
  }
  .r_cta--bottom .cta_btn .ttl .en {
    font-size: 2.4285714286rem;
    margin-bottom: 0.625rem;
  }
  .r_cta--bottom .cta_btn .ttl .jp {
    font-size: 0.8571428571rem;
  }
  .r_cta--bottom .cta_btn-entry {
    padding: 2.2857142857rem 1rem;
  }
  .r_cta--bottom .cta_btn-entry .ttl .en {
    font-size: 3rem;
  }
  .r_cta--bottom .cta_btn-entry .ttl .jp {
    font-size: 0.8571428571rem;
  }
  .r_cta--bottom .cta_btn .btn-cle {
    width: 3.5714285714rem;
    height: 3.5714285714rem;
    right: 1.1428571429rem;
    bottom: 1.1428571429rem;
  }
  .r_cta--bottom .cta_btn .btn-cle .arrow {
    width: 0.8571428571rem;
  }
  .r_cta--bottom .btnarea--bottom {
    height: auto;
    margin-top: 0.7142857143rem;
    gap: 0.7142857143rem;
  }
}
.footer_txtslide img {
  height: 11.875rem;
  opacity: 0.9;
}

/* numbers_section
********************************************** */
/* numbers_section */
/* numbers--date */
.numbers--date {
  margin-top: auto;
  padding-top: 2.1875rem;
}

/* numbers--chart */
.numbers--chart {
  text-align: left;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 0.25rem;
}
.numbers--chart.col3 {
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 100em) {
  .numbers--chart {
    grid-template-columns: 1fr;
  }
  .numbers--chart.col3 {
    grid-template-columns: 1fr 1fr;
  }
}
.numbers--chart .chart--item {
  display: flex;
  font-size: 0.875rem;
  font-family: var(--font-jp-text);
  padding-left: 2rem;
  position: relative;
}
.numbers--chart .chart--item::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  background: var(--clr-primary-default);
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
@media screen and (max-width: 47.9375em) {
  .numbers--chart .chart--item {
    column-gap: 0.2857142857rem;
  }
}
.numbers--chart .chart--item.chart--item1::after {
  background: #006121;
}
.numbers--chart .chart--item.chart--item2::after {
  background: #1E973A;
}
.numbers--chart .chart--item.chart--item3::after {
  background: #97CC69;
}
.numbers--chart .chart--item.chart--item4::after {
  background: #73C58E;
}
.numbers--chart .chart--item .chart--label {
  color: #000;
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 38.4px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 47.9375em) {
  .numbers--chart .chart--item .chart--label {
    font-size: var(--font-size-heading6-sp);
    line-height: 2.5;
  }
}
.numbers--chart .chart--item .chart--value {
  color: var(--clr-primary-default);
  text-align: center;
  font-feature-settings: "liga" off, "clig" off;
  font-family: var(--font-en-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  display: flex;
  column-gap: 0.25rem;
  align-items: center;
}
.numbers--chart .chart--item .chart--value .tan {
  color: var(--clr-text-primary);
  text-align: center;
  font-feature-settings: "liga" off, "clig" off;
  font-family: var(--font-en-heading);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1; /* 18px */
}

@media screen and (max-width: 47.9375em) {
  .numbers--chart.col-sp2 {
    grid-template-columns: 1fr 1fr;
  }
  .numbers--chart.col-sp1 {
    grid-template-columns: 1fr;
  }
}
/* num_box--sub */
.num_box--sub {
  margin-top: 1.25rem;
  font-size: 2.5rem;
}
.num_box--sub .num {
  font-size: 3.75rem;
}
.num_box--sub .num_label {
  display: block;
  font-size: 0.875rem;
  color: var(--clr-text-primary);
  margin-top: 0.5rem;
  font-family: var(--font-jp-text);
}

/* sub_cont--list */
.sub_cont {
  text-align: left;
}
.sub_cont--list {
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
  color: var(--clr-text-primary);
  letter-spacing: 0.03em;
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  row-gap: 0.5rem;
  font-size: 1.125rem;
}
@media screen and (max-width: 90.625em) {
  .sub_cont--list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.sub_cont--list li {
  padding: 0;
  padding-left: 1.125rem;
  position: relative;
}
.sub_cont--list li::after {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  position: absolute;
  background: var(--clr-primary-default);
  left: 0;
  top: calc(1lh - 0.75em);
  translate: 0 -50%;
}
@media screen and (max-width: 47.9375em) {
  .sub_cont--list {
    column-gap: 1rem;
    font-size: 1rem;
  }
}

.num_box .subtxt {
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6em;
  letter-spacing: 0.03em;
  color: var(--clr-blk);
}

.numbers--detail {
  color: var(--clr-blk);
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 38.4px */
  letter-spacing: 0.03em;
  text-align: left;
}
.numbers--detail li {
  padding-left: 2rem;
  position: relative;
}
.numbers--detail li::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  background: var(--clr-primary-default);
  left: 0;
  top: calc(1lh - 0.75em);
  translate: 0 -50%;
}
@media screen and (max-width: 47.9375em) {
  .numbers--detail li::after {
    height: 1.2rem;
    top: calc(1lh - 0.4em);
  }
}
.numbers--detail .num {
  color: var(--clr-primary-default);
  text-align: center;
  font-feature-settings: "liga" off, "clig" off;
  font-family: var(--font-en-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}
.numbers--detail .tan {
  color: var(--clr-text-primary);
  text-align: center;
  font-feature-settings: "liga" off, "clig" off;
  font-size: var(--font-size-txt-lg);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

/* numbers--note */
.numbers--note {
  font-size: 0.75rem;
  color: var(--clr-text-primary);
  margin-top: 1.25rem;
  font-family: var(--font-jp-text);
  line-height: 1.6;
}

.numbers--item .ratio {
  display: grid;
  margin-inline: auto;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto 1fr;
  row-gap: 1.5rem;
  column-gap: 0.5rem;
  width: fit-content;
}
.numbers--item .ratio.col2 {
  grid-template-columns: 1fr 1fr;
}
.numbers--item .ratio > * {
  grid-row: span 3;
}
.numbers--item .ratio .num-inner {
  display: grid;
  grid-template-rows: subgrid;
}
.numbers--item .ratio .num-txt {
  color: #000;
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading5-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading5);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
  letter-spacing: 0.03em;
}
.numbers--item .ratio .tai {
  display: grid;
  grid-template-rows: subgrid;
  color: var(--clr-primary-default);
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading3-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6;
  letter-spacing: 0.03em;
}
.numbers--item .ratio .tai span {
  grid-row: 2;
  display: block;
  margin-top: auto;
  margin-bottom: 1.5rem;
}

.numbers--item5 .sub_cont {
  color: #000;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/subtitle-md-jp */
  font-family: var(--font-jp-text);
  font-size: var(--font-size-txt-md);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 25.6px */
  letter-spacing: 0.03em;
}

.wrap1 .numbers--item8 .num_box {
  align-items: flex-end;
}
.wrap1 .numbers--item8 .num {
  line-height: 0.5;
}
.wrap1 .numbers--item8 .tan {
  text-align: left;
  line-height: 1;
}

@media screen and (max-width: 107.5em) {
  .wrap1 .numbers--item4 .numbers--detail {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .wrap1 .numbers--item4 .numbers--detail {
    font-size: 1.1428571429rem;
  }
}
.wrap1 .numbers--item9 .numbers--chart {
  row-gap: 1.5rem;
  grid-template-columns: 100%;
}
@media screen and (max-width: 47.9375em) {
  .wrap1 .numbers--item9 .numbers--chart {
    grid-template-columns: 100%;
  }
}
.wrap1 .numbers--item9 .numbers--chart .chart--item {
  column-gap: 1.5rem;
}

.wrap2 .numbers--item4 .chart--item {
  column-gap: 1.5rem;
}
@media screen and (max-width: 47.9375em) {
  .wrap2 .numbers--item4 .chart--item {
    column-gap: 0.8571428571rem;
  }
}
.wrap2 .numbers--item4 .chart--item1::after {
  background: #C9E9D3;
}
.wrap2 .numbers--item4 .chart--item2::after {
  background: #97CC69;
}
.wrap2 .numbers--item4 .chart--item3::after {
  background: #006121;
}
.wrap2 .numbers--item4 .chart--item4::after {
  background: #5A9A11;
}
.wrap2 .numbers--item4 .chart--item5::after {
  background: #1E973A;
}
.wrap2 .numbers--item4 .chart--item6::after {
  background: #1E973A;
}
.wrap2 .numbers--item5 .chart--item {
  column-gap: 1.25rem;
}
.wrap2 .numbers--item6 .numbers--ttl {
  line-height: 1.2;
  padding: 0.5rem 1rem;
}
@media screen and (max-width: 90.625em) {
  .wrap2 .numbers--item8 .num_box .tan2 {
    font-size: 1.5rem;
  }
  .wrap2 .numbers--item8 .num_box .num2 {
    font-size: 5rem;
  }
}
.wrap2 .numbers--item10 .numbers--date {
  padding-top: 0.25rem;
}
.wrap2 .numbers--item4 .numbers--chart {
  row-gap: 1.5rem;
}

.numbers--item5 .numbers--ttl {
  line-height: 1.2;
  padding: 0.5rem 1.375rem;
}

.numbers_section--ttl {
  color: var(--clr-text-primary);
  text-align: center;
  font-feature-settings: "palt" on, "liga" off, "clig" off;
  /* JP/heading3-jp */
  font-family: var(--font-jp-heading);
  font-size: var(--font-size-heading3);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: 1.6; /* 64px */
  letter-spacing: 0.03em;
  margin-bottom: 4rem;
  padding-top: 1.625rem;
  position: relative;
}
.numbers_section--ttl::after {
  content: "";
  width: 5.875rem;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  top: 0;
  border-top: 4px solid var(--clr-primary-default);
}
@media screen and (max-width: 47.9375em) {
  .numbers_section--ttl {
    font-size: 2rem;
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
}

/* skewbanner
********************************************** */
.sankaku-wrap {
  position: relative;
  z-index: 1;
}

.sankaku-wrap2 {
  position: relative;
  z-index: 2;
}
.sankaku-wrap2 .sankaku-wrap2--inner {
  width: 100%;
}

.snkaku-item {
  z-index: -1;
}
.snkaku-item img {
  transform-origin: top left;
}

.sankaku_style1 {
  position: absolute;
}
.sankaku_style1 img {
  width: 51.875rem;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style1 img {
    width: 60%;
    rotate: 15deg;
  }
}

.sankaku_style2 {
  position: absolute;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style2 {
    top: -4.375rem;
    left: -9.5rem;
  }
}
.sankaku_style2 .img1 img {
  rotate: 340deg;
  width: 41.875rem;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style2 .img1 img {
    width: 20rem;
  }
}
.sankaku_style2 .img2 {
  position: absolute;
  bottom: 22.5rem;
  right: 0rem;
  rotate: 232deg;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style2 .img2 {
    right: 5rem;
    bottom: 12.5rem;
  }
}
.sankaku_style2 .img2 img {
  width: 11.125rem;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style2 .img2 img {
    width: 6.125rem;
  }
}

.sankaku_style3 {
  position: absolute;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style3 {
    width: 100%;
  }
  .sankaku_style3 .img1,
  .sankaku_style3 .img2 {
    right: 0;
  }
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style3 .img1 {
    position: absolute;
    bottom: initial;
    top: -20.75rem;
    right: -2rem;
  }
}
.sankaku_style3 .img1 img {
  rotate: 347deg;
  width: 40rem;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style3 .img1 img {
    width: 17.285714rem;
  }
}
.sankaku_style3 .img2 {
  position: absolute;
  bottom: 3.75rem;
  left: 0rem;
}
.sankaku_style3 .img2 img {
  width: 11.125rem;
  rotate: -90deg;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style3 .img2 {
    bottom: initial;
    top: 0;
    left: inherit;
    width: fit-content;
    right: 9rem;
    top: -12rem;
  }
  .sankaku_style3 .img2 img {
    width: 5.125rem;
    rotate: 0deg;
  }
}

.sankaku_style4 {
  position: absolute;
}
.sankaku_style4 .img1 img {
  rotate: -21deg;
  width: 51rem;
}
@media screen and (max-width: 47.9375em) {
  .sankaku_style4 .img1 img {
    rotate: 4deg;
    width: 28.5714285714rem;
  }
}

.recruit-numbers {
  overflow: clip;
}
.recruit-numbers .sankaku_style4 {
  top: -25rem;
  right: -6.875rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-numbers .sankaku_style4 {
    top: -16rem;
    right: -21.875rem;
  }
}
.recruit-numbers .sankaku_style2 {
  top: -9.375rem;
  left: -12.5rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-numbers .sankaku_style2 {
    top: -4.375rem;
    left: -9.5rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .recruit-numbers {
    padding-top: 13.5714285714rem;
  }
}

.recruit-feature {
  padding-top: 31.8125rem;
  z-index: 3;
}
@media print, screen and (min-width: 48em) {
  .recruit-feature {
    overflow: clip;
  }
}
@media screen and (max-width: 47.9375em) {
  .recruit-feature {
    padding-top: 12.8571428571rem;
    overflow: clip;
  }
}
.recruit-feature .sankaku_style1 {
  top: -6.25rem;
  left: -6.875rem;
}
.recruit-feature .sankaku_style3 {
  top: 12.5rem;
  right: -6.875rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-feature .sankaku_style3 {
    right: -2.875rem;
  }
}

.recruit-interview_sub .sankaku-wrap2--inner {
  position: absolute;
  top: -18.75rem;
  overflow: hidden;
  pointer-events: none;
}
.recruit-interview_sub .sankaku-wrap2--inner .sankaku_style2 {
  position: relative;
  width: 42.5rem;
  left: -12.5rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-interview_sub .sankaku-wrap2--inner .sankaku_style2 {
    left: -12.5rem;
    width: fit-content;
    top: 7.625rem;
  }
}
.recruit-interview_sub .sankaku-wrap2--inner .sankaku_style2 .img2 {
  right: 1rem;
  bottom: 8.5rem;
}

.recruit-interview {
  overflow: clip;
  padding-top: 9.625rem;
  padding-bottom: 3.75rem;
}
.recruit-interview .sankaku_style4 {
  right: -18.75rem;
  top: 0.625rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-interview .sankaku_style4 {
    top: -16rem;
    right: -33.875rem;
  }
  .recruit-interview .sankaku_style4 .img1 img {
    rotate: 19deg;
  }
}
.recruit-interview .interview_list--boxwrap .sankaku_style4 {
  right: initial;
  left: 0.625rem;
}
.recruit-interview .interview_list--boxwrap .sankaku_style4 img {
  width: 20rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-interview .interview_list--boxwrap .sankaku_style4 {
    top: -8rem;
    right: -21.875rem;
  }
}

.recruit-poritrait {
  overflow: clip;
}
.recruit-poritrait .sankaku_style3 {
  right: -18.75rem;
  top: -28rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-poritrait .sankaku_style3 {
    top: -8rem;
    right: -6.875rem;
  }
}
.recruit-poritrait .sankaku_style4 {
  left: -69rem;
  top: -40rem;
}
@media screen and (max-width: 47.9375em) {
  .recruit-poritrait .sankaku_style4 {
    left: -19rem;
    top: -39rem;
  }
}

.recruit--footerslide {
  padding-top: 12.5rem;
  padding-inline: 0;
}
@media screen and (max-width: 47.9375em) {
  .recruit--footerslide {
    padding-top: 2.5rem;
  }
  .recruit--footerslide .footer_txtslide img {
    height: 5.5rem;
  }
}
.recruit--footerslide .sankaku_style4 {
  right: 0;
  top: -15rem;
}
.recruit--footerslide .sankaku_style4 .sankaku_style3--inner {
  overflow: hidden;
}
@media screen and (max-width: 47.9375em) {
  .recruit--footerslide .sankaku_style4 {
    display: none;
  }
}
.recruit--footerslide .sankaku_style3 {
  z-index: 2;
  bottom: -26.25rem;
  overflow: hidden;
}
.recruit--footerslide .sankaku_style3 .img1 {
  width: 37.5rem;
}
.recruit--footerslide .sankaku_style3 .img2 {
  bottom: 17.5rem;
  left: initial;
  right: 2.5rem;
}
.recruit--footerslide .sankaku_style3 .sankaku_style3--inner {
  left: -6.25rem;
  height: fit-content;
  width: fit-content;
  position: relative;
}

@media screen and (max-width: 47.9375em) {
  .join_us_top .snkaku-item {
    display: none !important;
  }
}

.number--item-circle_graph {
  margin-inline: auto;
  width: 17.5rem !important;
  height: 17.5rem;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  transition: var(--transit-default);
}
.number--item-circle_graph .number--item_ttl {
  margin-left: 0;
}
.number--item-circle_graph + .number--item .number--item_num--list_item .name {
  text-align: left;
  color: var(--clr-text-primary);
}
@media screen and (max-width: 47.9375em) {
  .number--item-circle_graph + .number--item .number--item_num--list_item .name {
    font-size: 1rem;
  }
}
.number--item-circle_graph .cover {
  position: absolute;
  width: 60%;
  aspect-ratio: 1/1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 100%;
  background: var(--clr-wht);
  z-index: 1;
}
.number--item-circle_graph.is-full {
  width: 20rem !important;
  height: 20rem;
}
.number--item-circle_graph.is-full .cover {
  width: 80%;
}
.number--item-circle_graph.is-full::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 100%;
  background: conic-gradient(from 135deg, #009B3D 0%, #6AB82C 50%, #009B3D 100%) !important;
  opacity: 0;
  transition: var(--transit-default);
}
.number--item-circle_graph.is-full .circle-white-line {
  display: none;
}
.number--item-circle_graph.is-full.is-full.is-complete::after {
  opacity: 1;
}
/*# sourceMappingURL=style.css.map */
