/*
Theme Name: RECRUITE SITE
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

/* 固定ページのタイトルを非表示 */
.page-header {
  display: none;
}

/* パンくずリストを非表示 */
.breadcrumb {
  display: none;
}

/*
 Webフォント
 ファイル場所:
*/
@font-face {
  font-family: "Barlow Semi Condensed";
  src: url("fonts/BarlowSemiCondensed-Bold.woff2") format("woff2"),
    url("fonts/BarlowSemiCondensed-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Semi Condensed";
  src: url("fonts/BarlowSemiCondensed-SemiBold.woff2") format("woff2"),
    url("fonts/BarlowSemiCondensed-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("fonts/ZenKakuGothicNew-Bold.woff2") format("woff2"),
    url("fonts/ZenKakuGothicNew-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("fonts/ZenKakuGothicNew-Medium.woff2") format("woff2"),
    url("fonts/ZenKakuGothicNew-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  src: url("fonts/ZenKakuGothicNew-Regular.woff2") format("woff2"),
    url("fonts/ZenKakuGothicNew-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/*-----------------
　共通フォント設定
-----------------*/
.barlow-bold {
  font-family: "Barlow Semi Condensed";
  font-weight: bold;
  font-style: normal;
}

.barlow-semibold {
  font-family: "Barlow Semi Condensed";
  font-weight: 600;
  font-style: normal;
}

.zenkaku-bold {
  font-family: "Zen Kaku Gothic New";
  font-weight: bold;
  font-style: normal;
}

.zenkaku-medium {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-style: normal;
}

p {
  font-family: "Zen Kaku Gothic New";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  color: #231815;
  line-height: 2;
  letter-spacing: 0.05em;
}

p.p-14 {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.top .about-us h1,
.top .jobs h1,
.education h1 {
  font-family: "Barlow Semi Condensed";
  font-weight: 600;
  font-style: normal;
  font-size: 60px;
  color: #099081;
  line-height: 1;
  margin-bottom: 18px;
}

.top .about-us h2,
.top .jobs h2 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-style: normal;
  font-size: 29px;
  color: #231815;
  line-height: 1.68;
  margin-bottom: 18px;
}

.top .about-us h3 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-style: normal;
  font-size: 27px;
  color: #099081;
  line-height: 1;
}

.top .about-us h4,
.top .jobs h4,
.education h4 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-style: normal;
  font-size: 16px;
  color: #231815;
  line-height: 1;
}

.top .about-us h5 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-style: normal;
  font-size: 19px;
  color: #099081;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}
/*------------------------------
　共通設定 レスポンシブ対応
-------------------------------*/
@media screen and (max-width: 576px) {
  /* スマホ表示でコンテンツ文章を左寄せにする */
  h2 {
    text-align: left !important;
  }

  p {
    text-align: left !important;
    letter-spacing: 0;
    line-height: 1.6em;
  }

  /* 1行に収まるよう仮名文字の間隔を調整 */
  .kana {
    letter-spacing: -0.16em;
  }
}
/*==========
 TOP >> Jobs
===========*/
.top .jobs h3 {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-style: normal;
  font-size: 21px;
  color: #231815;
  line-height: 1.42;
}

/* リストのスタイルを調整 */
.top .jobs ul {
  display: flex;
  list-style: none;
}

.top .jobs li {
  position: relative;
  padding-left: 40px;
}
.top .jobs .dx-engineer li::before {
  content: "●";
  position: absolute;
  left: 16px;
  top: 0;
  font-size: 20px;
  color: #abcd03;
}

.top .jobs .application-engineer li::before {
  content: "●";
  position: absolute;
  left: 16px;
  top: 0;
  font-size: 20px;
  color: #099081;
}

.top .jobs .security-engineer li::before {
  content: "●";
  position: absolute;
  left: 16px;
  top: 0;
  font-size: 20px;
  color: #f18e2c;
}

/* Crosstalkの名前 spanで色・weightカスタマイズ */
.p-green {
  color: #099081;
  font-weight: bold;
}
.p-orange {
  color: #f18e2c;
  font-weight: bold;
}

/*---------------
 背景画像
---------------*/
/* 水玉模様 */
.costom-bg-dot {
  background-image: url("img/bg-dot.webp");
  background-repeat: repeat;
  background-size: 168px auto;
}

/* グレーリタッチ */
.costom-bg-gray {
  background-image: url("img/bg-gray.webp");
  background-repeat: repeat;
  background-size: 168px auto;
}

/* ライムグリーンリタッチ */
.costom-bg-green {
  background-image: url("img/bg-green.webp");
  background-repeat: repeat;
  background-size: 168px auto;
}

/* Top > about us 幾何学模様 */
.about-us-bg {
  background-image: url("img/about-us1.webp"), url("img/about-us2.webp"),
    url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: 100% auto, 100% auto, 168px auto;
  background-position: top left, bottom left, top left;
}

/* Top > jobs 幾何学模様 */
.jobs-bg {
  background-image: url("img/jobs1.webp"), url("img/jobs2.webp"),
    url("img/jobs3.webp"), url("img/bg-gray.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-size: 100% auto, 100% auto, 100% auto, 168px auto;
  background-position: top left, bottom 700px left, bottom left, top left;
}

/* Top > education 幾何学模様 */
.education-bg {
  background-image: url("img/education1.webp"), url("img/education2.webp"),
    url("img/education3.webp"), url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-size: 10vw auto, 8vw auto, 3vw auto, 168px auto;
  background-position: top 160px left, top 60px right 60px,
    bottom 60px left 160px, top left;
}

/* educationとpeoplesの間の画像 */
.bg-deco {
  position: absolute;
  z-index: 2;
  width: 10vw;
  right: 10vw;
  top: -6vw;
}
/* Top > peoples 幾何学模様 */
.peoples-bg {
  background-image: url("img/peoples1.webp"), url("img/peoples2.webp"),
    url("img/peoples3.webp"), url("img/peoples4.webp"), url("img/peoples5.webp"),
    url("img/peoples6.webp"), url("img/bg-green.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    no-repeat, repeat;
  background-size: 10vw auto, 8vw auto, 8vw auto, 6vw auto, 10vw auto, 6vw auto,
    168px auto;
  background-position: top 160px left, top 360px right 60px, top 700px left 80px,
    bottom 600px right 260px, bottom 360px left 160px, bottom 60px right 260px,
    top left;
}

/* Top > Q & A 幾何学模様 */
.qa-bg {
  background-image: url("img/qa1.webp"), url("img/qa2.webp"),
    url("img/qa3.webp"), url("img/qa4.webp"), url("img/qa5.webp"),
    url("img/bg-gray.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    repeat;
  background-size: 10vw auto, 8vw auto, 6vw auto, 3vw auto, 6vw auto, 168px auto;
  background-position: top 100px left 60px, top 130px right 130px,
    bottom 220px left, bottom 30px left 600px, bottom 30px right 200px, top left;
}

/* Top > 募集要項 幾何学模様 */
.boshu-bg {
  background-image: url("img/boshu1.webp"), url("img/boshu2.webp"),
    url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, repeat;
  background-size: 10vw auto, 10vw auto, 168px auto;
  background-position: top 100px left, bottom 200px right 60px, top left;
}

/* Jobs Introduction */
.jobs-introduction-bg {
  background-image: url("img/jobintroduction1.webp"),
    url("img/jobintroduction2.webp"), url("img/jobintroduction3.webp"),
    url("img/jobintroduction4.webp"), url("img/jobintroduction5.webp"),
    url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    repeat;
  background-size: 6vw auto, 6vw auto, 6vw auto, 4vw auto, 30vw auto, 168px auto;
  background-position: top 400px left 60px, top 220px right 60px,
    bottom 400px left 60px, bottom 50px left 70px, bottom 20px right 160px,
    top left;
}

/* Education system */
.educationsystem-bg {
  background-image: url("img/educationsystem1.webp"),
    url("img/educationsystem2.webp"), url("img/educationsystem3.webp"),
    url("img/educationsystem4.webp"), url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
  background-size: 12vw auto, 12vw auto, 11vw auto, 8vw auto, 168px auto;
  background-position: top 400px left, top 200px right, bottom 80px left 70px,
    bottom 20px right 160px, top left;
}

/* Interview */
.interview-bg {
  background-image: url("img/interview1.webp"), url("img/interview2.webp"),
    url("img/interview3.webp"), url("img/interview4.webp"),
    url("img/interview5.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 8vw auto, 10vw auto, 4vw auto, 8vw auto, 11vw auto;
  background-position: top 100px right 60px, top 360px left,
    top 600px right 70px, bottom 200px left 60px, bottom 0px right;
}

/* Crosstalk */
.crosstalk-bg {
  background-image: url("img/crosstalk1.webp"), url("img/crosstalk2.webp"),
    url("img/crosstalk3.webp"), url("img/crosstalk4.webp"),
    url("img/crosstalk5.webp"), url("img/crosstalk6.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    no-repeat;
  background-size: 8vw auto, 10vw auto, 7vw auto, 8vw auto, 10vw auto, 11vw auto;
  background-position: top 160px left 60px, top 100px right 60px,
    top 1000px left 80px, top 1000px right 260px, bottom 120px left,
    bottom 10px right 60px;
}

/* New graduate */
.newgraduate-bg {
  background-image: url("img/newgraduate1.webp"), url("img/newgraduate2.webp"),
    url("img/newgraduate3.webp"), url("img/newgraduate4.webp"),
    url("img/newgraduate5.webp"), url("img/newgraduate6.webp"),
    url("img/newgraduate7.webp"), url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    no-repeat, no-repeat, repeat;
  background-size: 8vw auto, 10vw auto, 10vw auto, 10vw auto, 8vw auto,
    10vw auto, 10vw auto, 168px auto;
  background-position: top 240px left, top 400px right 60px, top 1000px left,
    top 1400px right, bottom 680px right, bottom 80px left, bottom right 60px,
    top left;
}

/* Career */
.career-bg {
  background-image: url("img/newgraduate1.webp"), url("img/newgraduate2.webp"),
    url("img/newgraduate3.webp"), url("img/newgraduate4.webp"),
    url("img/newgraduate5.webp"), url("img/newgraduate6.webp"),
    url("img/newgraduate7.webp"), url("img/bg-dot.webp");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
    no-repeat, no-repeat, repeat;
  background-size: 8vw auto, 10vw auto, 10vw auto, 10vw auto, 8vw auto,
    10vw auto, 10vw auto, 168px auto;
  background-position: top 240px left, top 400px right 60px, top 1000px left,
    top 1400px right, bottom 680px right, bottom 80px left, bottom right 60px,
    top left;
}

/*---------------
 背景画像 レスポンシブ対応
---------------*/
@media screen and (max-width: 768px) {
  /* Top > about us 幾何学模様 */
  .about-us-bg {
    background-image: url("img/about-us1.webp"), url("img/about-us1.webp"),
      url("img/about-us2.webp"), url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-size: 150% auto, 150% auto, 150% auto, 168px auto;
    background-position: top left, top 100px right -30px, bottom -10px right,
      top left;
  }

  /* Top > jobs 幾何学模様 */
  .jobs-bg {
    background-image: url("img/jobs1.webp"), url("img/jobs1.webp"),
      url("img/jobs2.webp"), url("img/jobs3.webp"), url("img/jobs3.webp"),
      url("img/bg-gray.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      repeat;
    background-size: 150% auto, 150% auto, 150% auto, 150% auto, 150% auto,
      168px auto;
    background-position: top left -40px, top 200px right -20px,
      top 800px left -28px, bottom 60px right -60px, bottom left -60px, top left;
  }

  /* Top > education 幾何学模様 */
  .education-bg {
    background-image: url("img/education1.webp"), url("img/education2.webp"),
      url("img/education3.webp"), url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-size: 10vw auto, 8vw auto, 10vw auto, 168px auto;
    background-position: top 160px left, top 560px right 60px, bottom 12px left,
      top left;
  }

  /* educationとpeoplesの間の画像 */
  .bg-deco {
    position: absolute;
    z-index: 2;
    width: 10vw;
    right: 10vw;
    top: -6vw;
  }
  /* Top > peoples 幾何学模様 */
  .peoples-bg {
    background-image: url("img/peoples1.webp"), url("img/peoples2.webp"),
      url("img/peoples3.webp"), url("img/peoples4.webp"),
      url("img/peoples5.webp"), url("img/peoples6.webp"),
      url("img/bg-green.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      no-repeat, repeat;
    background-size: 12vw auto, 12vw auto, 8vw auto, 6vw auto, 16vw auto,
      6vw auto, 168px auto;
    background-position: top 1100px left, top 120px right 60px,
      bottom 600px left, bottom 100px right 40px, bottom 160px left 20px,
      top 1160px left 10px, top left;
  }

  /* Top > Q & A 幾何学模様 */
  .qa-bg {
    background-image: url("img/qa1.webp"), url("img/qa2.webp"),
      url("img/qa3.webp"), url("img/qa4.webp"), url("img/qa4.webp"),
      url("img/qa5.webp"), url("img/qa3.webp"), url("img/qa1.webp"),
      url("img/bg-gray.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      no-repeat, no-repeat, no-repeat, repeat;
    background-size: 20vw auto, 16vw auto, 10vw auto, 12vw auto, 10vw auto,
      14vw auto, 12vw auto, 20vw auto, 168px auto;
    background-position: top 60px left 20px, top 120px right 10px,
      bottom 2000px left, top 980px left, top 900px right, top 1200px right,
      bottom left, bottom right 20px, top left;
  }

  /* Top > 募集要項 幾何学模様 */
  .boshu-bg {
    background-image: url("img/boshu1.webp"), url("img/boshu2.webp"),
      url("img/boshu2.webp"), url("img/boshu1.webp"), url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: 18vw auto, 18vw auto, 20vw auto, 18vw auto, 168px auto;
    background-position: top 40px left, bottom right, bottom 300px left,
      top 700px right 20px, top left;
  }

  /* Jobs Introduction */
  .jobs-introduction-bg {
    background-image: url("img/jobintroduction1.webp"),
      url("img/jobintroduction1.webp"), url("img/jobintroduction1.webp"),
      url("img/jobintroduction2.webp"), url("img/jobintroduction2.webp"),
      url("img/jobintroduction3.webp"), url("img/jobintroduction4.webp"),
      url("img/jobintroduction5.webp"), url("img/jobintroduction5.webp"),
      url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: 14vw auto, 14vw auto, 14vw auto, 12vw auto, 12vw auto,
      12vw auto, 16vw auto, 20vw auto, 50vw auto, 168px auto;
    background-position: top 10px left, top 840px right 20px, bottom 580px left,
      top 30px right, top 850px left, top 300px left, bottom 50px left,
      bottom 600px right 60px, bottom 20px right, top left;
  }

  /* Education system */
  .educationsystem-bg {
    background-image: url("img/educationsystem1.webp"),
      url("img/educationsystem2.webp"), url("img/educationsystem3.webp"),
      url("img/educationsystem4.webp"), url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: 14vw auto, 20vw auto, 20vw auto, 16vw auto, 168px auto;
    background-position: top 150px left, top right, bottom 550px left 30px,
      bottom 20px right 120px, top left;
  }

  /* Interview */
  .interview-bg {
    background-image: url("img/interview1.webp"), url("img/interview2.webp"),
      url("img/interview3.webp"), url("img/interview4.webp"),
      url("img/interview5.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 20vw auto, 30vw auto, 20vw auto, 20vw auto, 20vw auto;
    background-position: top 590px right 60px, bottom left, top 1116px left,
      bottom 560px left 145px, top right;
  }

  /* Crosstalk */
  .crosstalk-bg {
    background-image: url("img/crosstalk1.webp"), url("img/crosstalk2.webp"),
      url("img/crosstalk3.webp"), url("img/crosstalk4.webp"),
      url("img/crosstalk5.webp"), url("img/crosstalk6.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      no-repeat;
    background-size: 20vw auto, 20vw auto, 20vw auto, 16vw auto, 20vw auto,
      26vw auto;
    background-position: bottom left 100px, top 680px right,
      bottom 350px right 20px, top 1585px right 60px, bottom 1060px left,
      top 66px right 40px;
  }

  /* New graduate */
  .newgraduate-bg {
    background-image: url("img/newgraduate1.webp"), url("img/newgraduate2.webp"),
      url("img/newgraduate3.webp"), url("img/newgraduate4.webp"),
      url("img/newgraduate5.webp"), url("img/newgraduate6.webp"),
      url("img/newgraduate7.webp"), url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      no-repeat, no-repeat, repeat;
    background-size: 16vw auto, 20vw auto, 20vw auto, 20vw auto, 16vw auto,
      16vw auto, 14vw auto, 168px auto;
    background-position: bottom 800px left, bottom right 10px, bottom 400px left,
      bottom 65px right -10px, bottom 680px right, bottom 30px left,
      bottom 480px right 20px, top left;
  }

  /* Career */
  .career-bg {
    background-image: url("img/newgraduate2.webp"), url("img/newgraduate3.webp"),
      url("img/newgraduate4.webp"), url("img/newgraduate5.webp"),
      url("img/newgraduate6.webp"), url("img/newgraduate7.webp"),
      url("img/bg-dot.webp");
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat,
      no-repeat, repeat;
    background-size: 18vw auto, 14vw auto, 14vw auto, 8vw auto, 12vw auto,
      18vw auto, 168px auto;
    background-position: top 860px right, top 1900px left, top 1770px right,
      bottom 680px right, bottom 40px left, bottom 10px right 80px, top left;
  }
}

/*-----------------
 レイアウト調整
------------------*/
/* トップ画面 */
figure.aboutus {
  max-width: 480px !important;
}

.is-layout-flex {
  gap: 8px 36px;
}

.custom-grid-800 {
  max-width: 800px !important;
  margin-left: auto;
  margin-right: auto;
}

/* 画像がはみ出すレイアウト */
.position-relative {
  position: relative;
  overflow: visible;
}

.width-900 {
  width: 90%;
  max-width: 900px;
}

figure.img-shift-top-left-34 {
  position: absolute;
  top: -34px;
  left: -34px;
  z-index: 1;
}

figure.img-shift-top-right-34 {
  position: absolute;
  top: -34px;
  right: -34px;
  z-index: 1;
}

.image-overlap-vertical {
  margin-top: -20px;
  margin-bottom: -20px;
  overflow: visible;
}

.image-overlap-vertical img {
  display: block;
  transform: translateY(-15px) scaleY(1.1);
  transform-origin: center top;
  object-fit: cover;
}

/* TOP > jobs > レスポンシブで横並びブロックをwrap */
@media screen and (max-width: 768px) {
  .sp-wrap {
    flex-direction: column !important;
  }

  .sp-wrap-reverse {
    flex-direction: column-reverse !important;
  }

  figure.img-shift-top-left-34 {
    width: 30%;
    top: -14px;
    left: -14px;
  }

  figure.img-shift-top-right-34 {
    width: 26%;
    top: -14px;
    right: -14px;
  }

  .dx-engineer .wp-block-group.is-layout-flex.is-vertical,
  .security-engineer .wp-block-group.is-layout-flex.is-vertical {
    padding-left: 20px;
    padding-right: 20px !important;
  }

  .jobs ul.wp-block-list {
    padding-left: 0;
    padding-bottom: 10px;
  }

  figure.img-sp-60 {
    width: 60vw;
  }
}

/* Jobs > list */
ul.wp-block-list {
  flex-wrap: wrap;
}

/* New graduate */
.center-columns {
  margin-left: auto;
  margin-right: auto;
  width: fit-content;
}

/* Interview セクションのレイアウト */
.interview-group,
.crosstalk-group {
  padding: 0 6% !important;
}

figure.wide-image img {
  max-width: 120%;
}

figure.crosstalk-img img {
  margin-top: -55px;
  margin-right: -55px;
  float: right;
}

/* Education-system */
.kakonokenshuurei {
  position: absolute;
  top: 760px;
  right: 0;
  width: 300px;
}

@media screen and (max-width: 767.98px) {
  .kakonokenshuurei {
    width: 200px;
    position: absolute;
    top: 365px;
    right: 0;
  }
}

/*----------------------------
 ヘッダーメニューのレイアウト
------------------------------*/
/* フォントカスタマイズ */
/* メインメニュー */
/* スクロール時もlogo画像を表示する */
.header_scrolled .header-top,
.header_scrolled .site-header-logo,
.header_scrolled .site-header-sub,
.header_scrolled .vk-campaign-text {
  display: inline;
}

.site-header {
  position: fixed;
  top: 0;
}

.header_scrolled .site-header {
  width: 100%;
  max-width: 100%;
  animation: none !important;
}

.site-body {
  margin-top: 90px !important;
}

.global-nav-list > li .global-nav-name {
  font-family: "Barlow Semi Condensed";
  font-weight: 600;
  font-style: normal;
  color: #231815;
  font-size: 18px;
  letter-spacing: 0.1em;
  display: block;
  width: 100%;
  white-space: nowrap;
}

/* サブ項目 */
ul.sub-menu.acc-child-close {
  background-color: #ffffffe6 !important;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  left: 50%;
  margin-left: -80px;
  width: 160px;
}

ul.sub-menu.acc-child-close li a {
  font-family: "Barlow Semi Condensed";
  font-weight: 600;
  font-style: normal;
  font-size: 14px;
  color: #006465;
  letter-spacing: 0.1em;
}

/* サブ項目の説明 */
.menu-description {
  display: block;
  font-size: 12px;
  color: #006465;
  margin-top: 2px;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif; /* 好みに応じて */
}

div#site-header-container {
  max-width: 90%;
}

.entry-button {
  float: right;
  max-width: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
}

.entry-button img {
  width: 100%;
  height: auto;
  min-width: 80px;
}

.site-header-logo img {
  min-width: 150px;
}

div#vk-mobile-nav-menu-btn {
    top: 60px !important;
}

@media screen and (min-width: 992px) and (max-width: 1360px) {
	div#site-header-container {
    margin: 0;
    max-width: 100%;
    }
	
	.entry-button img {
      min-width: 120px;
    }
	
	h1.site-header-logo {
        margin-right: 0.8rem !important;
    }
}

/* (min-width: 551px) and  */
@media screen and (max-width: 991.98px) {
  div#site-header-container {
    max-width: 100%;
  }

  .site-header-container {
    position: fixed !important;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding-right: 0;
    margin-right: 6px;
    background-color: #fff;
  }

  .site-header-logo {
    flex-basis: 65%;
  }

  .entry-button {
    flex-basis: 35%;
  }
}

/*----------------------------
 フッターメニューのレイアウト
------------------------------*/
footer.site-footer {
  display: flex;
  background-color: #231815;
  color: #fff;
  text-align: center;
}

footer.site-footer li.menu-item {
  border-right: 0.9px solid #fff;
}

footer.site-footer li.menu-item a {
  color: #fff;
}

nav.footer-nav {
  width: 50%;
}

.container.site-footer-copyright {
  padding-top: 10px;
}

@media screen and (max-width: 768px) {
  .site-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer-nav-list li {
    display: inline-block;
  }

  footer.site-footer li.menu-item {
    border: none;
  }

  footer.site-footer ul li.menu-item:first-child a::after {
    content: "｜";
    margin-left: 5px;
    color: #fff;
    display: inline;
  }
}

/*----------------------------
 CONTACTページ
 Snow Monkey Forms お問い合わせ 
------------------------------*/
.contact-form {
  margin-top: 40px;
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
  max-width: 800px;
}

.smf-item__label__text {
  font-family: "Zen Kaku Gothic New";
  font-weight: bold;
  font-style: normal;
  color: #231815;
  text-align: left;
  letter-spacing: 0.3em;
}

.smf-item__label__text::after {
  content: "※";
  font-size: 0.8em;
  vertical-align: super;
  margin-left: 4px;
  font-family: "Zen Kaku Gothic New";
  font-weight: bolder;
  font-size: 12px;
  color: #231815;
}

/* 除外：no-mark クラスが親にある場合は非表示 */
.no-mark .smf-item__label__text::after {
  content: none;
}

select {
  margin: 0;
}

/* .smf-checkboxes-control {
  text-align: center !important;
} */

/* 希望連絡方法のボタンをカスタマイズ */
/* .smf-label input[type="radio"] {
  display: none;
} */

/* .smf-radio-buttons-control__control {
  display: flex;
} */

/* .radiobutton label {
  display: inline-block;
  width: 150px;
  padding: 10px 20px;
  margin: 5px;
  background-color: #fff;
  border: 1px solid rgb(204, 204, 204);
  border-radius: 5px;
  text-align: center;
  transition: all 0.3s ease;
} */

/* チェックされたラジオの親に JavaScript で active クラスが付くので、それにスタイルを当てる */
/* .smf-label.active label {
  background-color: #099081;
  color: #fff;
  border-color: #099081;
} */

input.smf-text-control__control::placeholder,
textarea.smf-textarea-control__control::placeholder {
  color: #d3d3d3;
}

.smf-action .smf-button-control__control {
  background-image: none;
  background-color: #231815;
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.2em;
  padding: 0.5em 1em;
  border-radius: 40px;
  width: auto;
}

.smf-button-control__control:hover {
  background-color: #a194a6;
}

.smf-button-control__control[data-action="confirm"]::after,
.smf-button-control__control[data-action="complete"]::after {
  content: "→";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  color: #231815;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 1.2rem;
  margin-left: 1em;
}

.smf-button-control__control[data-action="back"]::before {
  content: "←";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  color: #231815;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  margin-left: 0;
  margin-right: 1em;
  order: -1;
}

/* 生年月日入力欄のgap: 0; */
.no-gap {
  gap: 0;
}

/* 確認画面で年月日を表示させる */
form.snow-monkey-form[data-screen="confirm"] p.display {
  display: inline-block !important;
  margin-bottom: 0;
}

a#page_top {
    bottom: 80px;
}

/* reCAPTCHAのアイコンを非表示にする */
/* .grecaptcha-badge {
  visibility: hidden !important;
} */

/* 確認画面のreCAPTCHAメッセージを非表示 */
/* form.snow-monkey-form[data-screen="confirm"] p {
  display: none;
} */

/*-------------------------
  レスポンシブ
-------------------------*/
@media screen and (max-width: 768px) {
  /* Top */
  .is-layout-flex {
    gap: 8px 10px;
  }
}
@media screen and (max-width: 576px) {
  .qa-card figure.wp-block-image.size-full {
    width: 90%;
    margin: auto;
  }

  .sp-80 figure {
    width: 80%;
    margin: auto;
  }

  /* CONTACTページ */
  p.display {
    padding-right: 4px !important;
  }
}
