@charset "UTF-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
/*------@import------*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Yuji+Boku&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
:root {
  /*------▼基本設定▼------*/
  --color-background: #fff;
  --color-grade: linear-gradient(90deg,
          #494949 0%,
          #383838 100%);
  --color-font: #3C3C3C;
  --color-primary-black: #333333;
  --color-primary-gray: #BDBDBD;
  --color-primary-orange: #FF9D00;
  --color-primary-shade: #1A1A1A;
  --color-primary-tint: #666;
  --color-secondary: #F6D13B;
  --color-secondary-tint: #eee;
  --color-table-border: #ccc;
  --body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
  /* 1.6-1.4rem (1920-375) */
  --body-font-family: 'Noto Sans JP', sans-serif;
  --body-font-Noto-Serif: 'Noto Serif JP', sans-serif;
  --body-font-Zen-Kaku-Gothic: 'ZenKakuGothic', sans-serif;
  --body-font-Garamond: 'EB Garamond', sans-serif;
  --body-font-Yuji-Boku: 'Yuji Boku', sans-serif;
  --body-font-Shippori-Mincho: 'Shippori Mincho', sans-serif;
  --content-max-width: 100%;
  /*------▼ヘッダー設定▼------*/
  --header-background: #fff;
  --header-color-font: #1A1A1A;
  --header-color-primary: #1A1A1A;
  --header-color-primary-shade: #1A1A1A;
  --header-color-primary-tint: #aaa;
  /*------▼フッター設定▼------*/
  --footer-background: #585858;
  --footer-color-font: #fff;
  --footer-color-primary: #fff;
  /*------▼フォント設定▼------*/
  --font-family01: 'Noto Sans JP', sans-serif;
  --font-family02: 'Montserrat', 'Noto Sans JP', sans-serif;
  /*------▼pxバリエーション▼------*/
  --px240: min(calc(240px + (1vw - 19.2px) * 10.3560), 240px);
  /*240px-80px (1920-375)*/
  --px220: min(calc(220px + (1vw - 19.2px) * 8.4725), 220px);
  /*220px-100px (1920-375)*/
  --px200: min(calc(200px + (1vw - 19.2px) * 6.4725), 200px);
  /*200px-100px (1920-375)*/
  --px180: min(calc(180px + (1vw - 19.2px) * 3.8835), 180px);
  /*180-120px (1920-375) */
  --px160w: min(calc(160px + (1vw - 19.2px) * 5.1780), 160px);
  /*160px-80px (1920-375)*/
  --px160: min(calc(160px + (1vw - 19.2px) * 6.4725), 160px);
  /*160px-60px (1920-375)*/
  --px150: min(calc(150px + (1vw - 19.2px) * 3.2362), 150px);
  /*150-100px (1920-375) */
  --px140: min(calc(140px + (1vw - 19.2px) * 6.4725), 140px);
  /*140px-40px (1920-375)*/
  --px120: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px);
  /*120px-80px (1920-375)*/
  --px100w: min(calc(100px + (1vw - 19.2px) * 3.2362), 100px);
  /*100px-50px (1920-375)*/
  --px100: min(calc(100px + (1vw - 19.2px) * 3.8835), 100px);
  /*100px-40px (1920-375)*/
  --px96: min(calc(96px + (1vw - 19.2px) * 3.1068), 96px);
  /*96px-48px (1920-375)*/
  --px80w: min(calc(80px + (1vw - 19.2px) * 1.2945), 80px);
  /*80px-60px (1920-375)*/
  --px80: min(calc(80px + (1vw - 19.2px) * 2.5890), 80px);
  /*80px-40px (1920-375)x*/
  --px80s: min(calc(80px + (1vw - 19.2px) * 3.8835), 80px);
  /*80px-20px (1920-375)x*/
  --px60w: min(calc(60px + (1vw - 19.2px) * 1.2945), 60px);
  /*60px-40px (1920-375)*/
  --px60: min(calc(60px + (1vw - 19.2px) * 1.9417), 60px);
  /*60px-30px (1920-375)*/
  --px50: min(calc(50px + (1vw - 19.2px) * 1.2945), 50px);
  /*50px-30px (1920-375) */
  --px40w: min(calc(40px + (1vw - 19.2px) * 0.6472), 40px);
  /*40px-30px (1920-375)*/
  --px40: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px);
  /*40px-20px (1920-375)*/
  --px30w: min(calc(30px + (1vw - 19.2px) * 0.6472), 30px);
  /*30px-20px (1920-375)*/
  --px30: min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);
  /*30px-15px (1920-375)*/
  --px24: min(calc(24px + (1vw - 19.2px) * 0.6472), 24px);
  /*24px-14px (1920-375)*/
  --px20: min(calc(20px + (1vw - 19.2px) * 0.6472), 20px);
  /*20px-10px (1920-375)*/
  --px18: min(calc(18px + (1vw - 19.2px) * 0.2589), 18px);
  /*18px-14px (1920-375)*/
  --px16: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
  /*16px-14px (1920-375)*/
  --px14: min(calc(14px + (1vw - 19.2px) * 0.1294), 14px);
  /*14px-12px (1920-375)*/
  --px12: min(calc(12px + (1vw - 19.2px) * 0.0647), 12px);
  /*12px-11px (1920-375)*/
  /*------▼remバリエーション▼------*/
  --rem120: min(calc(12rem + (1vw - 1.92rem) * 3.8835), 12rem);
  /*12rem-6rem (1920-375)*/
  --rem80w: min(calc(8rem + (1vw - 1.92rem) * 1.2945), 8rem);
  /*8rem-6rem (1920-375)*/
  --rem80: min(calc(8rem + (1vw - 1.92rem) * 2.5890), 8rem);
  /*8rem-4rem (1920-375)x*/
  --rem72: min(calc(7.2rem + (1vw - 1.92rem) * 1.9417), 7.2rem);
  /*7.2rem-4.2rem (1920-375)*/
  --rem60: min(calc(6rem + (1vw - 1.92rem) * 1.5534), 6rem);
  /*6rem-3.6rem (1920-375)*/
  --rem48w: min(calc(4.8rem + (1vw - 1.92rem) * 0.6472), 4.8rem);
  /*4.8rem-3.8rem*/
  --rem48: min(calc(4.8rem + (1vw - 1.92rem) * 1.5534), 4.8rem);
  /*4.8rem-2.4rem (1920-375)*/
  --rem42w: min(calc(4.2rem + (1vw - 1.92rem) * 0.6472), 4.2rem);
  /*4.2rem-3.2rem (1920-375)*/
  --rem42: min(calc(4.2rem + (1vw - 1.92rem) * 1.1650), 4.2rem);
  /*4.2rem-2.4rem (1920-375)*/
  --rem42s: min(calc(4.2rem + (1vw - 1.92rem) * 1.4887), 4.2rem);
  /*4.2rem-1.9rem (1920-375)*/
  --rem40w: min(calc(4rem + (1vw - 1.92rem) * 0.6472), 4rem);
  /*4rem-3rem (1920-375)*/
  --rem40: min(calc(4rem + (1vw - 1.92rem) * 1.2945), 4rem);
  /*4rem-2rem (1920-375)*/
  --rem38: min(calc(3.8rem + (1vw - 1.72rem) * 0.867), 3.8rem);
  /*4rem-2rem (1920-375)*/
  --rem36: min(calc(3.6rem + (1vw - 1.92rem) * 0.7767), 3.6rem);
  /*3.6rem-2.4rem (1920-375)*/
  --rem30w: min(calc(3rem + (1vw - 1.92rem) * 0.3883), 3rem);
  /*3rem-2.4rem (1920-375)*/
  --rem30: min(calc(3rem + (1vw - 1.92rem) * 0.6472), 3rem);
  /*3rem-2rem (1920-375)*/
  --rem30s: min(calc(3rem + (1vw - 1.92rem) * 0.9709), 3rem);
  /*3rem-1.5rem (1920-375)*/
  --rem28: min(calc(2.8rem + (1vw - 1.92rem) * 0.6472), 2.8rem);
  /*2.8rem-1.8rem (1920-375)*/
  --rem24w: min(calc(2.4rem + (1vw - 1.92rem) * 0.3883), 2.4rem);
  /*2.4rem-1.8rem (1920-375)*/
  --rem24: min(calc(2.4rem + (1vw - 1.92rem) * 0.6472), 2.4rem);
  /*2.4rem-1.4rem (1920-375)*/
  --rem20w: min(calc(2rem + (1vw - 1.92rem) * 0.2589), 2rem);
  /*2rem-1.6rem (1920-375)*/
  --rem20: min(calc(2rem + (1vw - 1.92rem) * 0.3883), 2rem);
  /*2rem-1.4rem (1920-375)*/
  --rem18: min(calc(1.8rem + (1vw - 1.92rem) * 0.2589), 1.8rem);
  /*1.8rem-1.4rem (1920-375)*/
  --rem16: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
  /*1.6rem-1.4rem (1920-375)*/
  --rem14: min(calc(1.4rem + (1vw - 1.92rem) * 0.1294), 1.4rem);
  /*1.4rem-1.2rem (1920-375)*/
  --rem12: min(calc(1.2rem + (1vw - 1.92rem) * 0.0647), 1.2rem);
  /*1.2rem-1.1rem (1920-375)*/
}

body {
  font-family: var(--font-family01);
  color: var(--color-primary-black) !important;
}
body p,
body a {
  letter-spacing: 0.08em;
}

@media (max-width: 767px) {
  body {
    min-width: initial;
  }
}

body.mobile {
  margin-top: 0;
}
body p,
body a,
body span {
  letter-spacing: 0.04em;
  line-height: 1.6;
}

@media print, screen and (max-width: 1300px) {
  #content,
  #content.wide {
    width: 100%;
  }
}
/*------------------------------------------------------
ローディングアニメーション
------------------------------------------------------*/
/**
 * KAKERU Holdings - Loading Styles
 * CRAZY風スプリットテキストアニメーション + 波紋エフェクト
 */
.opening-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999999999;
  pointer-events: none;
}

#bg-canvas,
#particle-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#bg-canvas {
  z-index: 0;
}

#particle-canvas {
  z-index: 2;
  pointer-events: none;
}

.svg-container {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  width: 80vw;
  max-width: 900px;
  opacity: 0;
  visibility: hidden;
}

#main-logo {
  width: 100%;
  height: auto;
  overflow: visible;
}

#main-logo path {
  fill: transparent;
  stroke: rgb(255, 255, 255);
  stroke-width: 0.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: var(--path-length);
  stroke-dashoffset: var(--path-length);
}

.noise-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  opacity: 0.025;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/*------------------------------------------------------
header
------------------------------------------------------*/
@media (max-width: 1023px) {
  body.mobile nav#mainNav.menuOpen {
    height: auto !important;
  }
}

@media (max-width: 1023px) {
  .mobile #header {
    background: #3f3f3f !important;
  }
}

#header .sticky-logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 0;
  padding: 6px 0 6px 30px;
  /*20-10px (1920-1024) */
}
#header .sticky-logo a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#header .sticky-logo img {
  max-height: 50px;
}
@media (max-width: 1023px) {
  #header .sticky-logo img {
    max-height: 40px;
  }
}

.sticky-header #header .logo,
body:not(.sticky-header) #header .sticky-logo {
  display: none;
}

#header {
  position: fixed;
  background: transparent;
  height: 80px;
}
@media (max-width: 1023px) {
  #header {
    height: 60px;
  }
}
#header #header-layout .logo {
  padding-left: 60px;
}
@media (min-width: 1024px) {
  #header #header-layout .logo {
    padding: 6px 0 6px 30px;
  }
}
@media (max-width: 1200px) {
  #header #header-layout .logo {
    padding-left: 30px;
  }
}
@media (max-width: 767px) {
  #header #header-layout .logo {
    padding-left: 0px;
  }
}
#header #header-layout .logo img {
  max-height: 50px;
}
@media (max-width: 1023px) {
  #header #header-layout .logo img {
    max-height: 40px;
  }
}
#header #header-layout .logo .spmenu #menu {
  top: 56%;
}
#header #header-layout .logo .spmenu #menu span {
  width: 32px;
  border-radius: 0;
  background: #fff;
}
#header #header-layout .logo .spmenu #menu span::before, #header #header-layout .logo .spmenu #menu span::after {
  width: 32px;
  border-radius: 0;
  background: #fff !important;
}
#header #header-layout .logo .spmenu #menu p {
  left: 41%;
  bottom: -3px;
  font-family: var(--font-family02);
  font-weight: 400;
  color: #fff !important;
}
#header #header-layout .menu-item a {
  background: transparent;
  color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding: var(--px20) 30px var(--px20) 0;
}
@media (max-width: 1023px) {
  #header #header-layout .menu-item a {
    padding: var(--px30) var(--px30);
    background: #fff;
    color: var(--color-primary-black) !important;
  }
}
#header #header-layout .menu-item a:hover {
  opacity: 0.7;
}
#header #header-layout .menu-item a b {
  color: #fff;
  font-weight: 400;
}
@media (max-width: 1023px) {
  #header #header-layout .menu-item a b {
    color: var(--color-primary-black) !important;
  }
}
#header #header-layout .menu-item .sub-menu {
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  left: 38%;
}
#header #header-layout .menu-item .sub-menu li a {
  padding: var(--px20) 30px;
  background: #fff;
  color: var(--color-primary-black) !important;
}
#header #header-layout .cta {
  margin-right: 60px;
}
@media (max-width: 1023px) {
  #header #header-layout .cta {
    margin-right: 0px;
  }
}
#header #header-layout .cta a {
  border: 1px solid #fff;
  padding: 12px 10px;
  width: 180px;
  max-height: 47px;
  border-radius: 40px;
  background: var(--color-grade);
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 1023px) {
  #header #header-layout .cta a {
    padding: var(--px30) var(--px30);
    background: #fff;
    color: var(--color-primary-black);
    border-radius: 0;
    width: 100%;
    display: block;
    position: static;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    max-height: 100%;
  }
}

@media print, screen and (min-width: 1024px) {
  .sticky-header #header-layout {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 80px;
  }
  .sticky-header #header > .inner {
    background: rgba(37, 37, 37, 0.9);
  }
  .sticky-header #header > .inner a {
    color: #fff !important;
  }
  .sticky-header #header > .inner a b {
    color: #fff !important;
  }
  .sticky-header #header > .inner .cta a b {
    color: #fff !important;
  }
}
@media (max-width: 1023px) {
  body:not(.home) #header .inner {
    background: #3f3f3f;
  }
}
body:not(.home) #header-layout {
  background: #3f3f3f;
}
body:not(.home) #header-layout .logo {
  display: none !important;
}
@media (max-width: 1023px) {
  body:not(.home) #header-layout .logo {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
body:not(.home) #header-layout .sticky-logo {
  display: block !important;
  position: relative;
  top: 12%;
}
body:not(.home) #header #header-layout .menu-item a {
  color: #fff;
}
body:not(.home) #header #header-layout .menu-item a b {
  color: #fff;
}
body:not(.home) #header #header-layout .cta a b {
  color: #fff !important;
}
@media (max-width: 1023px) {
  body:not(.home) #header #header-layout .cta a b {
    color: var(--color-primary-black) !important;
  }
}

header#h1Header {
  background: #fff;
  height: 280px;
  margin-top: 80px;
}
@media (max-width: 1023px) {
  header#h1Header {
    height: 220px;
    margin-top: 60px !important;
  }
}
header#h1Header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: -1;
}
header#h1Header h1.title {
  color: var(--color-primary-black);
  font-family: var(--font-family02);
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2em;
}
header#h1Header h1 .slug {
  font-weight: 400;
  font-size: clamp(3.8rem, 3.8067349927vw, 5.2rem);
  text-transform: uppercase;
}
header#h1Header h1 .title_text {
  font-weight: 400;
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
}
header#h1Header img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
header#h1Header .copy_sub {
  font-family: var(--body-font-Zen-Kaku-Gothic);
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
  font-weight: 300;
  letter-spacing: 0.04em;
  margin-top: 20px;
  line-height: 1.8;
}

.mobile header#h1Header {
  margin-top: 80px;
}

/*------------------------------------------------------
ぱんくず
------------------------------------------------------*/
#breadcrumb {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1240px) {
  #breadcrumb {
    padding-inline: 4%;
  }
}
#breadcrumb ul {
  width: 100%;
}
#breadcrumb ul li {
  font-size: 1.3rem;
  font-weight: 300;
  font-family: var(--font-family02);
}
@media (max-width: 1240px) {
  #breadcrumb ul li {
    font-size: 1.2rem;
  }
}

/*------------------------------------------------------
top共通
------------------------------------------------------*/
.home .flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
}
@media (max-width: 767px) {
  .home .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.home .flex.rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .home .flex.rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.home .flex_l, .home .flex_r {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 767px) {
  .home .flex_l img, .home .flex_r img {
    width: 100%;
  }
}
.home .ttl_h2 {
  font-size: clamp(2.8rem, 2.9282576867vw, 4rem);
  font-weight: 400;
  font-family: var(--font-family02);
  text-align: left;
  margin-bottom: 0;
}
.home .ttl_h2::after {
  content: none;
}
.home .ttl_h2.center {
  text-align: center;
}
.home .ttl_h3 {
  font-size: clamp(2.2rem, 2.0497803807vw, 2.8rem);
  font-weight: 400;
  margin-top: 14px;
  padding-left: 0;
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-primary-gray);
}
@media (max-width: 767px) {
  .home .ttl_h3 {
    padding-bottom: 14px;
  }
}
.home .ttl_sub {
  font-size: clamp(1.8rem, 1.756954612vw, 2.4rem);
  font-family: var(--font-family01);
  font-weight: 400;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .home .ttl_sub {
    margin-top: 10px;
  }
}
.home .ttl_sub.center {
  text-align: center;
}
.home p {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-family: var(--font-family01);
  font-weight: 300;
}
.home .border_r10 {
  border-radius: 10px;
}
.home .btn_box .btn_1 {
  display: inline-block;
  padding: 10px 85px 10px 10px;
  position: relative;
  border-bottom: 1px solid var(--color-primary-black);
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  font-weight: 300;
  margin-top: 50px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .home .btn_box .btn_1 {
    margin-top: 20px;
  }
}
.home .btn_box .btn_1::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 3px;
  width: 16px;
  height: 2px;
  background: var(--color-primary-black);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.home .btn_box .btn_1::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--color-primary-black);
  border-right: 2px solid var(--color-primary-black);
  -webkit-transform: translate(-50%, -50%) translateX(4px) rotate(45deg);
          transform: translate(-50%, -50%) translateX(4px) rotate(45deg);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.home .btn_box .btn_1:hover {
  background: var(--color-primary-black);
  color: #fff;
  padding: 10px 85px 10px 24px;
}
.home .btn_box .btn_1:hover::before {
  background: #fff;
  right: 8px;
}
.home .btn_box .btn_1:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  right: 15px;
}
.home .btn_box .btn_2 {
  display: inline-block;
  font-weight: 300;
  padding: 14px 75px 14px 30px;
  border: 1px solid var(--color-primary-black);
  border-radius: 10px;
  margin-top: 30px;
  position: relative;
  color: var(--color-primary-black);
  background: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  pointer-events: fill;
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
}
@media (max-width: 767px) {
  .home .btn_box .btn_2 {
    margin-top: 20px;
  }
}
.home .btn_box .btn_2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  width: 14px;
  height: 2px;
  background: var(--color-primary-black);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.home .btn_box .btn_2::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--color-primary-black);
  border-right: 2px solid var(--color-primary-black);
  -webkit-transform: translate(-50%, -50%) translateX(4px) rotate(45deg);
          transform: translate(-50%, -50%) translateX(4px) rotate(45deg);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.home .btn_box .btn_2:hover {
  background: var(--color-primary-black);
  color: #fff;
}
.home .btn_box .btn_2:hover::before {
  background: #fff;
}
.home .btn_box .btn_2:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.home section section {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .home section section {
    padding-top: 40px;
  }
}
.home .sec_inner {
  max-width: 1160px;
  margin: 0 auto;
}
@media (max-width: 1240px) {
  .home .sec_inner {
    padding-inline: 4%;
  }
}
.home #post-25 {
  background: #fff;
}

/*------------------------------------------------------
メインビジュアル
------------------------------------------------------*/
#mainImg {
  position: fixed;
  z-index: -1;
}
#mainImg .flexslider {
  margin: 0 !important;
}
#mainImg .flex-control-nav {
  display: none !important;
}

/*------------------------------------------------------
about
------------------------------------------------------*/
#about p {
  margin-top: 30px;
}
@media (max-width: 767px) {
  #about p {
    margin-top: 14px;
  }
}

#service .ttl_sub {
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  margin-top: 10px;
}
@media (max-width: 767px) {
  #service .ttl_sub {
    margin-top: 6px;
  }
}
#service .service_box {
  margin-top: 80px;
}
@media (max-width: 767px) {
  #service .service_box {
    margin-top: 40px;
  }
}
#service .service_box .inner {
  padding-block: 80px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  #service .service_box .inner {
    padding-block: 40px;
  }
}
#service .service_box .inner::after {
  position: absolute;
  content: "";
  width: 150vw;
  height: 100%;
  background: #F9F9F9;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
}
#service .service_box .inner.bg_none::after {
  content: none;
}
#service .service_box .flex {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
#service .service_box .flex:hover {
  opacity: 1;
}
#service .service_box .flex:hover img {
  scale: 1.15;
  opacity: 1;
}
#service .service_box .flex_l .label {
  display: inline-block;
  padding: 4px 12px;
  text-align: center;
  background: var(--color-grade);
  font-size: clamp(1.2rem, 0.9516837482vw, 1.3rem);
  font-weight: 400;
  font-family: var(--font-family02);
  color: #fff;
  border-radius: 5px;
}
#service .service_box .flex_l p {
  line-height: 2;
  margin-top: 20px;
}
@media (max-width: 767px) {
  #service .service_box .flex_l p {
    margin-top: 14px;
  }
}
#service .service_box .flex_r {
  overflow: hidden;
  border-radius: 10px;
}

#recruit .ttl_sub {
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  margin-top: 10px;
}
@media (max-width: 767px) {
  #recruit .ttl_sub {
    margin-top: 6px;
  }
}
#recruit .recruit_txt {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  line-height: 2;
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 767px) {
  #recruit .recruit_txt {
    margin-top: 30px;
    text-align: left;
  }
}
#recruit .link_area {
  overflow: hidden;
  border-radius: 10px;
  margin-top: 80px;
  width: 100%;
}
@media (max-width: 767px) {
  #recruit .link_area {
    margin-top: 30px;
  }
}
#recruit .link_area:hover img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  opacity: 1;
}
#recruit .link_area .recruit_img {
  width: 100%;
}
@media (max-width: 767px) {
  #recruit .link_area .recruit_img {
    height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#recruit .btn_box {
  text-align: center;
}
#recruit .btn_box .btn_2 {
  margin-top: 80px;
}
@media (max-width: 767px) {
  #recruit .btn_box .btn_2 {
    margin-top: 40px;
  }
}

#news {
  background: #fff;
}
#news .ttl_h2 {
  margin: 0 !important;
}
#news .ttl_sub {
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  margin-top: 10px;
}
@media (max-width: 767px) {
  #news .ttl_sub {
    margin-top: 6px;
  }
}
#news .post {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  row-gap: 40px;
  margin-top: 60px;
}
@media (max-width: 767px) {
  #news .post {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 30px;
    gap: 30px;
    row-gap: 30px;
  }
}
#news .post::after {
  content: none;
}
#news .post .clearfix {
  width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #news .post .clearfix {
    width: 100%;
  }
}
#news .post .clearfix a {
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#news .post .clearfix a:hover img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  opacity: 1;
}
#news .post .clearfix a:hover h3 {
  text-decoration: underline;
}
#news .post .clearfix .post_img {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-primary-gray);
  border-radius: 10px;
  max-width: 100%;
}
#news .post .clearfix .post_img a img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#news .post .clearfix .post_text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 14px;
  width: 100%;
  border-bottom: 1px solid var(--color-primary-gray);
}
#news .post .clearfix .post_text .txt {
  font-size: 1.4rem;
  font-family: var(--font-family02);
  line-height: 1.4;
}
#news .post .clearfix .post_text .time {
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
  font-family: var(--font-family02);
  background: transparent;
  color: var(--color-primary-black);
}
#news .post .clearfix .post_text .time span {
  line-height: 1.4;
}
#news .post .clearfix .bottom-loop {
  margin: 14px 0 0 0;
  border-bottom: 0;
  padding: 0;
  letter-spacing: 0.04em;
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-family: var(--body-font-Zen-Kaku-Gothic);
  font-weight: 600;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#news .btn_box {
  text-align: center;
}
#news .btn_box .btn_2 {
  margin-top: 80px;
}
@media (max-width: 767px) {
  #news .btn_box .btn_2 {
    margin-top: 40px;
  }
}

#cta {
  background: #fff;
  padding: 120px 0;
}
@media (max-width: 767px) {
  #cta {
    padding: 60px 0;
  }
}
#cta .sec_inner {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1240px) {
  #cta .sec_inner {
    padding-inline: 4%;
  }
}
#cta .ttl_sub {
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  margin-top: 10px;
}
@media (max-width: 767px) {
  #cta .ttl_sub {
    margin-top: 6px;
  }
}
#cta .cta_area {
  max-width: 1040px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: 60px;
  border-bottom: 1px solid var(--color-primary-gray);
  border-top: 1px solid var(--color-primary-gray);
}
@media (max-width: 767px) {
  #cta .cta_area {
    margin: 30px auto 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding-block: 30px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#cta .cta_area .tel,
#cta .cta_area .contact {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
#cta .cta_area .tel a {
  font-size: clamp(2.8rem, 2.9282576867vw, 4rem);
  font-weight: 300;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display: block;
}
#cta .cta_area .tel a:hover {
  opacity: 0.7;
}
#cta .cta_area .tel a span {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-weight: 500;
  position: relative;
  left: -10px;
}
#cta .cta_area .tel p {
  padding: 6px 80px;
  border: 1px solid var(--color-primary-gray);
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  display: inline-block;
  margin-top: 10px;
  border-radius: 40px;
}
@media (max-width: 767px) {
  #cta .cta_area .tel p {
    padding: 6px 50px;
  }
}
#cta .cta_area .contact {
  padding: 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#cta .cta_area .contact a {
  display: inline-block;
  padding: 28px 20px;
  font-size: clamp(1.8rem, 1.9033674963vw, 2.6rem);
  font-weight: 300;
  border: 1px solid var(--color-primary-gray);
  border-radius: 50px;
  width: 100%;
  max-width: 400px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 767px) {
  #cta .cta_area .contact a {
    padding: 14px 20px;
    max-width: 280px;
  }
}
#cta .cta_area .contact a:hover {
  background: var(--color-primary-black);
  color: #fff;
}
#cta .cta_area .border {
  width: 1px;
  height: 130px;
  display: block;
  background: var(--color-primary-gray);
}
@media (max-width: 767px) {
  #cta .cta_area .border {
    height: 30px;
  }
}

/*------------------------------------------------------
footer
------------------------------------------------------*/
#footer {
  padding: 0 4% 20px;
  background: transparent;
  background: #fff;
}
#footer .footer__logo img {
  max-width: 240px;
}
#footer .address {
  text-align: center;
  color: var(--color-primary-black);
  margin-bottom: 40px;
  line-height: 2;
}
@media (max-width: 767px) {
  #footer .address {
    margin-bottom: 30px;
  }
}
#footer .inner {
  width: 100%;
}
@media (max-width: 767px) {
  #footer .inner .footnav ul {
    row-gap: 6px;
    -webkit-box-pack: start !important;
    -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
}
#footer .inner .footnav ul li {
  padding: 0 26px;
}
@media (max-width: 767px) {
  #footer .inner .footnav ul li {
    padding: 0;
    width: 50%;
  }
}
#footer .inner .footnav ul li::before, #footer .inner .footnav ul li::after {
  background: var(--color-primary-gray);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 75%;
}
@media (max-width: 767px) {
  #footer .inner .footnav ul li::before, #footer .inner .footnav ul li::after {
    content: none;
  }
}
#footer .inner .footnav ul li a {
  color: var(--color-primary-black);
}
@media (max-width: 767px) {
  #footer .inner .footnav ul li a {
    font-size: 1.4rem;
  }
}
#footer .inner .socialicon ul li a i::before {
  color: var(--color-primary-black);
}
#footer #copyright {
  color: var(--color-primary-black);
  background: transparent;
}

/*------------------------------------------------------
下層共通
------------------------------------------------------*/
body:not(.home) #header-layout {
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
body:not(.home) #wrapper {
  width: 100%;
}
body:not(.home) .l-inner {
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1240px) {
  body:not(.home) .l-inner {
    padding-inline: 4%;
  }
}
body:not(.home) #content.wide {
  padding: var(--px80) 0 0;
}
body:not(.home) .ttl_h2 {
  font-size: clamp(2.8rem, 2.9282576867vw, 4rem);
  font-weight: 400;
  font-family: var(--font-family02);
  text-align: left;
  margin-bottom: 0;
}
body:not(.home) .ttl_h2::after {
  content: none;
}
body:not(.home) .ttl_h2.center {
  text-align: center;
}
body:not(.home) .ttl_sub {
  font-size: clamp(1.8rem, 1.756954612vw, 2.4rem);
  font-family: var(--font-family01);
  font-weight: 400;
  margin-top: 20px;
}
@media (max-width: 767px) {
  body:not(.home) .ttl_sub {
    margin-top: 10px;
  }
}
body:not(.home) .ttl_sub.center {
  text-align: center;
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  margin-top: 10px;
}
@media (max-width: 767px) {
  body:not(.home) .ttl_sub.center {
    margin-top: 6px;
  }
}
body:not(.home) p {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-family: var(--font-family01);
  font-weight: 300;
}
body:not(.home) a {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
body:not(.home) .border_r10 {
  border-radius: 10px;
}
body:not(.home) .low-page + .low-page {
  padding-top: var(--px120);
}
@media (max-width: 767px) {
  body:not(.home) .low-page + .low-page {
    padding-top: var(--px80);
  }
}
body:not(.home) .highlight {
  padding: var(--px80) 0 !important;
  background: #F9F9F9;
  margin-top: var(--px80);
}
body:not(.home) .img_center {
  text-align: center;
}
body:not(.home) .value_img {
  max-width: 500px;
  width: 100%;
}
body:not(.home) .president {
  text-align: right;
  font-weight: 400;
}
body:not(.home) .president span {
  font-family: var(--body-font-Yuji-Boku);
  font-size: 2.4rem;
  padding-left: 12px;
}

.under_about .ttl-custom {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0 auto var(--px30);
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 16px;
}
.under_about h3 {
  font-size: clamp(1.8rem, 1.6105417277vw, 2.2rem);
  font-weight: 300;
  margin: 0 auto var(--px30);
  line-height: 1.8;
  border-bottom: 0;
  padding: 0;
}
.under_about h3.font_sm {
  font-size: clamp(1.8rem, 1.6105417277vw, 2.2rem);
  font-weight: 300;
  margin: 0 auto var(--px30);
  line-height: 1.8;
  border-bottom: 0;
  padding: 0;
}

.draw-border-clockwise {
  position: relative;
}
.draw-border-clockwise .border-line {
  position: absolute;
  background: var(--color-primary-gray);
  will-change: width, height;
}
.draw-border-clockwise .border-line--bottom {
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  -webkit-transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.draw-border-clockwise .border-line--right {
  bottom: 0;
  right: 0;
  width: 1px;
  height: 0;
  -webkit-transition: height 0.5s cubic-bezier(0.65, 0, 0.35, 1) 0.2s;
  transition: height 0.5s cubic-bezier(0.65, 0, 0.35, 1) 0.2s;
}
.draw-border-clockwise .border-line--top {
  top: 0;
  right: 0;
  height: 1px;
  width: 0;
  -webkit-transition: width 0.6s cubic-bezier(0.33, 0, 0, 1) 0.6s;
  transition: width 0.6s cubic-bezier(0.33, 0, 0, 1) 0.6s;
}
.draw-border-clockwise .border-line--left {
  top: 0;
  left: 0;
  width: 1px;
  height: 0;
  -webkit-transition: height 0.3s cubic-bezier(0.7, 0, 0.84, 0) 1.1s;
  transition: height 0.3s cubic-bezier(0.7, 0, 0.84, 0) 1.1s;
}
.draw-border-clockwise.is-bordered .border-line--bottom {
  width: 100%;
}
.draw-border-clockwise.is-bordered .border-line--right {
  height: 100%;
}
.draw-border-clockwise.is-bordered .border-line--top {
  width: 100%;
}
.draw-border-clockwise.is-bordered .border-line--left {
  height: 100%;
}

.draw-line-fade {
  position: relative;
  display: inline-block;
}
.draw-line-fade span {
  display: block;
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.draw-line-fade span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--color-primary-gray);
  -webkit-transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.7s;
  transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.7s;
}
.draw-line-fade .draw-line-fade__sub {
  display: inline-block;
  opacity: 0;
  -webkit-filter: blur(4px);
          filter: blur(4px);
  -webkit-transform: translateX(-6px);
          transform: translateX(-6px);
  -webkit-transition: opacity 0.7s ease 0.4s, -webkit-filter 0.7s ease 0.4s, -webkit-transform 0.7s ease 0.4s;
  transition: opacity 0.7s ease 0.4s, -webkit-filter 0.7s ease 0.4s, -webkit-transform 0.7s ease 0.4s;
  transition: opacity 0.7s ease 0.4s, filter 0.7s ease 0.4s, transform 0.7s ease 0.4s;
  transition: opacity 0.7s ease 0.4s, filter 0.7s ease 0.4s, transform 0.7s ease 0.4s, -webkit-filter 0.7s ease 0.4s, -webkit-transform 0.7s ease 0.4s;
}
.draw-line-fade.is-visible span {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.draw-line-fade.is-visible span::after {
  width: 100%;
}
.draw-line-fade.is-visible .draw-line-fade__sub {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.low-page.numbers_inner {
  background: -webkit-gradient(linear, left top, left bottom, from(#f0f0f0), color-stop(50%, #ffffff), to(#f0f0f0));
  background: -webkit-linear-gradient(top, #f0f0f0 0%, #ffffff 50%, #f0f0f0 100%);
  background: linear-gradient(to bottom, #f0f0f0 0%, #ffffff 50%, #f0f0f0 100%);
  padding-bottom: var(--px120);
  margin-top: var(--px120);
}
.low-page .max800 {
  max-width: 800px;
  margin: 0 auto;
}
.low-page .max1100 {
  max-width: 1100px;
  margin: 0 auto;
}
.low-page .btn_area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  margin-bottom: var(--px80);
}
@media (max-width: 767px) {
  .low-page .btn_area {
    gap: 15px;
  }
}
.low-page .btn_area a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding: 8px 24px;
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
  font-weight: 500;
  font-family: var(--font-family02);
  border: 1px solid var(--color-primary-gray);
  border-radius: 4px;
}
.low-page .btn_area a img {
  max-width: 26px;
}
@media (max-width: 767px) {
  .low-page .btn_area a img {
    max-width: 20px;
  }
}
@media (max-width: 767px) {
  .low-page .btn_area a {
    padding: 8px 10px;
    gap: 10px;
  }
}
.low-page .btn_area a:hover {
  background: var(--color-primary-black);
  color: #fff;
}
.low-page .member_box {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2em;
  row-gap: 3em;
}
@media (max-width: 767px) {
  .low-page .member_box {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 580px) {
  .low-page .member_box {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 450px) {
  .low-page .member_box {
    grid-template-columns: repeat(2, 1fr);
  }
}
.low-page .member_box .member_item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.low-page .member_box .member_item img {
  border-radius: 200px;
  border: 1px solid var(--color-primary-gray) !important;
}
.low-page .member_box .member_item .name {
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  font-weight: 400;
  font-family: var(--body-font-Zen-Kaku-Gothic);
}
.low-page .member_box .member_item .post {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-family: var(--body-font-Zen-Kaku-Gothic);
  margin: 0;
}
.low-page .img_area.center {
  text-align: center;
  margin-top: var(--px80);
}
.low-page h2 {
  font-size: clamp(1.8rem, 2.3426061493vw, 3.2rem);
  font-family: var(--body-font-Zen-Kaku-Gothic);
  display: inline-block;
  font-weight: 300;
  margin: var(--px80) auto;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.low-page h2::after {
  content: none;
}
.low-page h2 .sub_copy {
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
  letter-spacing: 0.1em;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto 20px;
  padding: 4px 20px;
  position: relative;
}
.low-page h2.p_anime {
  padding: 24px 40px;
  display: inline-block;
}
@media (max-width: 768px) {
  .low-page h2.p_anime {
    padding: 16px 12px;
  }
}
.low-page h2.ttl-custom {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0 auto var(--px30);
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 16px;
  padding: 0;
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  font-family: var(--font-family02);
}
.low-page h2.ttl-custom span {
  font-size: clamp(2.6rem, 2.3426061493vw, 3.2rem);
}
.low-page h3 {
  font-size: clamp(2rem, 2.3426061493vw, 3.2rem);
  font-family: var(--body-font-Zen-Kaku-Gothic);
  font-weight: 300;
  margin: var(--px80) auto;
  line-height: 1.8;
  border-bottom: 0;
}
.low-page h3::after {
  content: none;
}
.low-page h3.ttl-custom {
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  font-family: var(--font-family02);
}
.low-page h3.ttl-custom span {
  font-size: clamp(2.6rem, 2.3426061493vw, 3.2rem);
}
.low-page p {
  line-height: 1.8;
}
.low-page p + p {
  margin-top: 1em;
}
.low-page .vision.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .low-page .vision.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.low-page .vision.flex.rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .low-page .vision.flex.rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.low-page .vision.flex .txt_area,
.low-page .vision.flex .img_area {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.low-page .vision.flex .img_area img {
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.low-page .vision.flex .txt_area .ttl-custom {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0 auto var(--px30);
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 16px;
}
.low-page .vision.flex .txt_area h3 {
  font-size: clamp(1.8rem, 1.6105417277vw, 2.2rem);
  font-weight: 300;
  margin: 0 auto var(--px30);
  line-height: 1.8;
  border-bottom: 0;
  padding: 0;
}
.low-page .vision.flex .txt_area ul {
  margin: 12px 0;
  display: block;
  font-family: var(--font-family02);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.low-page .vision.flex .txt_area ul li {
  font-size: 1.5rem;
}
.low-page .vision.flex .txt_area ul li b {
  display: block;
  position: relative;
  font-size: 1.8rem;
  padding-left: 20px;
}
@media (max-width: 767px) {
  .low-page .vision.flex .txt_area ul li b {
    font-size: 1.6rem;
    padding-left: 16px;
  }
}
.low-page .vision.flex .txt_area ul li b::before {
  position: absolute;
  content: "";
  left: 0;
  top: 44%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("/wp-content/uploads/check_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  aspect-ratio: 512/441;
  width: 20px;
  display: block;
}
@media (max-width: 767px) {
  .low-page .vision.flex .txt_area ul li b::before {
    width: 16px;
  }
}
.low-page .numbers.flex.custom .countUp {
  display: inline-block;
  text-align: right;
  /* 数字の幅ブレ防止（かなり重要） */
  font-variant-numeric: tabular-nums;
}
.low-page .numbers.flex.custom .ttl-custom {
  margin: 0 auto var(--px10);
  padding: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(2.4rem, 3.074670571vw, 4.2rem);
}
.low-page .numbers.flex.custom .ttl-custom .border {
  font-size: clamp(2.4rem, 3.6603221083vw, 5rem);
  display: inline-block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  border-bottom: 1px solid var(--color-primary-gray);
  margin-bottom: 10px;
}
.low-page .numbers.flex.custom .ttl-custom .sm {
  font-size: clamp(1.6rem, 1.9033674963vw, 2.6rem);
  border-bottom: 0;
}
.low-page .numbers.flex.custom .numbers_area_01 {
  position: relative;
}
.low-page .numbers.flex.custom .numbers_area_01 .max_img {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: none !important;
  position: relative;
  left: 0;
}
@media (max-width: 1590px) {
  .low-page .numbers.flex.custom .numbers_area_01 .max_img {
    height: 580px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 h3 {
  font-size: clamp(2rem, 2.3426061493vw, 3.2rem);
  font-weight: 500;
  color: #fff;
  padding: 0;
  margin: 0;
  white-space: nowrap;
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area {
  margin-top: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
@media (max-width: 767px) {
  .low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area {
    margin-top: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area img {
  width: 100%;
  width: 15px;
  max-width: 15px;
}
@media (max-width: 767px) {
  .low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area img {
    width: 10px;
    max-width: 10px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: center;
            transform-origin: center;
  }
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area .num_item p {
  font-size: clamp(1.8rem, 2.3426061493vw, 3.2rem);
  font-weight: 500;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area .num_item p .num {
  line-height: 1;
  font-size: clamp(5rem, 7.3206442167vw, 10rem);
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  color: #FA0045;
  margin-inline: 5px;
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area .num_item p .num.num_lg {
  font-size: clamp(7rem, 10.980966325vw, 15rem);
}
.low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area .num_item .year {
  white-space: nowrap;
  display: inline-block;
  padding: 10px 20px;
  font-size: clamp(1.4rem, 1.4641288433vw, 2rem);
  line-height: 1;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 50px;
}
@media (max-width: 767px) {
  .low-page .numbers.flex.custom .numbers_area_01 .plan_area01 .num_area .num_item .year {
    padding: 6px 18px;
    margin-top: 5px;
  }
}
.low-page .numbers.flex.custom .numbers_area_02 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
@media (max-width: 940px) {
  .low-page .numbers.flex.custom .numbers_area_02 {
    grid-template-columns: 1fr 1fr;
  }
}
.low-page .numbers.flex.custom .numbers_area_02 .item {
  padding: 30px 20px;
  border: 1px solid var(--color-primary-gray);
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  border-radius: 5px;
  background: #fff;
}
@media (max-width: 940px) {
  .low-page .numbers.flex.custom .numbers_area_02 .item {
    padding: 20px;
  }
}
@media (max-width: 570px) {
  .low-page .numbers.flex.custom .numbers_area_02 .item {
    gap: 20px;
    padding: 20px 10px;
  }
}
.low-page .numbers.flex.custom .numbers_area_02 .item h3 {
  font-size: clamp(1.2rem, 1.317715959vw, 1.8rem);
  font-weight: 400;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--color-primary-gray);
  line-height: 1.6;
}
.low-page .numbers.flex.custom .numbers_area_02 .item img {
  max-height: 90px;
}
@media (max-width: 570px) {
  .low-page .numbers.flex.custom .numbers_area_02 .item img {
    max-height: 70px;
  }
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt p {
  margin: 0;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt .num_txt {
  line-height: 1;
  font-size: clamp(1.4rem, 1.4641288433vw, 2rem);
  font-weight: 400;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt .num_txt .num {
  line-height: 1;
  font-size: clamp(2.2rem, 5.4904831625vw, 7.5rem);
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  color: #FA0045;
  margin-inline: 5px;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt .font_lg {
  font-size: clamp(1.6rem, 1.317715959vw, 1.8rem);
  font-weight: 400;
  line-height: 1;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt .font_sm {
  font-size: clamp(1rem, 1.0248901903vw, 1.4rem);
  font-weight: 400;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding: 10px 30px;
  border: 1px solid var(--color-primary-black);
  border-radius: 5px;
  margin-top: 20px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 570px) {
  .low-page .numbers.flex.custom .numbers_area_02 .item .txt a {
    font-size: 1rem;
    gap: 10px;
    padding: 10px 8px;
  }
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt a img {
  max-width: 20px;
  height: auto;
}
.low-page .numbers.flex.custom .numbers_area_02 .item .txt a:hover {
  background: var(--color-primary-black);
  color: #fff;
}
.low-page .numbers.flex.custom .numbers_area_03 {
  position: relative;
  padding-bottom: 140px;
}
@media (max-width: 540px) {
  .low-page .numbers.flex.custom .numbers_area_03 {
    padding-top: 50px;
  }
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area,
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area {
  position: absolute;
  background: #fff;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  width: 100%;
  max-width: 450px;
  padding: 25px 5px;
  text-align: center;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .low-page .numbers.flex.custom .numbers_area_03 .kansai_area,
  .low-page .numbers.flex.custom .numbers_area_03 .kantou_area {
    max-width: 280px;
    padding: 20px 5px;
  }
}
@media (max-width: 540px) {
  .low-page .numbers.flex.custom .numbers_area_03 .kansai_area,
  .low-page .numbers.flex.custom .numbers_area_03 .kantou_area {
    max-width: 200px;
    padding: 14px 5px;
  }
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area h3,
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area h3 {
  font-size: clamp(2rem, 2.196193265vw, 3rem);
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area h3 span,
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area h3 span {
  font-size: clamp(1.2rem, 1.1713030747vw, 1.6rem);
  display: block;
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area p,
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area p {
  margin-top: 30px;
}
@media (max-width: 540px) {
  .low-page .numbers.flex.custom .numbers_area_03 .kansai_area p,
  .low-page .numbers.flex.custom .numbers_area_03 .kantou_area p {
    margin-top: 12px;
  }
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area p.font-lg,
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area p.font-lg {
  font-size: clamp(2rem, 2.9282576867vw, 4rem);
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area p .num,
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area p .num {
  line-height: 1;
  font-size: clamp(4.5rem, 7.3206442167vw, 10rem);
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  color: #FA0045;
  margin-inline: 5px;
}
.low-page .numbers.flex.custom .numbers_area_03 .kansai_area {
  top: 0;
  left: 0;
}
.low-page .numbers.flex.custom .numbers_area_03 .kantou_area {
  bottom: 0;
  right: 0;
}

/*------------------------------------------------------
下層：採用（追従）
------------------------------------------------------*/
.recrui_fix {
  position: fixed;
  z-index: 214748364711;
  bottom: 80px;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: var(--color-primary-black);
  padding: 14px;
}
@media (max-width: 767px) {
  .recrui_fix {
    padding: 5px;
    gap: 5px;
    bottom: 58px;
  }
}
.recrui_fix.is_show {
  opacity: 1;
  pointer-events: auto;
}
.recrui_fix a {
  background: #fff;
  border-top: 2px solid #fff;
  padding: 10px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.recrui_fix a::before {
  position: absolute;
  content: "";
  background: url(/wp-content/uploads/arrow_icon.svg) no-repeat center top/cover;
  top: 36px;
  right: 10px;
  aspect-ratio: 59/12;
  width: 30px;
}
@media (max-width: 767px) {
  .recrui_fix a::before {
    top: 26px;
  }
}
@media (max-width: 767px) {
  .recrui_fix a {
    padding: 10px 5px;
  }
}
.recrui_fix a .ttl {
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
  font-weight: 700;
  margin-top: 0;
}
.recrui_fix a p {
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
  font-family: var(--body-font-Shippori-Mincho);
  font-weight: 500;
  color: #cf0007;
  margin-top: 8px;
}
.recrui_fix a img {
  max-width: 40px;
}
@media (max-width: 767px) {
  .recrui_fix a img {
    max-width: 30px;
  }
}
.recrui_fix a span {
  font-size: clamp(1rem, 0.878477306vw, 1.2rem);
  font-family: var(--body-font-Shippori-Mincho);
  font-weight: 300;
  display: block;
  color: #cf0007;
  margin-top: 1px;
}

/*------------------------------------------------------
下層：採用情報
------------------------------------------------------*/
.rectuit .btn_box {
  margin-top: 40px;
  text-align: left;
}
@media (max-width: 767px) {
  .rectuit .btn_box {
    text-align: center;
  }
}
.rectuit .btn_box a {
  max-width: 220px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  font-weight: 300;
  padding: 14px 30px;
  border: 1px solid var(--color-primary-black);
  border-radius: 10px;
  position: relative;
  color: var(--color-primary-black);
  background: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  pointer-events: fill;
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
}
@media (max-width: 767px) {
  .rectuit .btn_box a {
    margin: 0 auto;
  }
}
.rectuit .btn_box a svg {
  max-width: 14px;
  max-height: 14px;
  fill: var(--color-primary-black);
  -webkit-transition: fill 0.3s ease;
  transition: fill 0.3s ease;
}
.rectuit .btn_box a:hover {
  background: var(--color-primary-black);
  color: #fff;
}
.rectuit .btn_box a:hover svg {
  fill: #fff;
}
.rectuit .btn_box a:hover::before {
  background: #fff;
}
.rectuit .btn_box a:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.rectuit table.table_style04 th {
  background: #f8f8f8;
  color: var(--color-primary-black);
}
.rectuit table.table_style04 tr:first-child {
  border-top: 1px solid #ababab;
}
.rectuit table.table_style04 tr:last-child {
  border-bottom: 1px solid #ababab;
}
.rectuit table.table_style04 tr {
  letter-spacing: 1px;
}
.rectuit table.table_style04 th,
.rectuit table.table_style04 td {
  padding: 16px 20px;
  font-family: var(--font-family02);
}
.rectuit table.table_style04 th {
  position: relative;
  z-index: 0;
}
.rectuit table.table_style04 td ul li {
  padding-left: 1em;
  position: relative;
  line-height: 2;
}
.rectuit table.table_style04 td ul li:before {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
}
@media print, screen and (max-width: 768px) {
  .rectuit table.table_style04 th,
  .rectuit table.table_style04 td {
    padding: 14px 10px;
    font-size: 1.4rem;
    vertical-align: middle;
  }
  .rectuit table.table_style04 th {
    width: 32%;
  }
  .rectuit table.table_style04 td {
    width: 68%;
  }
}

/*------------------------------------------------------
下層：会社概要ページ
------------------------------------------------------*/
.page-company .googlemap {
  height: 300px;
  padding: 0;
}
.page-company .googlemap iframe {
  height: 300px;
}

/*------------------------------------------------------
下層：お問い合わせページ
------------------------------------------------------*/
.page-contact .post table th {
  background: #f8f8f8;
}
.page-contact .post table th,
.page-contact .post table td {
  padding: var(--rem20) var(--rem16);
}
.page-contact .img {
  margin: 0 auto;
  max-width: 300px;
}
@media (max-width: 767px) {
  .page-contact .img {
    max-width: 200px;
  }
}
.page-contact .txt {
  text-align: center;
}
@media (max-width: 767px) {
  .page-contact .txt {
    text-align: left;
  }
}

.wpcf7-form {
  font-family: var(--font-family02);
}
.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form input[type=date],
.wpcf7-form input[type=url],
.wpcf7-form input[type=number],
.wpcf7-form select,
.wpcf7-form textarea {
  height: 36px;
  font-size: 1.5rem;
  padding: 4px 10px;
}
@media (max-width: 767px) {
  .wpcf7-form input[type=text],
  .wpcf7-form input[type=tel],
  .wpcf7-form input[type=email],
  .wpcf7-form input[type=date],
  .wpcf7-form input[type=url],
  .wpcf7-form input[type=number],
  .wpcf7-form select,
  .wpcf7-form textarea {
    font-size: 1.3rem;
  }
}

.wpcf7-form .must {
  background: var(--color-grade);
}

.subimitarea .linkBtn {
  padding: 0 !important;
}
.subimitarea .linkBtn input[type=submit] {
  padding: 20px 10px !important;
}

.accept_wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.accept_wrapper .wpcf7-form-control-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

/*------------------------------------------------------
お問い合わせ（サンクスページ）
------------------------------------------------------*/
.thanks .linkBtn {
  padding-block: 16px;
  margin: 40px auto 0;
  background: var(--color-grade);
}
.thanks .linkBtn:hover {
  opacity: 0.7;
  background: var(--color-grade);
}

/*------------------------------------------------------
下層：お知らせ
------------------------------------------------------*/
.cat-news header#h1Header h1.title span {
  display: inline-block;
  text-align: center;
  line-height: 1.6;
  margin: 0 auto;
  padding: 8px 26px 6px;
  background: #fff;
}

.post4b {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  row-gap: 40px;
}
@media (max-width: 767px) {
  .post4b {
    margin-top: 30px;
    gap: 30px;
    row-gap: 30px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.post4b::after {
  content: none;
}
.post4b .clearfix {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
  padding: 0;
}
@media (max-width: 767px) {
  .post4b .clearfix {
    width: 100%;
  }
}
.post4b .clearfix a {
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.post4b .clearfix a:hover img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  opacity: 1;
}
.post4b .clearfix a:hover h3 {
  text-decoration: underline;
}
.post4b .clearfix .post_img {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-primary-gray);
  border-radius: 10px;
  max-width: 100% !important;
}
.post4b .clearfix .post_img img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post4b .clearfix .post_text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 14px;
  width: 100%;
  border-bottom: 1px solid var(--color-primary-gray);
}
.post4b .clearfix .post_text .txt {
  font-size: 1.4rem;
  font-family: var(--font-family02);
  line-height: 1.4;
}
.post4b .clearfix .post_text .time {
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
  font-family: var(--font-family02);
  background: transparent;
  color: var(--color-primary-black);
}
.post4b .clearfix .post_text .time span {
  line-height: 1.4;
}
.post4b .clearfix .bottom-loop {
  margin: 14px 0 0 0;
  border-bottom: 0;
  padding: 0;
  letter-spacing: 0.04em;
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-family: var(--body-font-Zen-Kaku-Gothic);
  font-weight: 600;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.pagenav {
  max-width: 1200px;
  margin: 80px auto 0;
}
@media (max-width: 1240px) {
  .pagenav {
    padding: 0 4%;
    margin: 40px auto 0;
  }
}

/*------------------------------------------------------
サイトマップ
------------------------------------------------------*/
#sitemap_list .home-item {
  border-top: 1px dotted var(--color-primary-black) !important;
}
#sitemap_list li {
  padding-left: 0 !important;
  padding-block: 20px !important;
  border-bottom: 1px dotted var(--color-primary-black) !important;
}
#sitemap_list li a {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
}

/*------------------------------------------------------
footerCTAエリア削除
------------------------------------------------------*/
.page-thanks #cta,
.page-contact #cta {
  display: none;
}
.page-thanks #footer,
.page-contact #footer {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .page-thanks #footer,
  .page-contact #footer {
    padding-top: 60px;
  }
}

/*------------------------------------------------------
下層：タクソノミー
------------------------------------------------------*/
.single-business .post h2 {
  font-family: var(--font-family02);
  font-size: clamp(2rem, 2.3426061493vw, 3.2rem);
  font-weight: 400;
}
.single-business .post h2 span {
  font-family: var(--font-family02);
}
.single-business .post h2::after {
  content: none;
}
.single-business #sidebar {
  display: none;
}

.custom-single {
  height: 500px !important;
}
@media (max-width: 768px) {
  .custom-single {
    height: 250px !important;
  }
}

.post.business_single {
  padding: 0;
  margin-bottom: var(--px80);
  margin-inline: auto;
}
.post.business_single h1 {
  font-family: var(--body-font-Garamond);
  font-size: clamp(2.4rem, 2.196193265vw, 3rem);
  font-weight: 300;
  text-align: left;
  margin: 0 0 var(--px20) !important;
}
.post.business_single h2 {
  font-size: clamp(2.4rem, 0.2196193265vw, 3rem);
  font-weight: 400;
  text-align: left;
  margin: 0 0 var(--px20) !important;
}
.post.business_single .business_sub_copy {
  font-size: clamp(1.8rem, 1.756954612vw, 2.4rem);
  font-weight: 300;
  text-align: left;
  margin: 0 0 var(--px30) !important;
}
.post.business_single .business_label {
  display: inline-block;
  padding: 4px 16px;
  border-radius: 2px;
  margin-bottom: var(--px30);
}
.post.business_single .business_label.draw-border-clockwise .border-line {
  background: var(--color-primary-black);
}
.post.business_single .business_txt_title {
  font-size: clamp(1.8rem, 2.196193265vw, 3rem);
  font-weight: 300;
  margin: 0 25px var(--px40) !important;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
}
@media (max-width: 767px) {
  .post.business_single .business_txt_title {
    margin: 0 0 var(--px40) !important;
    width: 100%;
  }
}
.post.business_single .business_txt_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: var(--color-primary-black);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  opacity: 0;
}
.post.business_single .business_txt_title.is_active::after {
  opacity: 1;
  -webkit-animation: line_elegant 1.2s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
          animation: line_elegant 1.2s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
@-webkit-keyframes line_elegant {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  80% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@keyframes line_elegant {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  80% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
.post.business_single .business_meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 0 0 24px;
}
.post.business_single .business_meta .post_date {
  font-size: 1.4rem;
  font-family: var(--font-family02);
}
.post.business_single .business_meta .sep {
  opacity: 0.6;
}
.post.business_single .business_meta .post_cat_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.post.business_single .business_meta .post_cat_list .post_cat_item span {
  font-size: 1.4rem;
  padding: 2px 12px;
  border: 1px solid var(--color-primary-gray);
  border-radius: 3px;
  text-decoration: none;
}
.post.business_single .business_main_img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 767px) {
  .post.business_single .business_main_img {
    grid-template-columns: repeat(1, 1fr);
  }
}
.post.business_single .business_main_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.post.business_single .business_content {
  margin: 0 0 28px;
}
.post.business_single .business_content.max1100 {
  max-width: 1100px;
  margin: 0 auto 28px;
}
.post.business_single .business_content p {
  margin: 0 0 14px;
  line-height: 1.9;
}
.post.business_single .business_content h3,
.post.business_single .business_content h4 {
  margin: 24px 0 12px;
  line-height: 1.4;
}
.post.business_single .business_content ul,
.post.business_single .business_content ol {
  margin: 0 0 14px 1.2em;
  padding: 0;
}

.single-business #content,
.archive #content {
  width: 100%;
  float: none;
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--px80w) 0 0;
}
@media (max-width: 1240px) {
  .single-business #content,
  .archive #content {
    padding-inline: 4% !important;
  }
}
.single-business #sidebar,
.archive #sidebar {
  display: none;
  width: 100%;
  float: none;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1240px) {
  .single-business #sidebar,
  .archive #sidebar {
    padding-inline: 4%;
  }
}
.single-business .business_related h2,
.archive .business_related h2 {
  font-size: clamp(2rem, 2.0497803807vw, 2.8rem);
  margin: 0 0 var(--px60) !important;
}
.single-business .business_related .back_list,
.archive .business_related .back_list {
  text-align: center;
}
.single-business .business_related .back_list a,
.archive .business_related .back_list a {
  margin-top: var(--px80);
  display: inline-block;
  padding: 12px 60px;
  border-radius: 100px;
  border: 1px solid var(--color-primary-gray);
  text-align: center;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.single-business .business_related .back_list a:hover,
.archive .business_related .back_list a:hover {
  opacity: 0.7;
}

.single-business .service_filter,
.custom_archive.side .service_filter,
.custom_archive.side.taxonomy .service_filter {
  margin: 0 0 var(--px60);
}
.single-business .service_filter .service_filter_list,
.custom_archive.side .service_filter .service_filter_list,
.custom_archive.side.taxonomy .service_filter .service_filter_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1em;
}
.single-business .service_filter .service_filter_list .service_filter_item,
.custom_archive.side .service_filter .service_filter_list .service_filter_item,
.custom_archive.side.taxonomy .service_filter .service_filter_list .service_filter_item {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.single-business .service_filter .service_filter_list .service_filter_item a,
.custom_archive.side .service_filter .service_filter_list .service_filter_item a,
.custom_archive.side.taxonomy .service_filter .service_filter_list .service_filter_item a {
  display: inline-block;
  padding: 4px 14px;
  border: 1px solid var(--color-primary-gray);
  border-radius: 5px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.single-business .service_filter .service_filter_list .service_filter_item a:hover,
.custom_archive.side .service_filter .service_filter_list .service_filter_item a:hover,
.custom_archive.side.taxonomy .service_filter .service_filter_list .service_filter_item a:hover {
  opacity: 0.7;
}
.single-business .title,
.custom_archive.side .title,
.custom_archive.side.taxonomy .title {
  margin: 0 0 var(--px60) !important;
  font-family: var(--font-family02);
  text-align: center;
  font-size: clamp(1.8rem, 1.756954612vw, 2.4rem);
}
.single-business .post3b,
.custom_archive.side .post3b,
.custom_archive.side.taxonomy .post3b {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  row-gap: 40px;
}
@media (max-width: 767px) {
  .single-business .post3b,
  .custom_archive.side .post3b,
  .custom_archive.side.taxonomy .post3b {
    margin-top: 30px;
    gap: 30px;
    row-gap: 30px;
    grid-template-columns: repeat(1, 1fr);
  }
}
.single-business .post3b::after,
.custom_archive.side .post3b::after,
.custom_archive.side.taxonomy .post3b::after {
  content: none;
}
.single-business .post3b .clearfix,
.custom_archive.side .post3b .clearfix,
.custom_archive.side.taxonomy .post3b .clearfix {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 0;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-bottom: 0 !important;
  padding: 0;
}
@media (max-width: 767px) {
  .single-business .post3b .clearfix,
  .custom_archive.side .post3b .clearfix,
  .custom_archive.side.taxonomy .post3b .clearfix {
    width: 100%;
  }
}
.single-business .post3b .clearfix a,
.custom_archive.side .post3b .clearfix a,
.custom_archive.side.taxonomy .post3b .clearfix a {
  display: block;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.single-business .post3b .clearfix a:hover img,
.custom_archive.side .post3b .clearfix a:hover img,
.custom_archive.side.taxonomy .post3b .clearfix a:hover img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  opacity: 1;
}
.single-business .post3b .clearfix a:hover h3,
.custom_archive.side .post3b .clearfix a:hover h3,
.custom_archive.side.taxonomy .post3b .clearfix a:hover h3 {
  text-decoration: underline;
}
.single-business .post3b .clearfix .post_img,
.custom_archive.side .post3b .clearfix .post_img,
.custom_archive.side.taxonomy .post3b .clearfix .post_img {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--color-primary-gray);
  border-radius: 10px;
  max-width: 100% !important;
}
.single-business .post3b .clearfix .post_img img,
.custom_archive.side .post3b .clearfix .post_img img,
.custom_archive.side.taxonomy .post3b .clearfix .post_img img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 560/400;
}
.single-business .post3b .clearfix .post_img,
.custom_archive.side .post3b .clearfix .post_img,
.custom_archive.side.taxonomy .post3b .clearfix .post_img {
  overflow: hidden;
}
.single-business .post3b .clearfix .post_text,
.custom_archive.side .post3b .clearfix .post_text,
.custom_archive.side.taxonomy .post3b .clearfix .post_text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 14px;
  width: 100%;
  border-bottom: 1px solid var(--color-primary-gray);
}
.single-business .post3b .clearfix .post_text .txt,
.custom_archive.side .post3b .clearfix .post_text .txt,
.custom_archive.side.taxonomy .post3b .clearfix .post_text .txt {
  font-size: 1.4rem;
  font-family: var(--font-family02);
  line-height: 1.4;
}
.single-business .post3b .clearfix .post_text .time,
.custom_archive.side .post3b .clearfix .post_text .time,
.custom_archive.side.taxonomy .post3b .clearfix .post_text .time {
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
  font-family: var(--font-family02);
  background: transparent;
  color: var(--color-primary-black);
}
.single-business .post3b .clearfix .post_text .time span,
.custom_archive.side .post3b .clearfix .post_text .time span,
.custom_archive.side.taxonomy .post3b .clearfix .post_text .time span {
  line-height: 1.4;
}
.single-business .post3b .clearfix .bottom-loop,
.custom_archive.side .post3b .clearfix .bottom-loop,
.custom_archive.side.taxonomy .post3b .clearfix .bottom-loop {
  margin: 14px 0 0 0;
  border-bottom: 0;
  padding: 0;
  letter-spacing: 0.04em;
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  font-family: var(--body-font-Zen-Kaku-Gothic);
  font-weight: 600;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.ttl_guide {
  font-size: clamp(2.4rem, 2.9282576867vw, 4rem) !important;
  font-family: var(--font-family02) !important;
  margin-bottom: 60px !important;
  margin-top: 0 !important;
  display: block !important;
  text-align: center;
}
@media (max-width: 767px) {
  .ttl_guide {
    margin-bottom: 20px !important;
  }
}

.commn_link_area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
@media (max-width: 767px) {
  .commn_link_area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.commn_link_area a {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  height: 300px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  .commn_link_area a {
    height: 230px;
  }
}
.commn_link_area a:hover img {
  -webkit-transform: scale(1.12);
          transform: scale(1.12);
  opacity: 1;
}
.commn_link_area a:hover p {
  background: var(--color-primary-black);
  color: #fff;
}
.commn_link_area a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.commn_link_area a p {
  font-size: clamp(1.5rem, 1.1713030747vw, 1.6rem);
  position: absolute;
  bottom: 10px;
  right: 10px;
  padding: 8px 35px 9px;
  background: rgb(255, 255, 255);
  border: 1px solid var(--color-primary-black);
  border-radius: 5px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.pointer_none {
  pointer-events: none !important;
}/*# sourceMappingURL=style.css.map */