@charset "UTF-8";
/*
■書体等

◯大見出し
.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}
◯見出し・リード・本文強調
.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
◯本文
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

◯英語（DIN 代替）
.oswald-medium {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-optical-sizing: auto;
  font-style: normal;
}

◯コード表示用（等幅フォント）（/site-elements/）｜※「＃＃エレメント」でのみ読み込み
.roboto-mono-medium {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  font-optical-sizing: auto;
  font-style: normal;
}
*/


/* ■色名等（#16進数カラーコード） */
/* var(--color-xxxxxx) */
:root {
  --color-darkblue: #00129D;
  --color-darkcyan: #00B2C1;

  --color-brightcyan: #56EFFC;

  --color-mint: #38D9B4;
  --color-lilac: #C26DC6;
  --color-cornflower: #718DFF;
  --color-lime: #D0F457;
  --color-lightblue: #5DBEEA;

  --color-azure: #0477BF;
  --color-navy: #002850;
  --color-cobalt: #0C61B0;
  --color-skyblue: #16B5FC;

  --color-deepsky: #00C4FF;
  --color-powderblue: #8BD5EB;

  --color-olive: #A9BA24;
  --color-steelblue: #3599BE;

  --color-black: #000000;
  --color-white: #FFFFFF;
  --color-red: #EE3030;

  --color-iceblue: #E1EDEF;

  --color-deepsky-93per: #00C4FFee;
  --color-iceblue-93per: #E1EDEFee;
  --color-iceblue-50per: #E1EDEF7f;

  --color-white-50per: #FFFFFF7f;
  --color-white-70per: #FFFFFFb3;
  --color-white-80per: #FFFFFFcd;
  --color-white-90per: #FFFFFFe6;
  --color-marker: #F9F940;

  --color-gray: #E7E7E7;
  --color-lightgray: #F7F7F7;

  --color-darkgray: #5F5F5F;
  --color-ashgray: #9F9F9F;
  --color-paleblue: #88A8CA;

  --color-palecyan: #ECF7FA;

  /*
  --color-base: #302924;

  --color-green: #415758;
  --color-orange: #EB7A48;
  --color-turquoise: #70B9BF;
  --color-cream: #EDE1CA;
  --color-lightgray: #F4F2EC;

  --color-gray: #707070;
  */
}

/* ■角丸（標準・大） */
:root {
  --round-basic: 2.0em;
  /* border-radius: var(--round-basic); */
  --round-large: 4.0em;
  /* border-radius: var(--round-large); */
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  :root {
    --round-basic: 1.0em;
    --round-large: 2.0em;
  }
}


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 567px) {}

body * {
  word-wrap: break-word;
  overflow-wrap: break-word;
}


.site {
  position: relative;
  display: block;
  width: 100%;
  z-index: 0;
}


section {}
article {}


h1, h2, h3, h4, h5, h6 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  /* font-weight: 700; */
  /* font-feature-settings: "palt"; */
}


/* 本文 */
/*
p {
  margin: 1.5em 0;
  text-align: justify;
}
*/

a {
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}

/* タッチスクリーン（タブレット・スマートフォン）でリンクタップ時の反転を軽減 */
@media screen and (max-width: 767px) {
  /* タップハイライトを消す（Android Chrome / iOS 等） */
  /* -webkit-tap-highlight-color: Chrome / Android / iOS */
  /* tap-highlight-color: 仕様に合わせて念のため */
  a, a img {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
  }
  /* 選択や長押しでのメニュー表示を抑止 */
  /* -webkit-user-select: テキスト選択を無効化 */
  /* -webkit-touch-callout: iOSでの長押しメニューを抑止 */
  a, a img {
    /*
    -webkit-user-select: none;
    user-select: none;
    */
    -webkit-touch-callout: none;
  }
  /* 元の画像が一瞬リフレッシュされるようなちらつきを抑える（レンダリング改善） */
  /* -webkit-transform: レイヤー分離してちらつきを軽減 */
  /* -webkit-user-drag: 画像のドラッグを防止（必要に応じて） */
  a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-user-drag: none;
    user-drag: none;
  }
  /* クリック感の改善 */
  /* ブラウザの二重タップ拡大などを抑制 */
  a {
    touch-action: manipulation;
  }
}


/* PCでの tel: 無効 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/*
img {
  width: 100%;
}
*/

/*
.pure-g,
.pure-g > div {
  font-family: inherit!important;
  font-weight: inherit!important;
  font-style: inherit!important;
}
*/


/* テキスト選択時のテキスト色・背景色 */
/* Firefox以外 */
::selection {
  /*color: var(--color-white);*/
  color: #FFFFFF;
  background-color: #AAAAAA;
}
/* Firefox */
::-moz-selection {
  /*color: var(--color-white);*/
  color: #FFFFFF;
  background-color: #AAAAAA;
}


/* ログイン時の［編集］ボタン */
.edit {
  display: inline-block;
  width: 100%;
  text-align: right;
}
.edit * {
  background: none!important;
  font-size: 0.9em!important;
  padding: 0 0 1.0em!important;
  margin: 0!important;
  display: inline-block!important;
  width: fit-content!important;
}
.edit a::after {
  display: none!important;
}


/* margin調整：最初と最後の要素のmarginを0（.snow-monkey-form の下層は体裁崩れ防止のため除外） */
* > *:not(:is(.snow-monkey-form *)):first-child {
  margin-top: 0!important;
}
* > *:not(:is(.snow-monkey-form *)):last-child {
  margin-bottom: 0!important;
}


/* テキスト中央・右寄せ */
.txt-center {
  text-align: center;
}
.txt-right {
  text-align: right;
}




/* ##############################################
##
##  パンくずリスト（breadcrumb.php）
##
############################################## */
.breadcrumb {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
  z-index: 10;
}
.breadcrumb .bc_wrap {
  display: block;
  position: relative;
  font-size: 0.8em;
  text-align: left;
  width: 100%;
  /*max-width: 1500px;*/
  padding: 0;
  margin: 0 auto;
}
.breadcrumb .bcn_sect {
  display: inline-block;
  position: relative;
}
.breadcrumb .bcn_sect::after {
  display: inline-block;
  position: relative;
  content: '';
  color: var(--color-black);
  border: none;
  border-left: 1px solid;
  width: 1px;
  height: 1.0em;
  transform: rotate(15deg) translate(0, 0.15em);
  margin: 0 1.0em;
}
.breadcrumb a {
  color: var(--color-black);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  トップページ（site-top.php）
##
############################################## */

/* ##############################################
##  トップページ｜ファーストビュー（hero）｜背景（固定）
############################################## */
/* トップページ｜ファーストビュー（hero）｜背景（固定） */
.top_hero_bg {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1000;
}
.top_hero_bg .hero_bg_move-object {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -10;
}
.top_hero_bg .hero_bg_move-object .object {
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
}
.top_hero_bg .hero_bg_move-object .object.tech {
  top: 15%;
  left: 45%;
  width: 45vh;
  height: 45vh;
}
.top_hero_bg .hero_bg_move-object .object.idea {
  top: 40%;
  left: 70%;
  width: 75vh;
  height: 75vh;
}
.top_hero_bg .hero_bg_move-object .object.exp {
  top: 65%;
  left: 55%;
  width: 65vh;
  height: 65vh;
}
.top_hero_bg .hero_bg_move-object .object:has(span) {
  z-index: 10;
}
.top_hero_bg .hero_bg_move-object .object.bg {
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  /*opacity: 0.8;*/
  mix-blend-mode: multiply;
  content: '';
}
.top_hero_bg .hero_bg_move-object .object.tech.bg {
  background-image: url('../images/top-hero_object-tech.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top-hero_object-tech.png');*/
  z-index: 3;
}
.top_hero_bg .hero_bg_move-object .object.idea.bg {
  background-image: url('../images/top-hero_object-idea.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top-hero_object-idea.png');*/
  z-index: 2;
}
.top_hero_bg .hero_bg_move-object .object.exp.bg {
  background-image: url('../images/top-hero_object-exp.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top-hero_object-exp.png');*/
  z-index: 1;
}
.top_hero_bg .hero_bg_move-object .object span {
  display: block;
  position: absolute;
  width: max-content;
  transform: translate(-50%, -50%);
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.4em;
  text-transform: uppercase;
  color: var(--color-white);
  opacity: 0.8;
}
.top_hero_bg .hero_bg_move-object .object.tech span {
  top: 50%;
  left: 35%;
}
.top_hero_bg .hero_bg_move-object .object.idea span {
  top: 70%;
  left: 80%;
}
.top_hero_bg .hero_bg_move-object .object.exp span {
  top: 55%;
  left: 20%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_hero_bg .hero_bg_move-object .object.tech {
    top: 20%;
    left: 25%;
    width: 55vw;
    height: 55vw;
  }
  .top_hero_bg .hero_bg_move-object .object.idea {
    top: 30%;
    left: 75%;
    width: 65vw;
    height: 65vw;
  }
  .top_hero_bg .hero_bg_move-object .object.exp {
    top: 45%;
    left: 45%;
    width: 70vw;
    height: 70vw;
  }

  .top_hero_bg .hero_bg_move-object .object.tech span {
    top: 50%;
    left: 50%;
  }
  .top_hero_bg .hero_bg_move-object .object.idea span {
    top: 50%;
    left: 55%;
  }
  .top_hero_bg .hero_bg_move-object .object.exp span {
    top: 50%;
    left: 40%;
  }
}
@media screen and (max-width: 567px) {}

/* 背景オブジェクト｜有機的なサイズ変化 */
.top_hero_bg .hero_bg_move-object .object.bg {
  animation-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
  animation-iteration-count: infinite;
  animation-direction: normal;
  will-change: transform;
}
/* technology */
.top_hero_bg .hero_bg_move-object .object.tech.bg {
  animation-name: hero-bg-tech, hero-bg-blur;
  animation-duration: 6.1s;
}
/* idea */
.top_hero_bg .hero_bg_move-object .object.idea.bg {
  animation-name: hero-bg-idea, hero-bg-blur;
  animation-duration: 9.7s;
}
/* expert eye */
.top_hero_bg .hero_bg_move-object .object.exp.bg {
  animation-name: hero-bg-exp, hero-bg-blur;
  animation-duration: 7.9s;
}
@keyframes hero-bg-blur {
  0% {
    filter: blur(10px);
  }
  7% {
    filter: blur(10px);
  }
  45% {
    filter: blur(25px);
  }
  55% {
    filter: blur(35px);
  }
  93% {
    filter: blur(10px);
  }
  100% {
    filter: blur(10px);
  }
}
@keyframes hero-bg-tech {
  0% {
    transform: translate(-50%, -50%) scale(0.98425, 1.009);
    opacity: 0.9;
  }
  25% {
    transform: translate(-50%, -50%) scale(1.02025, 0.98425);
    opacity: 0.8;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.009, 1.02475);
    opacity: 0.7;
  }
  75% {
    transform: translate(-50%, -50%) scale(0.97525, 1.0045);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(0.98425, 1.009);
    opacity: 0.9;
  }
}
@keyframes hero-bg-idea {
  0% {
    transform: translate(-50%, -50%) scale(1.01125, 0.99325);
    opacity: 0.9;
  }
  25% {
    transform: translate(-50%, -50%) scale(0.991, 0.98425);
    opacity: 0.8;
  }
  50% {
    transform: translate(-50%, -50%) scale(0.98425, 1.009);
    opacity: 0.7;
  }
  75% {
    transform: translate(-50%, -50%) scale(1.009, 1.01575);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.01125, 0.99325);
    opacity: 0.9;
  }
}
@keyframes hero-bg-exp {
  0% {
    transform: translate(-50%, -50%) scale(0.98875, 1.01125);
    opacity: 0.9;
  }
  25% {
    transform: translate(-50%, -50%) scale(1.018, 1.0045);
    opacity: 0.8;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.009, 0.982);
    opacity: 0.7;
  }
  75% {
    transform: translate(-50%, -50%) scale(0.982, 0.99325);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(0.98875, 1.01125);
    opacity: 0.9;
  }
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  @keyframes hero-bg-tech {
    0% {
      transform: translate(-50%, -50%) scale(0.9895, 1.006);
      opacity: 0.9;
    }
    25% {
      transform: translate(-50%, -50%) scale(1.0135, 0.9895);
      opacity: 0.8;
    }
    50% {
      transform: translate(-50%, -50%) scale(1.006, 1.0165);
      opacity: 0.7;
    }
    75% {
      transform: translate(-50%, -50%) scale(0.9835, 1.003);
      opacity: 0.8;
    }
    100% {
      transform: translate(-50%, -50%) scale(0.9895, 1.006);
      opacity: 0.9;
    }
  }
  @keyframes hero-bg-idea {
    0% {
      transform: translate(-50%, -50%) scale(1.0075, 0.9955);
      opacity: 0.9;
    }
    25% {
      transform: translate(-50%, -50%) scale(0.994, 0.9895);
      opacity: 0.8;
    }
    50% {
      transform: translate(-50%, -50%) scale(0.9895, 1.006);
      opacity: 0.7;
    }
    75% {
      transform: translate(-50%, -50%) scale(1.006, 1.0105);
      opacity: 0.8;
    }
    100% {
      transform: translate(-50%, -50%) scale(1.0075, 0.9955);
      opacity: 0.9;
    }
  }
  @keyframes hero-bg-exp {
    0% {
      transform: translate(-50%, -50%) scale(0.9925, 1.0075);
      opacity: 0.9;
    }
    25% {
      transform: translate(-50%, -50%) scale(1.012, 1.003);
      opacity: 0.8;
    }
    50% {
      transform: translate(-50%, -50%) scale(1.006, 0.988);
      opacity: 0.7;
    }
    75% {
      transform: translate(-50%, -50%) scale(0.988, 0.9955);
      opacity: 0.8;
    }
    100% {
      transform: translate(-50%, -50%) scale(0.9925, 1.0075);
      opacity: 0.9;
    }
  }
}
@media screen and (max-width: 567px) {}

.top_hero_bg .hero_bg_static {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(var(--color-white-50per), var(--color-white-50per)), url('../images/bg_top-hero.jpg');
  /*background-image: linear-gradient(var(--color-white-50per), var(--color-white-50per)), url('<?php echo get_template_directory_uri(); ?>/images/bg_top-hero.jpg');*/
  background-repeat: no-repeat;
  background-position: left 50% top 50%;
  background-size: cover;
  z-index: -20;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜共通
############################################## */
/* トップページ｜共通｜タイトル */
#site-top .site-top-title {
  width: max-content;
  max-width: 100%;
  margin-left: 0;
  margin-bottom: 2.0em;
}
#site-top .site-top-title.center {
  margin-left: auto;
  margin-right: auto;
}
#site-top .site-top-title.right {
  margin-left: auto;
  margin-right: 0;
}
#site-top .site-top-title :is(.entry-title_en, .entry-title_jp) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  padding: 0;
  margin: 0;
  margin-left: auto;
  font-size: 1.0em;
}
#site-top .site-top-title.left :is(.entry-title_en, .entry-title_jp) {}
#site-top .site-top-title.center .entry-title_jp {
  margin-left: auto;
  margin-right: auto;
}
#site-top .site-top-title.right .entry-title_jp {}
#site-top .site-top-title .entry-title_en {}
#site-top .site-top-title .entry-title_en span {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 8.0em;
  text-transform: uppercase;
  line-height: 1.2;
  background-image: url('../images/title_bg/title_bg_min-0.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-0.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: multiply;
  user-select: none;
}
#site-top .site-top-title .entry-title_en.min span {
  font-size: 4.5em;
}
#site-top .site-top-title .entry-title_jp {}
#site-top .site-top-title .entry-title_jp span {
  font-weight: 500;
  font-size: 1.3em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #site-top .site-top-title :is(.entry-title_en, .entry-title_en.min) span {
    font-size: 4.5em;
  }
  #site-top .site-top-title.left :is(.entry-title_en, .entry-title_jp) {
    margin-left: 0;
    margin-right: auto;
  }
  #site-top .site-top-title .entry-title_jp span {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 567px) {
  #site-top .site-top-title :is(.entry-title_en, .entry-title_en.min) span {
    font-size: 3.5em;
  }
  #site-top .site-top-title .entry-title_jp span {
    font-size: 1.1em;
  }
}

/* トップページ｜共通｜本文2段 */
#site-top .separate_wrap {
  position: relative;
  display: flex;
  gap: 4.0em;
}
#site-top .separate_wrap.reverse {
  flex-direction: row-reverse;
}
#site-top .separate_wrap .separate_body {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
#site-top .separate_wrap .separate_body.center {
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #site-top .separate_wrap,
  #site-top .separate_wrap.reverse {
    flex-direction: column;
    gap: 3.0em;
  }
}
@media screen and (max-width: 567px) {}

/* トップページ｜共通｜リード */
#site-top .top_body-lead {
  padding-left: 2.0em;
}
#site-top .top_body-lead p {}
#site-top .top_body-lead p span {
  font-weight: 500;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #site-top .top_body-lead {
    padding-left: 0;
  }
}
@media screen and (max-width: 567px) {}

/* トップページ｜共通｜リンクリスト（ul） */
#site-top .top_body-link-list {
  position: relative;
  display: block;
  width: 100%;
  list-style-type: none;
  padding: 0;
  padding-left: 2.0em;
  margin: 0;
  margin-top: 2.0em;
}
#site-top .top_body-link-list li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
#site-top .top_body-link-list li::before {
  display: block;
  position: absolute;
  top: 0.45em;
  left: -1.5em;
  content: '';
  width: 1.0em;
  height: 1.0em;
  background: linear-gradient(var(--color-darkblue), var(--color-darkblue)) center / 0.8em 1px no-repeat, linear-gradient(var(--color-darkblue), var(--color-darkblue)) center / 1px 0.8em no-repeat;
}
#site-top .top_body-link-list li a {
  font-weight: 500;
  color: var(--color-darkblue);
  text-decoration: none;
  transition: color 0.1s ease;
}
#site-top .top_body-link-list li a:hover {
  color: var(--color-darkcyan);
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #site-top .top_body-link-list {
    padding-left: 1.5em;
  }
}
@media screen and (max-width: 567px) {}

#site-top .top_body-link-list.nega li::before {
  background: linear-gradient(var(--color-white), var(--color-white)) center / 0.8em 1px no-repeat, linear-gradient(var(--color-white), var(--color-white)) center / 1px 0.8em no-repeat;
}
#site-top .top_body-link-list.nega li a {
  color: var(--color-white);
}
#site-top .top_body-link-list.nega li a:hover {
  color: var(--color-white-80per);
}

/* トップページ｜共通（works カード） */
#site-top .card-cstm {
  position: relative;
  display: flex;
  gap: 2.0em;
  flex-wrap: wrap;
  line-height: 1.7;
}
#site-top .card-cstm .tile-item {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 2.0em * 2) / 3);
}
#site-top .card-cstm .tile-item .item-card {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  text-decoration: none;
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
#site-top .card-cstm .tile-item .item-card:hover {
  opacity: 0.8;
}
#site-top .card-cstm .tile-item .item-card .card-image {
  flex-grow: 0;
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
#site-top .card-cstm .tile-item .item-card .card-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#site-top .card-cstm .tile-item .item-card .card-content {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
}
#site-top .card-cstm .tile-item .item-card .card-content .card-title {
  display: block;
  position: relative;
  width: 100%;
}
#site-top .card-cstm .tile-item .item-card .card-content .card-title span {
  color: var(--color-black);
  font-weight: 500;
  font-size: 1.0em;
}
#site-top .card-cstm .tile-item .item-card .card-content .card-date {
  display: block;
  position: relative;
  width: 100%;
}
#site-top .card-cstm .tile-item .item-card .card-content .card-date span {
  color: var(--color-black);
  font-size: 1.0em;
}
#site-top .top_works .card-cstm .tile-item .item-card .card-content .card-date {
  display: none;
}
@media screen and (max-width: 1023px) {
  #site-top .card-cstm .tile-item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  #site-top .card-cstm .tile-item {
    max-width: calc((100% - 2.0em * 2) / 3);
  }
}
@media screen and (max-width: 567px) {
  #site-top .card-cstm {
    gap: 1.5em;
  }
  #site-top .card-cstm .tile-item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}


/* ##############################################
##  トップページ｜ファーストビュー（hero）
############################################## */
/* トップページ｜ファーストビュー（hero） */
.top_hero {
  display: block;
  position: relative;
  width: 100%;
}
.top_hero .entry-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 95vh;
  padding: 6.0em 4.0em 4.0em;
}
.top_hero .entry-content .container {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(50vh - 6.0em);
  /*max-width: 1400px;*/
  max-width: 100%;
}
.top_hero .container_hero {
  position: relative;
  display: flex;
  gap: 2.0em;
  /*width: 100%;*/
  width: 43%;
  max-width: 800px;
}
.top_hero .container_hero .title_hero {
  flex-grow: 1;
}
.top_hero .container_hero .title_hero .main-title {
  font-size: 1.0em;
  line-height: 1.5;
  margin-bottom: 2.0em;
}
.top_hero .container_hero .title_hero .main-title span {
  font-weight: 700;
  font-size: 2.7em;
}
.top_hero .container_hero .title_hero .main-text {}
.top_hero .container_hero .title_hero .main-text span {
  font-weight: 500;
  font-size: 1.1em;
}
@media screen and (max-width: 1023px) {
  .top_hero .container_hero {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top_hero .entry-content {
    padding: 5.0em 2.0em 3.0em;
    background: linear-gradient(to bottom, transparent 50%, var(--color-white-50per), var(--color-white-80per));
  }
  .top_hero .entry-content .container {
    padding-top: calc(60vh - 5.0em);
  }
  .top_hero .container_hero {
    flex-direction: column;
  }
  .top_hero .container_hero .title_hero .main-title span {
    font-size: 2.1em;
  }
}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜Surpriser
############################################## */
/* トップページ｜Surpriser */
.top_surpriser {
  display: block;
  position: relative;
  width: 100%;
}
.top_surpriser .entry-content {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 95vh;
  padding: 8.0em 4.0em 4.0em;
  background-color: var(--color-paleblue);
  background-blend-mode: multiply;
  background-image: url('../images/bg_top-surpriser.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-surpriser.jpg');*/
  background-repeat: no-repeat;
  background-position: left 50% top 0%;
  background-size: cover;
}
.top_surpriser .entry-content .container {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
  max-width: 1000px;
  color: var(--color-white);
}
.top_surpriser .sub_surpriser {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 1.0em;
}
.top_surpriser .sub_surpriser::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 210px;
  padding-top: 210px;
  background-image: url('../images/top-surpriser.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top-surpriser.png');*/
  background-repeat: no-repeat;
  background-position: left 50% top 50%;
  background-size: contain;
  content: '';
  z-index: -1;
}
.top_surpriser .sub_surpriser span {
  font-weight: 500;
  font-size: 1.2em;
}
.top_surpriser .title_surpriser {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 2.0em;
}
.top_surpriser .title_surpriser span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 13.75em;
  text-transform: uppercase;
  line-height: 1.0;
  user-select: none;
}
.top_surpriser .title_surpriser a {
  position: relative;
  display: block;
  width: 100%;
  text-decoration: none;
  opacity: 1.0;
  transition: opacity 0.3s ease;
}
.top_surpriser .title_surpriser a:hover {
  opacity: 0.8;
}
.top_surpriser .title_surpriser a img {}
.top_surpriser .title_surpriser img {
  display: block;
  width: 100%;
}
.top_surpriser .lead_surpriser {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 2.0em;
}
.top_surpriser .lead_surpriser span {
  font-weight: 500;
  font-size: 1.2em;
}
.top_surpriser .text_surpriser {
  display: block;
  position: relative;
  width: 100%;
}
.top_surpriser .text_surpriser p {}
.top_surpriser .text_surpriser p span {}
@media screen and (max-width: 1140px) {
  .top_surpriser .title_surpriser span {
    font-size: calc((100vw - 4.0em * 2) / 4.6);
  }
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_surpriser .entry-content {
    min-height: 75vh;
    padding: 5.0em 2.0em 3.0em;
  }
  .top_surpriser .sub_surpriser::before {
    width: 150px;
    padding-top: 150px;
  }
  .top_surpriser .title_surpriser span {
    font-size: calc((100vw - 2.0em * 2) / 4.7);
  }
}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜ニュース・トピックス（News）
############################################## */
/* トップページ｜ニュース・トピックス（News） */
.top_news {
  display: block;
  position: relative;
  width: 100%;
}
.top_news .entry-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 3.0em 4.0em 3.0em;
}
.top_news .entry-content .container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_news .entry-content {
    padding: 3.0em 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

.top_news .news_title_sub {
  margin-bottom: 1.5em;
}
.top_news .news_title_sub h3 {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-size: 1.0em;
}
.top_news .news_title_sub h3 span {
  position: relative;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.5em;
  text-transform: capitalize;
  line-height: 1.5;
  text-align: center;
  color: var(--color-darkblue);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.top_news .news-body .news-list {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.top_news .news-body .news-list ul li > :is(a.link, .nolink) {
  flex-wrap: wrap;
  column-gap: 1.0em;
  row-gap: 0.5em;
  padding: 1.0em 1.5em;
}
.top_news .news-body .news-list ul li > :is(a.link, .nolink) .content {
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜金沢機工とは（About Us）
############################################## */
/* トップページ｜金沢機工とは（About Us） */
.top_about-us {
  display: block;
  position: relative;
  width: 100%;
}
.top_about-us .entry-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 4.0em 4.0em 4.0em;
}
.top_about-us .entry-content .container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_about-us .entry-content {
    padding: 4.0em 2.0em 4.0em;
  }
}
@media screen and (max-width: 567px) {}

.top_about-us {
  background-image: url('../images/bg_top-about-us.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-about-us.png');*/
  background-repeat: no-repeat;
  background-size: auto calc(100% - 5.0em);
  background-position: 80% calc(100% - 1.0em);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_about-us {
    margin-bottom: -0.05px;
    background-size: calc(100% - 2.0em) auto;
    background-position: 50% calc(100% - 1.0em);
  }
}
@media screen and (max-width: 567px) {}

.top_about-us .top_about-us_image {
  position: relative;
  display: flex;
  gap: 1.0em;
  width: 100%;
}
.top_about-us .top_about-us_image .image {
  flex-grow: 1;
  position: relative;
  display: block;
  width: calc((100% - 1.0em * 2) / 3);
  padding-top: calc((100% - 1.0em * 2) / 3 * 1.5);
}
.top_about-us .top_about-us_image .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜事業・サービスを知る（Business）
############################################## */
/* トップページ｜事業・サービスを知る（Business） */
.top_business {
  display: block;
  position: relative;
  width: 100%;
}
.top_business .entry-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 4.0em 4.0em 4.0em;
}
.top_business .entry-content .container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_business .entry-content {
    padding: 4.0em 2.0em 4.0em;
  }
}
@media screen and (max-width: 567px) {}

.top_business .top_business_summary {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 6.0em;
}
.top_business .top_business_summary .summary_wrap {
  position: relative;
  display: flex;
  gap: 0em;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  color: var(--color-white);
}
.top_business .top_business_summary .summary_wrap .summary_items {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  width: 100%;
  max-width: calc((100% - 0em * 2) / 3);
  padding: 4.0em;
  color: var(--color-white);
  text-decoration: none;
  opacity: 1.0;
  z-index: 0;
  transition: opacity 0.2s ease;
}
.top_business .top_business_summary .summary_wrap .summary_items:hover {
  opacity: 0.8;
}
.top_business .top_business_summary .summary_wrap .summary_items::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 3.0em * 2);
  height: calc(100% + 3.0em * 2);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.93;
  content: '';
  z-index: -1;
}
.top_business .top_business_summary .summary_wrap .summary_items:nth-of-type(1)::before {
  background-image: url('../images/bg_top-business_summary-1.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-business_summary-1.png');*/
}
.top_business .top_business_summary .summary_wrap .summary_items:nth-of-type(2)::before {
  background-image: url('../images/bg_top-business_summary-2.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-business_summary-2.png');*/
}
.top_business .top_business_summary .summary_wrap .summary_items:nth-of-type(3)::before {
  background-image: url('../images/bg_top-business_summary-3.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-business_summary-3.png');*/
}
.top_business .top_business_summary .summary_wrap .summary_items:nth-of-type(4)::before {
  background-image: url('../images/bg_top-business_summary-4.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-business_summary-4.png');*/
}
.top_business .top_business_summary .summary_wrap .summary_items:nth-of-type(5)::before {
  background-image: url('../images/bg_top-business_summary-5.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-business_summary-5.png');*/
}
.top_business .top_business_summary .summary_wrap .summary_items:nth-of-type(6)::before {
  background-image: url('../images/bg_top-business_summary-6.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-business_summary-6.png');*/
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_head {
  flex-grow: 0;
  position: relative;
  display: flex;
  gap: 1.0em;
  flex-direction: column;
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_num {
  flex-grow: 0;
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_num span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 4.0em;
  line-height: 1.2;
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_title {
  flex-grow: 0;
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_title span {
  font-weight: 500;
  font-size: 1.5em;
  line-height: 1.5;
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_text {
  flex-grow: 1;
}
.top_business .top_business_summary .summary_wrap .summary_items .summary_text span {}
@media screen and (max-width: 1023px) {
  .top_business .top_business_summary .summary_wrap .summary_items {
    max-width: calc((100% - 0em * 1) / 2);
  }
}
@media screen and (max-width: 767px) {
  .top_business .top_business_summary {
    margin-top: 1.0em;
  }
  .top_business .top_business_summary .summary_wrap {
    gap: 2.0em;
    flex-direction: column;
  }
  .top_business .top_business_summary .summary_wrap .summary_items {
    gap: 1.0em;
    max-width: calc((100% - 2.0em * 0) / 1);
    padding: 1.0em 1.5em 1.5em;
    background: linear-gradient(45deg, var(--color-darkblue), var(--color-brightcyan));
    border-radius: 1.25em;
  }
  .top_business .top_business_summary .summary_wrap .summary_items::before {
    display: none;
  }
  .top_business .top_business_summary .summary_wrap .summary_items .summary_head {
    flex-direction: row;
    align-items: center;
  }
  .top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_num span {
    font-size: 3.0em;
  }
  .top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_title {
    flex-grow: 1;
  }
  .top_business .top_business_summary .summary_wrap .summary_items .summary_head .summary_title span {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜実績・導入事例（Works）
############################################## */
/* トップページ｜実績・導入事例（Works） */
.top_works {
  display: block;
  position: relative;
  width: 100%;
}
.top_works .entry-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 4.0em 4.0em 4.0em;
}
.top_works .entry-content .container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_works .entry-content {
    padding: 4.0em 2.0em 4.0em;
  }
}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜商材検索（Merchandise）
############################################## */
/* トップページ｜商材検索（Merchandise） */
.top_merchandise {
  display: block;
  position: relative;
  width: 100%;
}
.top_merchandise .entry-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 4.0em 4.0em 4.0em;
}
.top_merchandise .entry-content .container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_merchandise .entry-content {
    padding: 4.0em 2.0em 4.0em;
  }
}
@media screen and (max-width: 567px) {}


/* ##############################################
##  トップページ｜採用情報
############################################## */
/* トップページ｜採用情報 */
.top_recruit {
  display: block;
  position: relative;
  width: 100%;
}
.top_recruit .top_recruit_joinus {
  position: relative;
  display: block;
  width: 100%;
  padding: 4.0em 4.0em 0;
  margin-bottom: 1.0em;
}
.top_recruit .top_recruit_joinus .recruit_joinus_wrap {
  max-width: 1400px;
}
.top_recruit .top_recruit_joinus .recruit_joinus_wrap .joinus {
  position: relative;
  display: block;
  width: 100%;
  min-height: 70px;
  padding-top: 7%;
  background-image: url('../images/top_join-us.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_join-us.svg');*/
  background-repeat: no-repeat;
  background-position: left 15% top 50%;
  background-size: contain;
}

.top_recruit a:has(.recruit_wrap) {
  position: relative;
  display: flex;
  width: 100%;
  padding: 6.0em 4.0em 0;
  color: var(--color-white);
  text-decoration: none;
  background-image: url('../images/bg_top-recruit.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-recruit.jpg');*/
  background-repeat: no-repeat;
  background-position: left 15% top 50%;
  background-size: cover;
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
.top_recruit a:has(.recruit_wrap):hover {
  opacity: 0.9;
}
.top_recruit .recruit_wrap {
  flex-grow: 1;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
  min-height: 40vh;
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
}
.top_recruit .recruit_wrap .recruit_wrap_main {
  flex-grow: 0;
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  transform: translate(0, 0.5em);
}
.top_recruit .recruit_wrap .recruit_wrap_main .lead_recruit {
  font-weight: 500;
  font-size: 1.2em;
  margin-bottom: 1.0em;
}
.top_recruit .recruit_wrap .recruit_wrap_main .title_recruit {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.top_recruit .recruit_wrap .recruit_wrap_main .title_recruit .title_jp {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  padding: 0;
  margin: 0;
  margin-left: auto;
  font-size: 1.0em;
}
.top_recruit .recruit_wrap .recruit_wrap_main .title_recruit .title_jp span {
  font-weight: 500;
  font-size: 1.0em;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.top_recruit .recruit_wrap .recruit_wrap_main .title_recruit .title_en {}
.top_recruit .recruit_wrap .recruit_wrap_main .title_recruit .title_en span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: calc(100vw / 13);
  text-transform: capitalize;
  line-height: 1.0;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_recruit a:has(.recruit_wrap) {
    padding: 5.0em 2.0em 0;
  }
  .top_recruit .recruit_wrap {
    min-height: 37vh;
  }
  .top_recruit .recruit_wrap .recruit_wrap_main .title_recruit .title_en span {
    font-size: 4.5em;
  }
}
@media screen and (max-width: 567px) {
  .top_recruit .recruit_wrap .recruit_wrap_main .lead_recruit {
    font-size: 1.1em;
  }
  .top_recruit .recruit_wrap .recruit_wrap_main .title_recruit {
    margin-left: auto;
  }
  .top_recruit .recruit_wrap .recruit_wrap_main .title_recruit .title_en span {
    /*font-size: calc(100vw / 5.75);*/
    font-size: calc((100vw - 2.0em * 2) / 5.25);
  }
}


/* ##############################################
##  トップページ｜バナー（オリジナル商品 など）
############################################## */
/* トップページ｜バナー（オリジナル商品 など） */
.top_bnr {
  display: block;
  position: relative;
  width: 100%;
}
.top_bnr .entry-content {
  position: relative;
  display: block;
  width: 100%;
  padding: 3.0em 4.0em 3.0em;
}
.top_bnr .entry-content .container {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_bnr .entry-content {
    padding: 3.0em 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

.top_bnr .bnr_items {
  position: relative;
  display: flex;
  gap: 1.0em;
  flex-wrap: wrap;
}
.top_bnr .bnr_items .item {
  position: relative;
  display: flex;
  width: calc((100% - 1.0em * 2) / 3);
  max-width: 100%;
}
.top_bnr .bnr_items .item a {
  position: relative;
  display: block;
  width: 100%;
  text-decoration: none;
}
.top_bnr .bnr_items .item a:hover {}
.top_bnr .bnr_items .item a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 1 / 4);
}
.top_bnr .bnr_items .item a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1.0;
  transition: opacity 0.15s ease;
}
.top_bnr .bnr_items .item a:hover .image img {
  opacity: 0.8;
}
.top_bnr .bnr_items .item a .text {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 0.25em;
}
.top_bnr .bnr_items .item a .text span {
  color: var(--color-black);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_bnr .bnr_items .item {
    width: calc((100% - 1.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .top_bnr .bnr_items .item {
    width: calc((100% - 1.0em * 0) / 1);
  }
}




/* ##############################################
##
##  ヘッダー（header.php）
##
############################################## */
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ヘッダー｜メイン（header-main.php）
##
############################################## */
header {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  /*transition: 0.05s;*/
}
.header-main {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
  padding: 1.0em 2.0em;
  background: transparent;
  /*z-index: 2000;*/
}
.header-main .header-main__logo,
.header-main .header-main__btns {}

/* メニュー（header）｜社名ロゴ */
.header-main .header-main__logo {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.header-main .header-main__logo :is(h1, p) {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
  font-weight: 400;
  font-size: 1.0em;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
.header-main .header-main__logo :is(h1, p) a {
  display: block;
  position: relative;
}
.header-main .header-main__logo :is(h1, p) a img {
  display: block;
  position: relative;
  width: 100%;
  max-width: 350px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {
  .header-main .header-main__logo :is(h1, p) a img {
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .header-main .header-main__logo :is(h1, p) a img {
    max-width: 250px;
  }
}
@media screen and (max-width: 567px) {
  .header-main {
    padding: 1.0em 1.0em;
  }
  .header-main .header-main__logo :is(h1, p) a img {
    max-width: 200px;
  }
}

/* メニュー（header）｜ボタン（翻訳・お問い合わせ） */
.header-main .header-main__btns {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 0.75em;
  justify-content: flex-end;
  align-items: center;
}
.header-main .header-main__btns .btn {
  flex-grow: 0;
  position: relative;
  width: max-content;
  max-width: 100%;
  cursor: pointer;
}
.header-main .header-main__btns .btn .icon {
  display: block;
  position: relative;
  width: 2.25em;
  padding-top: 100%;
}
.header-main .header-main__btns .btn .icon.mail {}
.header-main .header-main__btns .btn .icon.phone {}
.header-main .header-main__btns .btn .icon.translate {}
.header-main .header-main__btns .btn .icon img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  -webkit-user-select: none; user-select: none;
}
/* 翻訳ボタン（クリックでアイコンを傾ける） */
.trans_btn .icon.translate img {
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 0.2s ease;
}
.trans_btn.active .icon.translate img {
  transform: translate(-50%, -50%) rotate(23.5deg);
}
/* 翻訳ボタン（クリックで表示する） */
.trans_btn .translate-item {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0%);
  width: max-content;
  max-width: 140px;
  padding-left: 3px;
  pointer-events: none;
  -webkit-user-select: none; user-select: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.trans_btn.active .translate-item {
  pointer-events: initial;
  -webkit-user-select: initial; user-select: initial;
  opacity: 1.0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ヘッダーメニュー（header-menu.php）
##
############################################## */
/* ##############################################
##  メニュー
############################################## */
/* メニュー（メニューアイコン 単体） */
.header-menu_wrap {
  display: flex;
  justify-content: flex-end;
  gap: 2.0em;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  max-height: 100vh;
  padding-right: 2.0em;
  z-index: 4000;
  pointer-events: none;
  -webkit-user-select: none; user-select: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  isolation: isolate; /* 擬似要素のレイヤー管理 */
}
.header-menu_wrap::before {
  display: block;
  position: absolute;
  inset: 0;
  background: var(--color-white);
  opacity: 0.7;
  content: '';
  z-index: -2;
}
.header-menu_wrap::after {
  position: absolute;
  inset: 0;
  background-image: url('../images/bg_hd-menu.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_hd-menu.svg');*/
  background-repeat: no-repeat;
  background-position: 105% 50%; /* 左右・上下位置 */
  background-size: auto 120%; /* contain から上下拡大 */
  pointer-events: none;
  opacity: 0.93;
  content: '';
  z-index: -1;
}
.header-menu_wrap.open {
  pointer-events: initial;
  -webkit-user-select: initial; user-select: initial;
  opacity: 1.0;
}
.header-menu_wrap .hd-menu {
  flex-grow: 0;
}
.header-menu_wrap .hd-icon {
  flex-grow: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .header-menu_wrap {
    gap: 1.0em;
    padding-right: 1.0em;
  }
  .header-menu_wrap::after {
    background-position: 50% 50%; /* 左右・上下位置 */
    opacity: 1.0;
  }
  .header-menu_wrap .hd-menu {
    flex-grow: 1;
  }
  .header-menu_wrap .hd-icon {
    padding-top: 4.0em;
  }
}

/* メニュー｜ヘッダーメニュー */
.hd-menu {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.0em;
  width: max-content;
  max-width: 100%;
  height: 100vh;
  padding: 5.0em 3.0em 5.0em;
  margin: 0;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.hd-menu .hd-menu__items {
  position: relative;
  display: flex;
  gap: 2.0em;
}
.hd-menu .hd-menu__items :is(.hd-menu__item-title, .hd-menu__item-list) {
  position: relative;
  display: block;
  width: 50%;
  min-width: 200px;
  max-width: 240px;
}
.hd-menu .hd-menu__items .hd-menu__item-title {
  flex-grow: 1;
}
.hd-menu .hd-menu__items .hd-menu__item-list {
  flex-grow: 1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .hd-menu {
    padding: 3.0em 2.0em 8.0em;
  }
  .hd-menu .hd-menu__items {
    flex-direction: column;
    gap: 1.0em;
  }
  .hd-menu .hd-menu__items :is(.hd-menu__item-title, .hd-menu__item-list) {
    width: 100%;
    max-width: initial;
  }
}
@media screen and (max-width: 567px) {}

/* メニュー｜ヘッダーメニュー（体裁） */
.hd-menu .hd-menu__list-child {
  position: relative;
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.hd-menu .hd-menu__list-child > li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
.hd-menu .hd-menu__list-child {
  padding-top: 0;
  padding-left: 1.5em;
}
.hd-menu .hd-menu__list-child > li {
  padding-bottom: 0.5em;
}
.hd-menu .hd-menu__list-child > li:last-child {
  padding-bottom: 0;
}
.hd-menu .hd-menu__list-child > li::before {
  display: block;
  position: absolute;
  top: 0.45em;
  left: -1.5em;
  content: '';
  width: 1.0em;
  height: 1.0em;
  background:
    linear-gradient(var(--color-brightcyan), var(--color-brightcyan)) center / 0.8em 1px no-repeat,
    linear-gradient(var(--color-brightcyan), var(--color-brightcyan)) center / 1px 0.8em no-repeat;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.hd-menu .hd-menu__title {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 2.2em;
  text-transform: uppercase;
  line-height: 1.4;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: screen;
}
.hd-menu .hd-menu__title:is(.min-1, .min-6) {
  background-image: url('../images/title_bg/title_bg_min-1.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-1.jpg');*/
}
.hd-menu .hd-menu__title:is(.min-2, .min-7) {
  background-image: url('../images/title_bg/title_bg_min-2.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-2.jpg');*/
}
.hd-menu .hd-menu__title:is(.min-3, .min-8) {
  background-image: url('../images/title_bg/title_bg_min-3.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-3.jpg');*/
}
.hd-menu .hd-menu__title:is(.min-4, .min-9) {
  background-image: url('../images/title_bg/title_bg_min-4.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-4.jpg');*/
}
.hd-menu .hd-menu__title:is(.min-5, .min-10) {
  background-image: url('../images/title_bg/title_bg_min-5.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-5.jpg');*/
}

.hd-menu a {
  color: var(--color-white);
  text-decoration: none;
}
.hd-menu a:hover {
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .hd-menu .hd-menu__title {
    -webkit-text-fill-color: var(--color-white-50per); color: var(--color-white-50per);
  }
}
@media screen and (max-width: 567px) {}

/* メニュー｜バナー */
.hd-menu .hd-menu__recruit {
  position: relative;
  display: block;
  width: 100%;
  max-width: calc(480px + 2.0em);
}
.hd-menu .hd-menu__recruit a {}
.hd-menu .hd-menu__recruit a img {
  position: relative;
  display: block;
  width: 100%;
}

/* メニュー｜スクロールバー（体裁） */
.header-menu_wrap {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-white-50per) transparent;
}
.header-menu_wrap::-webkit-scrollbar {
  width: 8px;
}
.header-menu_wrap::-webkit-scrollbar-track {
  background: transparent;
}
.header-menu_wrap::-webkit-scrollbar-thumb {
  background: var(--color-white-50per);
  border-radius: 999px;
}

/* メニュー｜お問い合わせアイコン */
.hd-icon {
  position: relative;
  display: flex;
  gap: 1.0em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 4.0em;
  height: 50vh;
}
.hd-icon .btn {
  flex-grow: 0;
  position: relative;
  width: max-content;
  max-width: 100%;
  cursor: pointer;
}
.hd-icon .btn .icon {
  display: block;
  position: relative;
  width: 2.5em;
  padding-top: 100%;
  background-color: var(--color-white);
  border-radius: 50%;
}
.hd-icon .btn .icon img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  max-width: 2.0em;
  -webkit-user-select: none; user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .hd-icon {
    width: 3.5em;
    min-width: 3.5em;
  }
}


/* ##############################################
##  メニュー｜ボタン
############################################## */
/* メニュー｜ボタン（PC、タブレット・SP共通） */
.menu-btn {
  display: block;
  position: fixed;
  top: 50%;
  right: 2.0em;
  transform: translate(0, -50%);
  width: 4.0em;
  height: 4.0em;
  cursor: pointer;
  z-index: 5000;
}
.menu-btn .menu-btn__wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.menu-btn .menu-btn__wrap::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  height: 95%;
  background-color: var(--color-white);
  border-radius: 50%;
  content: '';
  z-index: -1;
  transition: width 0.2s ease, height 0.2s ease;
}
.menu-btn .menu-btn__wrap :is(.bar-1, .bar-2) {
  display: block;
  position: absolute;
  transition: top 0.2s ease, left 0.2s ease, transform 0.2s ease, width 0.2s ease;
}
.menu-btn .menu-btn__wrap .bar-1 {
  top: 40%;
  left: 65%;
  transform: translate(-50%, -50%) rotate(0deg);
  width: 30%;
  height: 1px;
  background-color: var(--color-lilac);
}
.menu-btn .menu-btn__wrap .bar-2 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  width: 50%;
  height: 1px;
  background-color: var(--color-cornflower);
}
.menu-btn .menu-btn__wrap .txt {
  display: block;
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: 500;
  font-size: 0.8em;
  line-height: 1.5em;
  color: var(--color-mint);
  opacity: 1.0;
  transition: top 0.2s ease, opacity 0.2s ease;
}
.menu-btn .menu-btn__wrap .txt::after {
  position: relative;
  display: block;
  content: 'menu';
}
.menu-btn .menu-btn__wrap :is(.ring-1, .ring-2, .ring-3) {
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  opacity: 1.0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.menu-btn .menu-btn__wrap .ring-1 {
  top: calc(50% + 2.5%);
  left: calc(50% + 2.5%);
  border: 2px solid var(--color-lightblue);
}
.menu-btn .menu-btn__wrap .ring-2 {
  top: calc(50%);
  left: calc(50% - 5%);
  border: 2px solid var(--color-lime);
}
.menu-btn .menu-btn__wrap .ring-3 {
  top: calc(50% - 5%);
  left: calc(50% - 2.5%);
  border: 2px solid var(--color-lilac);
}
.menu-btn:hover .menu-btn__wrap .ring-1 {
  transform: translate(-45%, -55%);
}
.menu-btn:hover .menu-btn__wrap .ring-2 {
  transform: translate(-55%, -45%);
}
.menu-btn:hover .menu-btn__wrap .ring-3 {
  transform: translate(-50%, -55%);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .menu-btn {
    /*top: 7.0em;*/
    top: 5.5em;
    right: 1.0em;
    width: 3.5em;
    height: 3.5em;
    transition: top 0.3s ease-out;
    transform: translate(0, 0);
  }
  .is-fixed .menu-btn {
    /*top: 2.5em;*/
    top: 1.0em;
  }
}

/* メニュー｜ボタン（PC、タブレット・SP共通）｜開く（.active 付与） */
.menu-btn.active .menu-btn__wrap::before {
  width: 100%;
  height: 100%;
}
.menu-btn.active .menu-btn__wrap .bar-1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-135deg);
  width: 35%;
}
.menu-btn.active .menu-btn__wrap .bar-2 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(135deg);
  width: 35%;
}
.menu-btn.active .menu-btn__wrap .txt {
  top: 75%;
  opacity: 1.0;
}
.menu-btn.active .menu-btn__wrap .txt::after {
  content: 'close';
}
.menu-btn.active .menu-btn__wrap :is(.ring-1, .ring-2, .ring-3) {
  transform: translate(-50%, -50%);
  opacity: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ヘッダーイメージ（header-image.php）
##
############################################## */
/* ##############################################
##  ヘッダー ファーストビュー（デフォルト）
############################################## */
/* ヘッダー ファーストビュー */
.page-header {
  display: block;
  position: relative;
  width: 100%;
  min-height: 75vh;
  padding: 0;
  margin: 0;
  z-index: 0;
}
.page-header:has(:not(.top-subfield)) {
  min-height: 60vh;
}
.page-header:has(~ .headerimg_recruit) {
  min-height: 75vh;
}
.page-header .entry-header {
  display: block;
  position: relative;
  width: 100%;
}
.page-header:has(~ .headerimg) {
  min-height: 90vh;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header {
    min-height: 45vh;
  }
  .page-header:has(~ .headerimg),
  .page-header:has(:not(.top-subfield)),
  .page-header:has(~ .headerimg_recruit) {
    min-height: 45vh;
  }
}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜デフォルト画像 */
.page-header .entry-header .hd-image_default {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 50vw;
  padding-top: 50vw;
  background-image: url('../images/hd-image_default.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/hd-image_default.png');*/
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .hd-image_default {
    width: 60vw;
    padding-top: 60vw;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .hd-image_default {
    width: 70vw;
    padding-top: 70vw;
  }
}

/* ヘッダー ファーストビュー｜代表メッセージ画像 */
.page-header .entry-header .hd-image_default.message {
  width: 100vw;
  padding-top: 60vw;
  background-image: url('../images/bg_message-hero.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_message-hero.jpg');*/
  background-position: center top;
  background-size: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .hd-image_default.message {
    width: 100vw;
    padding-top: 100vh;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .hd-image_default.message {
    width: 100vw;
    padding-top: 100vh;
  }
}

/* ヘッダー ファーストビュー｜メイン */
.page-header .entry-header .header_wrap {
  display: block;
  position: relative;
  width: 100%;
  padding: 5.0em 4.0em 3.0em;
  margin: 0;
  z-index: 10;
}
.page-header .entry-header .header_wrap .header-top_main {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap {
    padding: 4.0em 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜メイン｜パンくずリスト */
.page-header .entry-header .header_wrap .header-top_main .top-breadcrumb {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜メイン｜タイトル */
.page-header .entry-header .header_wrap .header-top_main .top-title {}
.page-header .entry-header .header_wrap .header-top_main .top-title .entry-title_en {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
}
.page-header .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 8.0em;
  text-transform: uppercase;
  line-height: 1.2;
  background-image: url('../images/title_bg/title_bg_min-0.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-0.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: multiply;
  user-select: none;
}
.page-header .entry-header .header_wrap .header-top_main .top-title .entry-title_jp {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  font-size: 1.0em;
}
.page-header .entry-header .header_wrap .header-top_main .top-title .entry-title_jp span {
  font-weight: 500;
  font-size: 1.3em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
    font-size: 5.5em;
    line-height: 1.3;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
    font-size: 3.3em;
    line-height: 1.4;
  }
}

/* ヘッダー ファーストビュー｜メイン｜見出し・リード 入力エリア（サブ） */
.page-header .entry-header .header_wrap .header-top_main .top-subfield {
  position: relative;
  display: block;
  width: calc(50% - 2.0em);
  margin-top: 3.0em;
}
.page-header .entry-header .header_wrap .header-top_main .top-subfield > :is(*) {
  position: relative;
  font-size: 1.0em;
  margin: 0.5em 0;
}
.page-header .entry-header .header_wrap .header-top_main .top-subfield h2 {
  font-weight: 700;
  font-size: 2.8em;
  line-height: 1.5;
}
.page-header .entry-header .header_wrap .header-top_main .top-subfield h3 {
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.6;
}
.page-header .entry-header .header_wrap .header-top_main .top-subfield h4 {
  font-weight: 700;
  font-size: 1.6em;
  line-height: 1.7;
}
.page-header .entry-header .header_wrap .header-top_main .top-subfield p {
  font-weight: 500;
  font-size: 1.1em;
  text-align: justify;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap .header-top_main .top-subfield {
    width: calc(100% - 5.5em);
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield h2 {
    font-size: 2.4em;
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield h3 {
    font-size: 1.8em;
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield h4 {
    font-size: 1.3em;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header_wrap .header-top_main .top-subfield {
    /*width: calc(100% - 3.5em);*/
    width: 100%;
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield h2 {
    font-size: 2.0em;
    line-height: 1.6;
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield h3 {
    font-size: 1.5em;
    line-height: 1.6;
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield h4 {
    font-size: 1.2em;
    line-height: 1.7;
  }
  .page-header .entry-header .header_wrap .header-top_main .top-subfield p {
    font-size: 1.05em;
  }
}

/* ヘッダー ファーストビュー｜アイキャッチ画像 */
.headerimg {
  display: block;
  position: fixed;
  top: 0;
  left: 50%;
  width: 50%;
  padding-top: 100vh;
  overflow: hidden;
  z-index: -10;
}
.headerimg img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .headerimg {
    position: relative;
    top: initial;
    left: initial;
    width: 100%;
    padding-top: calc(100% * 1 / 2);
    z-index: 0;
  }
}
@media screen and (max-width: 567px) {
  .headerimg {
    padding-top: calc(100% * 2 / 3);
  }
}

/* ##############################################
##  ヘッダー ファーストビュー（採用情報）
############################################## */
/* ヘッダー ファーストビュー｜採用情報｜デフォルト画像 */
.page-header .entry-header .hd-image_recruit {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-5.0em, 5.0em);
  width: 50vw;
  padding-top: 50vw;
  background-image: url('../images/hd-image_recruit.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/hd-image_recruit.png');*/
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
  z-index: -1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .hd-image_recruit {
    width: 60vw;
    padding-top: 60vw;
    transform: translate(-2.0em, 4.5em);
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .hd-image_recruit {
    width: 70vw;
    padding-top: 70vw;
    transform: translate(-1.0em, 4.0em);
  }
}

.hd-image_recruit-2 {
  display: block; position: absolute;
  top: 30vw;
  right: 0;
  width: 30vw;
  padding-top: 30vw;
  background-image: url('../images/hd-image_recruit-2.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/hd-image_recruit-2.png');*/
  background-repeat: no-repeat;
  background-position: top 0 right -10vw;
  background-size: contain;
  z-index: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .hd-image_recruit-2 {
    top: 35vw;
    width: 35vw;
    padding-top: 35vw;
  }
}
@media screen and (max-width: 567px) {
  .hd-image_recruit-2 {
    top: 50vw;
    width: 40vw;
    padding-top: 40vw;
  }
}

.page-header .entry-header .header_wrap .header-top_main .top-title_recruit {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap .header-top_main .top-title_recruit {
    width: calc(100% - 5.5em);
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header_wrap .header-top_main .top-title_recruit {
    width: calc(100% - 3.5em);
  }
}

.page-header .entry-header .header_wrap .header-top_main .top-title_recruit .entry-title_jp {
  position: relative;
  display: block;
  padding: 0;
  padding-top: 3.0em;
  margin: 0;
  font-size: 1.0em;
}
.page-header .entry-header .header_wrap .header-top_main .top-title_recruit .entry-title_jp span {
  font-weight: 700;
  font-size: 2.2em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap .header-top_main .top-title_recruit .entry-title_jp span {
    font-size: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header_wrap .header-top_main .top-title_recruit .entry-title_jp span {
    font-size: 1.8em;
  }
}

/* ヘッダー ファーストビュー｜採用情報｜アイキャッチ画像 */
.headerimg_recruit {
  display: block;
  position: absolute;
  /*top: 50vh;*/
  top: 5.0em;
  left: 50%;
  /*transform: translate(0, -50%);*/
  width: 50%;
  /*padding-top: 70vh;*/
  padding-top: calc(75vh - (5.0em + 3.0em));
  overflow: hidden;
  z-index: -10;
}
.headerimg_recruit img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .headerimg_recruit {
    position: relative;
    top: initial;
    left: initial;
    /*transform: translate(0, 0);*/
    width: 100%;
    padding-top: calc(100% * 1 / 2);
    z-index: 0;
  }
}
@media screen and (max-width: 567px) {
  .headerimg_recruit {
    padding-top: calc(100% * 2 / 3);
  }
}


/* ########################
##  ヘッダー ファーストビュー｜採用情報トップ
######################## */
/* ヘッダー ファーストビュー｜採用情報トップ */
.page-header .entry-header .header_wrap.rec-top_wrap {
  padding-bottom: 11.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap.rec-top_wrap {
    padding-bottom: 9.0em;
  }
}
@media screen and (max-width: 567px) {}

.header_wrap.bg-image_rec-top {
  min-height: 90vh;
  background-image: url('../images/rec-top_hero-bg_pc.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/rec-top_hero-bg_pc.jpg');*/
  background-repeat: no-repeat;
  background-position: center 80%;
  background-size: cover;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .header_wrap.bg-image_rec-top {
    background-image: url('../images/rec-top_hero-bg_sp.jpg');
    /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/rec-top_hero-bg_sp.jpg');*/
    background-position: center 50%;
  }
}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜採用情報トップ｜メイン｜タイトル */
.page-header .entry-header .header_wrap .top-title_recruit_top {
  display: block;
  position: absolute;
  bottom: -0.25em;
  left: 0.5em;
  width: max-content;
  max-width: 100%;
}
.page-header .entry-header .header_wrap .top-title_recruit_top :is(.entry-title_jp, .entry-title_en) {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  font-size: 1.0em;
}
.page-header .entry-header .header_wrap .top-title_recruit_top :is(.entry-title_jp, .entry-title_en) span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  color: var(--color-black);
}
.page-header .entry-header .header_wrap .top-title_recruit_top .entry-title_jp span {
  font-weight: 500;
  font-size: 1.0em;
  letter-spacing: 0.05em;
  margin-left: auto;
  line-height: 1.5;
}
.page-header .entry-header .header_wrap .top-title_recruit_top .entry-title_en span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 4.5em;
  text-transform: capitalize;
  line-height: 1.0;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap .top-title_recruit_top :is(.entry-title_jp, .entry-title_en) span {
    color: var(--color-white-80per);
  }
  .page-header .entry-header .header_wrap .top-title_recruit_top .entry-title_en span {
    font-size: 4.0em;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header_wrap .top-title_recruit_top .entry-title_en span {
    font-size: 3.5em;
  }
}

.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch {
  position: relative;
  display: block;
  margin-top: 2.0em;
}
.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_main {
  position: relative;
  display: block;
}
.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_main h2 {
  font-size: 1.0em;
  line-height: 1.3;
}
.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_main h2 span {
  font-weight: 700;
  font-size: 3.3em;
  letter-spacing: 0.05em;
}
.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_main h2 span.large {
  font-size: 4.0em;
}
.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_surpriser {
  position: relative;
  display: block;
  width: 100%;
  max-width: 350px;
}
.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_surpriser img {
  position: relative;
  display: block;
  width: 100%;
  transform: translate(25%, 0) scale(1.6);
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch {
    margin-bottom: 8.0em;
  }
  .page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_main h2 span {
    font-size: 3.0em;
  }
  .page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_main h2 span.large {
    font-size: 3.7em;
  }
  .page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-title_rec-catch .catch_surpriser img {
    transform: translate(-1.0em, 0) scale(1.0);
  }
}
@media screen and (max-width: 567px) {}

.page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-subfield {
  font-weight: 500;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap.rec-top_wrap .header-top_main .top-subfield {
    padding: 0.5em 0.75em;
    background-color: var(--color-white-50per);
  }
}
@media screen and (max-width: 567px) {}


/* ########################
##  ヘッダー ファーストビュー｜採用情報｜エントリーボタン（rec-entry-btn.php）
######################## */
/* ヘッダー ファーストビュー｜採用情報｜エントリーボタン */
.recruit_hd-entry-btn {
  display: block;
  position: fixed;
  top: 5.0em;
  right: 0;
  z-index: 5;
}
.recruit_hd-entry-btn a {
  text-decoration: none;
}
.recruit_hd-entry-btn a:hover {}
.recruit_hd-entry-btn a .entry-btn {
  position: relative;
  display: flex;
  gap: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 1.0em;
  background-color: var(--color-lime);
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
  user-select: none;
  transition: background-color 0.3s ease;
}
.recruit_hd-entry-btn a:hover .entry-btn {
  background-color: var(--color-darkblue);
}
.recruit_hd-entry-btn a .entry-btn :is(.btn-en, .btn-jp) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.recruit_hd-entry-btn a .entry-btn .btn-en {}
.recruit_hd-entry-btn a .entry-btn .btn-jp {}
.recruit_hd-entry-btn a .entry-btn :is(.btn-en, .btn-jp) span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  line-height: 1.3;
  color: var(--color-darkblue);
  transition: color 0.1s ease;
}
.recruit_hd-entry-btn a:hover .entry-btn :is(.btn-en, .btn-jp) span {
  color: var(--color-lime);
}
.recruit_hd-entry-btn a .entry-btn .btn-en span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 2.0em;
  text-transform: uppercase;
}
.recruit_hd-entry-btn a .entry-btn .btn-jp span {
  font-weight: 500;
  font-size: 0.7em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .recruit_hd-entry-btn {
    /*top: 11.0em;*/
    top: 11.5em;
    transform: translate(0, -50%);
  }
  .recruit_hd-entry-btn a .entry-btn {
    padding: 0.5em 0.75em;
  }
  .recruit_hd-entry-btn a .entry-btn .btn-en span {
    font-size: 1.5em;
  }
  .recruit_hd-entry-btn a .entry-btn .btn-jp span {
    font-size: 0.5em;
  }
}
@media screen and (max-width: 567px) {}

.is-fixed .recruit_hd-entry-btn {}
.is-fixed .recruit_hd-entry-btn a .entry-btn {
  flex-direction: row;
  width: 2.5em;
  padding: 1.0em 0em;
}
.is-fixed .recruit_hd-entry-btn a .entry-btn .btn-en {
  display: none;
}
.is-fixed .recruit_hd-entry-btn a .entry-btn .btn-jp {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.is-fixed .recruit_hd-entry-btn a .entry-btn .btn-jp span {
  width: auto;
  font-size: 0.9em;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .is-fixed .recruit_hd-entry-btn a .entry-btn {
    width: 2.5em;
  }
  .is-fixed .recruit_hd-entry-btn a .entry-btn .btn-jp span {
    font-size: 0.9em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ヘッダーイメージ｜インタビュー個人（header-personnel.php）
##
############################################## */
/* ヘッダー ファーストビュー｜インタビュー個人｜メイン */
.page-header .entry-header .header_wrap.personnel {
  min-height: 93vh;
}
.page-header .entry-header .header_wrap.personnel .header-top_bg_pc {
  display: block;
}
.page-header .entry-header .header_wrap.personnel .header-top_bg_sp {
  display: none;
}
.page-header .entry-header .header_wrap.personnel .header-top_bg_pc {
  position: absolute;
  top: 5.0em;
  left: 0;
  width: 100%;
  height: calc(100% - 5.0em);
}
.page-header .entry-header .header_wrap.personnel .header-top_bg_sp {
  position: relative;
  width: 100%;
  /*padding-top: calc(100% * 2 / 3);*/
  padding-top: calc(100% * 1 / 1);
  margin-top: 0.5em;
}
.page-header .entry-header .header_wrap.personnel :is(.header-top_bg_pc, .header-top_bg_sp) img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-header .entry-header .header_wrap.personnel :is(.header-top_bg_pc, .header-top_bg_sp).left img {
  object-position: 75% center;
}
.page-header .entry-header .header_wrap.personnel :is(.header-top_bg_pc, .header-top_bg_sp).right img {
  object-position: 25% center;
}

.page-header .entry-header .header_wrap.personnel .header-top_main {
  height: calc(93vh - 5.0em);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap.personnel {
    min-height: initial;
  }
  .page-header .entry-header .header_wrap.personnel .header-top_bg_pc {
    display: none;
  }
  .page-header .entry-header .header_wrap.personnel .header-top_bg_sp {
    display: block;
  }
  .page-header .entry-header .header_wrap.personnel .header-top_main {
    height: initial;
  }
}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜インタビュー個人｜メイン｜タイトル */
.top-title_personel:is(.left, .right) {
  display: block;
  position: absolute;
  bottom: 5%;
  width: max-content;
  max-width: 55%;
  padding: 1.5em 2.5em;
  margin: 0;
  z-index: 0;
}
.top-title_personel.left {
  left: 0;
}
.top-title_personel.right {
  right: 0;
}
.top-title_personel:is(.left, .right)::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  opacity: 0.8;
  content: '';
  z-index: -1;
}
@media screen and (max-width: 1023px) {
  .top-title_personel:is(.left, .right) {
    max-width: 65%;
  }
}
@media screen and (max-width: 767px) {
  .top-title_personel:is(.left, .right) {
    position: relative;
    width: calc(100% - 4.0em);
    max-width: initial;
    padding: 0;
    /*margin-top: 2.0em;*/
    margin-top: 3.0em;
  }
  .top-title_personel:is(.left, .right)::before {
    display: none;
  }
}
@media screen and (max-width: 567px) {
  .top-title_personel:is(.left, .right) {
    /*width: calc(100% - 3.0em);*/
    width: 100%;
  }
}

.top-title_personel:is(.left, .right) :is(.personel-title, .personel-type, .personel-dept, .personel-year, .personel-edu) {
  font-weight: 400;
  font-size: 1.0em;
  line-height: 1.7;
  color: var(--color-black);
}
.top-title_personel:is(.left, .right) .personel-title {
  margin-bottom: 1.0em;
}
.top-title_personel:is(.left, .right) .personel-type {
  margin-bottom: 0.25em;
}
.top-title_personel:is(.left, .right) .personel-dept {}
.top-title_personel:is(.left, .right) .personel-year {}
.top-title_personel:is(.left, .right) .personel-edu {}
.top-title_personel:is(.left, .right) .personel-title span {
  font-weight: 700;
  font-size: 1.5em;
  letter-spacing: 0.07em;
}
.top-title_personel:is(.left, .right) .personel-type span {
  font-size: 0.8em;
  padding: 0.1em 0.75em 0.2em;
  border: 1px solid;
}
.top-title_personel:is(.left, .right) :is(.personel-dept, .personel-year, .personel-edu) .span {
  font-size: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top-title_personel:is(.left, .right) .personel-title {
    margin-bottom: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .top-title_personel:is(.left, .right) .personel-title span {
    letter-spacing: 0.04em;
  }
}




/* ##############################################
##
##  ヘッダーイメージ｜事業・サービス（header-business.php）
##
############################################## */
/* 事業・サービス（個）ヘッダー ファーストビュー */
.page-header.hd-business {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* 事業・サービス（個）ヘッダー ファーストビュー｜メイン｜タイトル */
.page-header.hd-business .entry-header .header_wrap .header-top_main .top-title {
  margin-top: 1.0em;
}
.page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_en {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
}
.page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 3.0em;
  text-transform: uppercase;
  line-height: 1.4;
  background-image: none;
  -webkit-background-clip: none!important; background-clip: none!important;
  -webkit-text-fill-color: var(--color-darkblue); color: var(--color-darkblue);
  mix-blend-mode: multiply;
  user-select: none;
}
.page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_jp {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  font-size: 1.0em;
}
.page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_jp span {
  font-weight: 700;
  font-size: 3.2em;
  line-height: 1.3;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
    font-size: 2.5em;
    line-height: 1.4;
  }
  .page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_jp span {
    font-size: 2.7em;
    line-height: 1.5;
  }
}
@media screen and (max-width: 567px) {
  .page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
    font-size: 2.0em;
    line-height: 1.5;
  }
  .page-header.hd-business .entry-header .header_wrap .header-top_main .top-title .entry-title_jp span {
    font-size: 2.2em;
    line-height: 1.5;
  }
}
.page-header.hd-business .entry-header .header_wrap .header-top_main .top-title {
  width: calc(50% - 2.0em);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header.hd-business .entry-header .header_wrap .header-top_main .top-title {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {}

/* ソート順（番号出力） */
.business_header-num {
  position: absolute;
  top: 88vh;
  right: 2.0em;
  transform: translate(0, -100%);
  user-select: none;
  z-index: -1;
}
.business_header-num.pc {
  display: block;
}
.business_header-num.sp {
  display: none;
}
.business_header-num span {
  position: relative;
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 15.0em;
  text-transform: uppercase;
  line-height: 1.0;
  color: var(--color-white-70per);
  opacity: 1.0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .business_header-num.pc {
    display: none;
  }
  .business_header-num.sp {
    display: block;
  }
  .business_header-num {
    top: 0;
    right: 1.0em;
    transform: translate(0, 0);
    z-index: 1;
  }
  .business_header-num span {
    font-size: 12.0em;
  }
}
@media screen and (max-width: 567px) {
  .business_header-num span {
    font-size: 10.0em;
  }
}

.headerimg.left img {
  object-position: center left;
}
.headerimg.right img {
  object-position: center right;
}




/* ##############################################
##
##  ヘッダーイメージ｜コラム（header-column.php）
##
############################################## */
/* コラムヘッダー ファーストビュー｜メイン｜タイトル */
.page-header.hd-column .entry-header .header_wrap .header-top_main .top-title {
  margin-top: 1.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .top-title .entry-title_en {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 3.0em;
  text-transform: uppercase;
  line-height: 1.4;
  background-image: none;
  -webkit-background-clip: none!important; background-clip: none!important;
  -webkit-text-fill-color: var(--color-darkblue); color: var(--color-darkblue);
  mix-blend-mode: multiply;
  user-select: none;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .top-title .entry-title_jp {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  font-size: 1.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .top-title .entry-title_jp span {
  font-weight: 500;
  font-size: 1.3em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header.hd-column .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
    font-size: 2.5em;
    line-height: 1.4;
  }
}
@media screen and (max-width: 567px) {
  .page-header.hd-column .entry-header .header_wrap .header-top_main .top-title .entry-title_en span {
    font-size: 2.0em;
    line-height: 1.5;
  }
}

/* コラムヘッダー ファーストビュー｜メイン｜ページタイトル */
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title {
  margin-top: 4.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .title {
  position: relative;
  display: block;
  width: 60%;
  font-size: 1.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .title span {
  font-weight: 700;
  font-size: 2.5em;
  line-height: 1.5;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .sub {
  position: relative;
  display: block;
  margin-top: 1.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .sub :is(.time, .supervision) {
  position: relative;
  width: max-content;
  max-width: 100%;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .sub .time {
  display: inline-block;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .sub .time:first-child {
  margin-right: 1.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .sub .supervision {
  display: block;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .cats {
  position: relative;
  display: block;
  margin-top: 1.0em;
}
.page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .cats .cat {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  padding: 0.15em 0.75em 0.3em;
  margin-right: 0.75em;
  font-size: 0.9em;
  text-align: center;
  line-height: 1.5;
  color: var(--color-darkblue);
  background-color: var(--color-white);
  border-radius: 1.5em;
  border: 1px solid;
}
@media screen and (max-width: 1023px) {
  .page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .title {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .page-header.hd-column .entry-header .header_wrap .header-top_main .page-title {
    margin-top: 2.0em;
  }
  .page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .title {
    width: 100%;
  }
  .page-header.hd-column .entry-header .header_wrap .header-top_main .page-title .title span {
    font-size: 1.8em;
  }
}
@media screen and (max-width: 567px) {}

/* コラムヘッダー ファーストビュー｜デフォルト画像（背景固定） */
.hd-column_default {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url('../images/bg_top-hero.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_top-hero.jpg');*/
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  z-index: -1000;
}
.hd-column_default::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-white-50per);
  content: '';
  transition: background-color 0.5s ease;
}
.is-fixed .hd-column_default::after {
  background-color: var(--color-white-90per);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ヘッダーイメージ｜実績・導入事例（header-works.php）
##
############################################## */
/* ヘッダー ファーストビュー｜実績・導入事例 */
.header_wrap.works {}
.header_wrap.works::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(50% - 2.0em);
  height: 90vh;
  background-color: var(--color-white);
  content: '';
  z-index: -1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .header_wrap.works::before {
    display: none;
  }
}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜実績・導入事例｜見出し・リード 入力エリア（サブ） */
.top-subfield.works {}
.top-subfield.works h1 {}
.top-subfield.works h1 span {
  font-weight: 700;
  font-size: 2.2em;
  line-height: 1.5;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top-subfield.works h1 span {
    font-size: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .top-subfield.works h1 span {
    font-size: 1.8em;
  }
}

.top-subfield.works .works_summary {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 3.0em!important;
}
.top-subfield.works .works_summary dl {
  display: grid;
  grid-template-columns: max-content 1fr;
}
.top-subfield.works .works_summary dl .item {
  display: contents;
}
.top-subfield.works .works_summary dl :is(dt, dd) {
  margin: 0;
}
.top-subfield.works .works_summary dl dt {
  font-weight: 500;
  color: var(--color-darkblue);
  padding-right: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* ヘッダー ファーストビュー｜実績・導入事例｜アイキャッチ画像 */
.headerimg.works {
  top: 15vh;
  left: 4.0em;
  width: calc(50% - (4.0em + 2.5em));
  padding-top: 70vh;
}
.headerimg.works img {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .headerimg.works {
    position: relative;
    top: initial;
    left: initial;
    width: 100%;
    padding-top: calc(100% * 1 / 2);
    z-index: 0;
  }
}
@media screen and (max-width: 567px) {
  .headerimg.works {
    padding-top: calc(100% * 2 / 3);
  }
}

/* カスタム投稿ページ｜実績・導入事例（sg_works.php） */
.sg_works {}
.sg_works .entry-content {
  padding: 4.0em 4.0em 6.0em;
}
.sg_works .entry-content .container {
  max-width: 1200px;
}
.sg_works .entry-content .container .works_container {
  display: block;
  position: relative;
  width: calc(50% - 2.0em);
  margin-left: auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .sg_works .entry-content {
    padding: 3.0em 2.0em 5.0em;
  }
  .sg_works .entry-content .container .works_container {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {}

/* WP-Block カラム｜実績・導入事例 */
@media screen and (min-width: 1024px) {
  :where(.works_container .wp-block-columns.is-layout-flex) {
    gap: 1.5em!important;
  }
  :where(.works_container .wp-block-columns) {
    margin-bottom: 1.5em!important;
  }
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 568px) {}

/* カスタム投稿ページ｜実績・導入事例｜フッター（お問い合わせ） */
.page-footer.sg_works {
  display: block;
  position: relative;
  width: 100%;
  color: var(--color-white);
}
.page-footer.sg_works::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, var(--color-darkblue), var(--color-darkcyan));
  opacity: 0.93;
  mix-blend-mode: multiply;
  content: '';
  z-index: -1;
}




/* ##############################################
##
##  フッター（footer.php）
##
############################################## */

/* ########################
##  フッターコンテンツ｜共通
######################## */
.ftr-content {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  z-index: 1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* ########################
##  フッターコンテンツ｜採用情報
######################## */
.ftr-content.pg_recruit {
  background-color: var(--color-iceblue-93per);
}
.ftr-content.pg_recruit .entry-content {
  padding: 4.0em 4.0em 4.0em;
}
.ftr-content.pg_recruit .entry-content .container {
  max-width: 1200px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ftr-content.pg_recruit .entry-content {
    padding: 3.0em 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

.ftr-content.pg_recruit .ftr-rec-children {
  position: relative;
  display: flex;
  gap: 3.0em;
  width: 100%;
}
.ftr-content.pg_recruit .ftr-rec-children .child {
  flex-grow: 1;
  position: relative;
  display: flex;
}
.ftr-content.pg_recruit .ftr-rec-children .child::after {
  display: block;
  position: absolute;
  top: 0;
  left: calc(100% + (3.0em / 2));
  width: 1px;
  height: 100%;
  background-color: var(--color-darkblue);
  content: '';
}
.ftr-content.pg_recruit .ftr-rec-children .child:last-child::after {
  display: none;
}
.ftr-content.pg_recruit .ftr-rec-children .child a {
  flex-grow: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  color: var(--color-darkblue);
  transition: color 0.15s ease;
}
.ftr-content.pg_recruit .ftr-rec-children .child a:hover {
  color: var(--color-darkcyan);
}
.ftr-content.pg_recruit .ftr-rec-children .child a span {
  position: relative;
  display: block;
  font-weight: 500;
  font-size: 1.0em;
  text-align: center;
}
.ftr-content.pg_recruit .ftr-rec-children .child a:hover span {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ftr-content.pg_recruit .ftr-rec-children {
    flex-direction: column;
    gap: 2.0em;
  }
  .ftr-content.pg_recruit .ftr-rec-children .child {
    width: 100%;
  }
  .ftr-content.pg_recruit .ftr-rec-children .child::after {
    top: calc(100% + (2.0em / 2));
    left: 0;
    width: 100%;
    height: 1px;
  }
}
@media screen and (max-width: 567px) {}


/* ########################
##  フッターコンテンツ｜事業・サービス（子ページ）
######################## */
.ftr-content.pg_business {
  display: block;
  position: relative;
  width: 100%;
  color: var(--color-white);
}
.ftr-content.pg_business::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, var(--color-darkblue), var(--color-darkcyan));
  opacity: 0.93;
  mix-blend-mode: multiply;
  content: '';
  z-index: -1;
}
.ftr-content.pg_business .entry-content {
  padding: 4.0em 4.0em 4.0em;
}
.ftr-content.pg_business .entry-content .container {
  max-width: 1200px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ftr-content.pg_business .entry-content {
    padding: 3.0em 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

.ftr-content.pg_business .ftr-bz-main {
  display: block;
  position: relative;
  width: 100%;
}
.ftr-content.pg_business .ftr-bz-main :is(.title, .text) {
  text-align: center;
  line-height: 1.7;
}
.ftr-content.pg_business .ftr-bz-main .title span {
  font-weight: 500;
  font-size: 1.5em;
}
.ftr-content.pg_business .ftr-bz-main .text span {
  font-size: 1.1em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ftr-content.pg_business .ftr-bz-main .title span {
    font-size: 1.3em;
  }
  .ftr-content.pg_business .ftr-bz-main .text span {
    font-size: 1.0em;
  }
}
@media screen and (max-width: 567px) {
  .ftr-content.pg_business .ftr-bz-main .title span {
    font-size: 1.2em;
  }
}


/* ########################
##  フッターコンテンツ｜
######################## */

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* ########################
##  フッター共通｜お問い合わせ Contact・サイトマップ・Copyright
######################## */
footer {
  position: relative;
  display: block;
  width: 100%;
  z-index: 0;
}
footer::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-navy);
  opacity: 0.93;
  mix-blend-mode: multiply;
  content: '';
  z-index: -1;
}
.ft-wrap {
  position: relative;
  display: block;
  width: 100%;
  color: var(--color-white);
  padding: 4.0em;
}
footer .ft-wrap > * {
  position: relative;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 2.0em;
}
footer .ft-wrap > *:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ft-wrap {
    padding: 4.0em 2.0em;
  }
}
@media screen and (max-width: 567px) {}

/* フッター共通｜お問い合わせ Contact */
.ft-contact {
  display: block;
}
.ft-contact .ft-contact__title,
.ft-contact .ft-contact__ico {
  position: relative;
  width: max-content;
  max-width: 100%;
  padding: 0;
  margin: 0 auto;
}
.ft-contact .ft-contact__title {
  display: block;
  margin-bottom: 1.0em;
}
.ft-contact .ft-contact__title span {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 2.7em;
  text-transform: uppercase;
  line-height: 1.4;
  background-image: url('../images/title_bg/title_bg_min-0.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-0.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: screen;
}
.ft-contact .ft-contact__ico {
  position: relative;
  display: flex;
  gap: 1.5em;
}
.ft-contact .ft-contact__ico .ico {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: max-content;
  max-width: 100%;
}
.ft-contact .ft-contact__ico .ico a {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 4.0em;
  max-width: 100%;
  padding-top: 100%;
  background-color: var(--color-white);
  border-radius: 50%;
  transition: background-color 0.15s ease;
}
.ft-contact .ft-contact__ico .ico.mail a:hover {
  background-color: var(--color-olive);
}
.ft-contact .ft-contact__ico .ico.phone a:hover {
  background-color: var(--color-steelblue);
}
.ft-contact .ft-contact__ico .ico a img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1.75em;
  -webkit-user-select: none; user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* フッター共通｜サイトマップ */
.ft-sitemap {
  display: block;
}
.ft-sitemap .ft-sitemap__list,
.ft-sitemap .ft-sitemap__list-child {
  position: relative;
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.ft-sitemap .ft-sitemap__list > li,
.ft-sitemap .ft-sitemap__list-child > li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
.ft-sitemap .ft-sitemap__list {
  column-count: 4; -webkit-column-count: 4; -moz-column-count: 4;
  column-gap: 3.0em;
  row-gap: 0;
}
.ft-sitemap .ft-sitemap__list > li {
  padding-top: 1.0em;
  padding-bottom: 1.0em;
  break-inside: avoid;
}
.ft-sitemap .ft-sitemap__list > li.breakpoint {
  break-before: column;
}
.ft-sitemap .ft-sitemap__list-child {
  padding-top: 1.0em;
  padding-left: 1.5em;
}
.ft-sitemap .ft-sitemap__list-child > li {
  padding-bottom: 0.5em;
}
.ft-sitemap .ft-sitemap__list-child > li:last-child {
  padding-bottom: 0;
}
.ft-sitemap .ft-sitemap__list-child > li::before {
  display: block;
  position: absolute;
  top: 0.45em;
  left: -1.5em;
  content: '';
  width: 1.0em;
  height: 1.0em;
  background:
    linear-gradient(var(--color-brightcyan), var(--color-brightcyan)) center / 0.8em 1px no-repeat,
    linear-gradient(var(--color-brightcyan), var(--color-brightcyan)) center / 1px 0.8em no-repeat;
}
@media screen and (max-width: 1023px) {
  .ft-sitemap .ft-sitemap__list {
    column-count: 3; -webkit-column-count: 3; -moz-column-count: 3;
  }
  .ft-sitemap .ft-sitemap__list > li.breakpoint {
    break-before: initial;
  }
}
@media screen and (max-width: 767px) {
  .ft-sitemap .ft-sitemap__list {
    column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;
  }
}
@media screen and (max-width: 567px) {
  .ft-sitemap .ft-sitemap__list {
    column-count: 1; -webkit-column-count: 1; -moz-column-count: 1;
  }
}

.ft-sitemap .ft-sitemap__title {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 2.2em;
  text-transform: uppercase;
  line-height: 1.4;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: screen;
}
.ft-sitemap .ft-sitemap__title:is(.min-1, .min-6) {
  background-image: url('../images/title_bg/title_bg_min-1.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-1.jpg');*/
}
.ft-sitemap .ft-sitemap__title:is(.min-2, .min-7) {
  background-image: url('../images/title_bg/title_bg_min-2.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-2.jpg');*/
}
.ft-sitemap .ft-sitemap__title:is(.min-3, .min-8) {
  background-image: url('../images/title_bg/title_bg_min-3.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-3.jpg');*/
}
.ft-sitemap .ft-sitemap__title:is(.min-4, .min-9) {
  background-image: url('../images/title_bg/title_bg_min-4.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-4.jpg');*/
}
.ft-sitemap .ft-sitemap__title:is(.min-5, .min-10) {
  background-image: url('../images/title_bg/title_bg_min-5.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-5.jpg');*/
}

.ft-sitemap a {
  color: var(--color-white);
  text-decoration: none;
}
.ft-sitemap a:hover {
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
}

/* フッター共通｜SNS */
.ft-social {
  display: block;
}
.ft-social .ft-social__icons-wrap {
  position: relative;
  display: flex;
  gap: 1.5em;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.ft-social .ft-social__icons-wrap .icon {
  position: relative;
  display: block;
  width: 100%;
  max-width: 2.0em;
}
.ft-social .ft-social__icons-wrap .icon a {
  position: relative;
  display: block;
  width: 100%;
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
.ft-social .ft-social__icons-wrap .icon a:hover {
  opacity: 0.7;
}
.ft-social .ft-social__icons-wrap .icon a img {
  position: relative;
  display: block;
  width: 100%;
}

/* フッター共通｜Copyright */
.ft-copy {
  display: block;
}
.ft-copy .copyright {
  display: block;
  width: 100%;
  font-size: 0.85em;
  text-align: center;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  固定ページ（page.php）
##  投稿ページ（single.php）
##
############################################## */
.page-content,
.entry-content,
.container {
  position: relative;
  display: block;
  width: 100%;
}
.page-content,
.entry-content {
  margin: 0;
  z-index: 1;
}
.container {
  margin: 0 auto;
}

/* 固定ページ｜共通（pg_default.php） */
/* 投稿ページ｜共通（sg_default.php） */
:is(.pg_default, .sg_default) {}
:is(.pg_default, .sg_default) .entry-content {
  /*padding: 4.0em 4.0em;*/
  padding: 4.0em 4.0em 6.0em;
}
:is(.pg_default, .sg_default) .entry-content .container {}
.pg_default .entry-content .container {
  max-width: 1200px;
}
.sg_default .entry-content .container {
  max-width: 1100px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  :is(.pg_default, .sg_default) .entry-content {
    /*padding: 3.0em 2.0em;*/
    padding: 3.0em 2.0em 5.0em;
  }
}
@media screen and (max-width: 567px) {}

/* .entry-content に付与 */
.bg-white {
  background-color: var(--color-white);
  /*background: linear-gradient(to bottom, transparent 0%, var(--color-white) 12.0em, var(--color-white) 100%);*/
}
.bg-white-50per {
  background-color: var(--color-white-50per);
}
.bg-white-50per-grad {
  background: linear-gradient(to bottom, transparent 0%, var(--color-white-50per) 12.0em, var(--color-white-50per) 100%);
}
.bg-white-70per {
  background-color: var(--color-white-70per);
}
.bg-white-80per {
  background-color: var(--color-white-80per);
}
.bg-white-90per {
  background-color: var(--color-white-90per);
}
.bg-white-transparent {
  background: linear-gradient(to bottom, var(--color-white) 0%, transparent 20%);
}
.bg-powderblue {
  background-color: var(--color-powderblue);
}

/* 投稿ページ｜タイトル（sg_default.php） */
.page-content.sg_default .container:has(.single_header-info) {
  position: relative;
  display: block;
  width: 100%;
  /*margin-bottom: 6.0em;*/
  margin-bottom: 4.0em;
}
.page-content.sg_default .single_header-info {
  position: relative;
  display: block;
  margin: 0;
}
.page-content.sg_default .single_header-info .title {
  position: relative;
  display: block;
  width: 100%;
  padding: 1.0em 1.5em;
  margin-bottom: 1.5em;
  font-size: 1.0em;
  line-height: 1.5;
  text-align: left;
  z-index: 0;
}
.page-content.sg_default .single_header-info .title::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-darkblue);
  opacity: 0.9;
  content: '';
  z-index: -1;
}
.page-content.sg_default .single_header-info .title span {
  position: relative;
  display: inline-block;
  font-weight: 700;
  font-size: 1.5em;
  color: var(--color-white);
}
.page-content.sg_default .single_header-info p {
  position: relative;
  display: block;
  text-align: left;
}
.page-content.sg_default .single_header-info p :is(.cat, .time) {
  position: relative;
  display: inline-block;
  line-height: 1.5;
}
.page-content.sg_default .single_header-info p .cat {
  font-size: 0.9em;
  text-align: center;
  color: var(--color-darkblue);
  background-color: var(--color-white);
  width: max-content;
  max-width: 100%;
  padding: 0.15em 0.75em 0.3em;
  margin-right: 0.75em;
  border-radius: 1.5em;
  border: 1px solid;
}
.page-content.sg_default .single_header-info p .time {
  font-size: 1.0em;
  color: var(--color-black);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-content.sg_default .single_header-info .title {
    padding: 0.5em 1.0em;
  }
  .page-content.sg_default .single_header-info .title span {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 567px) {
  .page-content.sg_default .single_header-info .title {
    line-height: 1.7;
  }
  .page-content.sg_default .single_header-info .title span {
    font-size: 1.3em;
  }
}

/* 投稿ページ｜フッター（sg_default.php） */
.page-footer.sg_default {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 4.0em 6.0em;
  line-height: 1.5;
}
.page-footer.sg_default:not(:has(.entry-footer .p-navi > *)):not(:has(.entry-footer .pagenation.single-pn)) {
  display: none;
}
.page-footer.sg_default .entry-footer {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-footer.sg_default {
    padding: 0 2.0em 5.0em;
  }
}
@media screen and (max-width: 567px) {}

/* 投稿ページ｜ページネーション */
.page-footer.sg_default .entry-footer .pagenation.single-pn {
  position: relative;
  display: flex;
  gap: 1.5em;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0;
  margin-bottom: 2.0em;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn:not(:has(*)) {
  display: none;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a {
  flex-grow: 0;
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: var(--color-darkblue);
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a :is(.sigle-angle-left, .sigle-angle-right) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-left {
  padding-left: 1.5em;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-right {
  padding-right: 1.5em;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-left::before,
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-right::before {
  display: block;
  position: absolute;
  top: calc(50% - 0.03em);
  width: 0.7em;
  padding-top: 0.7em;
  content: '';
  border: 0;
  margin: 0;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-left::before {
  left: 0%;
  border-left: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(45deg) translate(0%, -50%);
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-right::before {
  right: 0%;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg) translate(0%, -50%);
}


/* ########################
##  ページボタン（テンプレート用）
##  （.page-btn.posi a）
##  （.page-btn.nega a）
######################## */
.page-btn {
  position: relative;
  display: block;
  width: 100%;
  margin: 1.0em 0 1.5em;
}
.page-btn.center {
  text-align: center!important;
}
.page-btn a {
  position: relative;
  display: inline-block;
  font-weight: 500;
  font-size: 1.0em;
  padding: 1.0em;
  padding-left: 1.5em;
  padding-right: 2.5em;
  margin: 0 auto;
  margin-top: 0.5em;
  border-radius: 2.0em;
  line-height: 1.5;
  text-decoration: none;
  text-align: left;
  width: max-content;
  max-width: 100%;
  min-width: 180px;
  cursor: pointer;
}
.page-btn.posi a {
  background-color: var(--color-darkblue);
  color: var(--color-white);
  transition: background-color 0.15s ease;
}
.page-btn.posi a:hover {
  background-color: var(--color-darkcyan);
}
.page-btn.nega a {
  background-color: var(--color-white);
  color: var(--color-darkblue);
  transition: color 0.15s ease;
}
.page-btn.nega a:hover {
  color: var(--color-darkcyan);
}

.page-btn a::after {
  position: absolute;
  display: block;
  top: 50%;
  right: 1.5em;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform-origin: top left;
  transform: rotate(-45deg) translate(0%, 0%);
  content: '';
  transition: right 0.25s ease;
}
.page-btn a:hover::after {
  right: 1.25em;
}
.page-btn a {
  margin-right: 0.5em;
}
.page-btn a:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-btn a {
    display: block;
    width: 100%;
    text-align: center;
  }
  .page-btn a {
    margin-right: auto;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  メインコンテンツ（content.php｜the_content）
##
############################################## */
/* 見出し・本文・リンク・画像（#main_content_body） */
[id^="main_content_body"] :is(h2, h3, h4, h5, h6) {
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
  padding: 0;
}
[id^="main_content_body"] h2 {
  margin: 0;
  margin-top: 2.5em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] :is(h3, h4) {
  margin: 0;
  margin-top: 2.5em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] :is(h5, h6) {
  margin: 0;
  margin-top: 2.0em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] :is(h2, h3, h4, h5, h6) + :is(h2, h3, h4, h5, h6) {
  margin: 0;
  margin-top: 1.5em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] h2 {
  font-weight: 700;
  font-size: 2.0em;
  line-height: 1.5;
  color: var(--color-black);
  padding-bottom: 0.25em;
  border: none;
  border-bottom: 4px solid transparent;
  background: linear-gradient(90deg, var(--color-darkblue), var(--color-darkcyan), transparent) left bottom / 100% 4px no-repeat;
}
[id^="main_content_body"] h3 {
  font-weight: 700;
  font-size: 1.7em;
  line-height: 1.6;
  color: var(--color-black);
}
[id^="main_content_body"] h4 {
  font-weight: 700;
  font-size: 1.45em;
  line-height: 1.6;
  color: var(--color-darkblue);
}
[id^="main_content_body"] h5 {
  font-weight: 700;
  font-size: 1.3em;
  line-height: 1.7;
  color: var(--color-black);
}
[id^="main_content_body"] h6 {
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-darkblue);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] h2 {
    font-size: 1.6em;
    line-height: 1.6;
  }
  [id^="main_content_body"] h3 {
    font-size: 1.35em;
    line-height: 1.7;
  }
  [id^="main_content_body"] h4 {
    font-size: 1.22em;
    line-height: 1.7;
  }
  [id^="main_content_body"] h5 {
    font-size: 1.15em;
  }
  [id^="main_content_body"] h6 {
    font-size: 1.05em;
  }
}
@media screen and (max-width: 567px) {}


/* 本文・リンク・強調（#main_content_body） */
[id^="main_content_body"] p {
  margin: 1.0em 0;
  color: var(--color-black);
}
[id^="main_content_body"] p:not(.has-text-align-left):not(.has-text-align-center):not(.has-text-align-right) {
  text-align: justify;
}

[id^="main_content_body"] a {
  color: var(--color-darkcyan);
}
[id^="main_content_body"] a:hover {}

[id^="main_content_body"] strong {
  background: linear-gradient(transparent 60%, var(--color-marker) 60%);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* リード（#main_content_body） */
[id^="main_content_body"] .lead {
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-darkblue);
  padding: 0;
  margin: 2.0em 0;
}
[id^="main_content_body"] .lead:has(+ .lead) {
  margin-bottom: 1.0em;
}
[id^="main_content_body"] .lead + .lead {
  margin-top: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* キャッチ（#main_content_body） */
/*
[id^="main_content_body"] .catch {
  position: relative;
  font-weight: 700;
  font-size: 1.3em;
  color: var(--color-orange);
  padding: 3.0em;
  margin: 3.0em 0;
}
[id^="main_content_body"] .catch::before,
[id^="main_content_body"] .catch::after {
  display: block;
  position: absolute;
  content: '';
  width: 3.0em;
  padding: 0;
  padding-top: 3.0em;
  border: 0;
}
[id^="main_content_body"] .catch::before {
  top: 0;
  left: 0;
  border-top: 2px solid;
  border-left: 2px solid;
  border-radius: var(--round-basic) 0 0 0;
}
[id^="main_content_body"] .catch::after {
  right: 0;
  bottom: 0;
  border-right: 2px solid;
  border-bottom: 2px solid;
  border-radius: 0 0 var(--round-basic) 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  [id^="main_content_body"] .catch {
    font-size: 1.2em;
    padding: 2.0em;
    margin: 2.0em 0;
  }
  [id^="main_content_body"] .catch::before,
  [id^="main_content_body"] .catch::after {
    width: 2.0em;
    padding-top: 2.0em;
  }
}
*/


/* ブロックカラム（#main_content_body） */
[id^="main_content_body"] .wp-block-columns {
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] :is(h2, h3, h4, h5, h6) + .wp-block-columns {
  margin-top: 1.0em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] p + .wp-block-columns {
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] .wp-block-columns + .wp-block-columns {
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] .wp-block-columns + p {
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
[id^="main_content_body"] .wp-block-columns.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] .wp-block-columns.reverse {
    flex-direction: initial;
  }
}
@media screen and (max-width: 567px) {}


/* WP-Block カラム（標準） */
@media screen and (min-width: 1024px) {
  :where(.wp-block-columns.is-layout-flex) {
    gap: 3.0em!important;
  }
  :where(.wp-block-columns) {
    margin-bottom: 3.0em!important;
  }
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 568px) {}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* ブロックカラム｜囲み（#main_content_body） */
[id^="main_content_body"] .wp-block-columns:is(.frame, .box) {
  padding: 2.5em;
}
[id^="main_content_body"] .wp-block-columns:is(.frame, .box).min {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
[id^="main_content_body"] .wp-block-columns.frame {
  border: 1px solid var(--color-gray);
}
[id^="main_content_body"] .wp-block-columns.box {
  background-color: var(--color-lightgray);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] .wp-block-columns:is(.frame, .box) {
    padding: 1.5em;
  }
}
@media screen and (max-width: 567px) {}


/* 表組（#main_content_body） */
[id^="main_content_body"] table {
  width: 100%;
  border-spacing: 0;
  margin: 2.0em 0;
}
[id^="main_content_body"] table:has(+ figcaption) {
  margin: 2.0em 0 0.5em;
}
[id^="main_content_body"] table + figcaption {
  margin: 0.5em 0 2.0em;
}
[id^="main_content_body"] table :is(thead, tbody) :is(th, td) {
  padding: 0.75em 1.0em 0.6em!important;
  min-width: calc(6.0em + 2px);
  border-top: 1px solid var(--color-black)!important;
  border-left: none!important;
  border-bottom: none!important;
}
[id^="main_content_body"] table :is(thead, tbody) th {
  color: var(--color-darkblue);
  /*border-right: 1px solid var(--color-white)!important;*/
  border-right: none!important;
}
[id^="main_content_body"] table :is(thead, tbody) td {
  /*border-right: 1px solid var(--color-powderblue)!important;*/
  border-right: none!important;
}
[id^="main_content_body"] table :is(thead, tbody) tr:first-child :is(th, td) {
  border-top: none!important;
}
[id^="main_content_body"] table :is(thead, tbody) :is(th, td):last-child {
  border-right: none!important;
}
[id^="main_content_body"] table thead {
  border-top: 1px solid var(--color-black)!important;
  border-left: none!important;
  border-right: none!important;
  border-bottom: none!important;
}
[id^="main_content_body"] table tbody {
  border-top: 1px solid var(--color-black)!important;
  border-left: none!important;
  border-right: none!important;
  border-bottom: 1px solid var(--color-black)!important;
}
[id^="main_content_body"] table thead :is(th, td),
[id^="main_content_body"] table thead :is(th, td) p {
  text-align: center;
  font-weight: 500;
}
[id^="main_content_body"] table tbody th,
[id^="main_content_body"] table tbody th p {
  font-weight: 500;
}
[id^="main_content_body"] table tbody td,
[id^="main_content_body"] table tbody td p {
  font-weight: 400;
}
[id^="main_content_body"] table thead :is(th, td) {
  background: var(--color-white-50per)!important;
  text-align: center!important;
}
[id^="main_content_body"] table tbody th {
  background: var(--color-white-50per)!important;
}
[id^="main_content_body"] table tbody td {
  background: var(--color-white-50per)!important;
}
@media screen and (min-width: 1024px) {}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 568px) {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] table.is-stacked-on-mobile :is(thead, tbody) th {
    border-right: none!important;
  }
  [id^="main_content_body"] table.is-stacked-on-mobile :is(thead, tbody) td {
    border-right: none!important;
  }
  [id^="main_content_body"] table.is-stacked-on-mobile :is(thead, tbody) tr:first-child :is(th, td) {
    border-top: 1px solid var(--color-black)!important;
  }
  [id^="main_content_body"] table.is-stacked-on-mobile :is(thead, tbody) tr:first-child :is(th:first-child, td:first-child) {
    border-top: none!important;
  }
}
@media screen and (max-width: 567px) {
  [id^="main_content_body"] table :is(thead, tbody) :is(th, td) {
    padding: 0.75em 0.75em 0.6em!important;
  }
}

[id^="main_content_body"] .wp-block-flexible-table-block-table {
  margin: 2.0em 0;
}


/* リスト（#main_content_body） */
[id^="main_content_body"] :is(ul, ol):not(.smf-progress-tracker) {
  margin: 1.0em 0;
  padding-left: 1.5em;
}
[id^="main_content_body"] ul:not(.smf-progress-tracker) {
  list-style-type: disc;
}
[id^="main_content_body"] ol:not(.smf-progress-tracker) {
  list-style-type: decimal;
}
[id^="main_content_body"] :is(ul, ol):not(.smf-progress-tracker) li {
  margin: 0.5em 0;
  padding-left: 0.5em;
}
[id^="main_content_body"] :is(ul, ol):not(.smf-progress-tracker) li::marker {
  color: var(--color-darkblue);
}
[id^="main_content_body"] :is(ul, ol):not(.smf-progress-tracker) li:first-child {
  margin: 0 0 0.5em;
}
[id^="main_content_body"] :is(ul, ol):not(.smf-progress-tracker) li:last-child {
  margin: 0.5em 0 0;
}

[id^="main_content_body"] li > :is(ul, ol):not(.smf-progress-tracker) {
  margin: 0.5em 0;
}
[id^="main_content_body"] li > :is(ul, ol):not(.smf-progress-tracker) li,
[id^="main_content_body"] li > :is(ul, ol):not(.smf-progress-tracker) li:first-child,
[id^="main_content_body"] li > :is(ul, ol):not(.smf-progress-tracker) li:last-child {
  margin: 0;
}


/* ボタン（#main_content_body） */
[id^="main_content_body"] .link-btn {
  position: relative;
  display: block;
  width: 100%;
  margin: 1.0em 0 1.5em;
}
[id^="main_content_body"] .link-btn.center {
  text-align: center!important;
}
[id^="main_content_body"] .link-btn a {
  position: relative;
  display: inline-block;
  font-weight: 500;
  font-size: 1.0em;
  color: var(--color-white);
  padding: 1.0em;
  padding-left: 1.5em;
  padding-right: 2.5em;
  margin: 0 auto;
  margin-top: 0.5em;
  border-radius: 2.0em;
  line-height: 1.5;
  text-decoration: none;
  text-align: left;
  width: max-content;
  max-width: 100%;
  min-width: 180px;
  background-color: var(--color-darkblue);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
[id^="main_content_body"] .link-btn a:hover {
  background-color: var(--color-darkcyan);
}
[id^="main_content_body"] .link-btn a::after {
  position: absolute;
  display: block;
  top: 50%;
  right: 1.5em;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform-origin: top left;
  transform: rotate(-45deg) translate(0%, 0%);
  content: '';
  transition: right 0.25s ease;
}
[id^="main_content_body"] .link-btn a:hover::after {
  right: 1.25em;
}
[id^="main_content_body"] .link-btn a {
  margin-right: 0.5em;
}
[id^="main_content_body"] .link-btn a:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] .link-btn a {
    display: block;
    width: 100%;
    text-align: center;
  }
  [id^="main_content_body"] .link-btn a {
    margin-right: auto;
  }
}
@media screen and (max-width: 567px) {}


/* 画像（#main_content_body） */
[id^="main_content_body"] .wp-block-image {}
[id^="main_content_body"] .wp-block-image + .wp-block-image {
  margin-top: 2.0em;
}
/*
[id^="main_content_body"] figure img {
  border-radius: var(--round-basic);
  overflow: hidden;
}
[id^="main_content_body"] figure.no-round img {
  border-radius: 0;
}
*/


/* 画像キャプション｜ブロック（#main_content_body）*/
[id^="main_content_body"] .wp-block-image :where(figcaption),
[id^="main_content_body"] .wp-block-video :where(figcaption) {
  font-size: 0.9em;
}


/* ギャラリー（#main_content_body） */
[id^="main_content_body"] .wp-block-gallery {
  margin-top: 3.0em;
  margin-bottom: 3.0em;
}


/* 区切り罫（#main_content_body）*/
[id^="main_content_body"] hr,
.wp-block-separator {
  border: none;
  /*border-top: 1px solid;*/
  width: 100%;
  margin: 5.0em 0;
}
[id^="main_content_body"] hr,
.wp-block-separator {
  border-top: 2px dotted var(--color-powderblue)!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] hr,
  .wp-block-separator {
    margin: 4.0em 0;
  }
}
@media screen and (max-width: 567px) {}


/* 引用（カテゴリー：review で使用）（#main_content_body）*/
/*
[id^="main_content_body"] .review {}
[id^="main_content_body"] .wp-block-quote {
  position: relative;
  border: none;
  padding-top: 2.5em;
  padding-left: 3.0em;
  padding-right: 2.5em;
  padding-bottom: 2.0em;
}
[id^="main_content_body"] .wp-block-quote::before,
[id^="main_content_body"] .wp-block-quote::after {
  display: inline-block;
  position: absolute;
  width: 4.0em;
  height: 4.0em;
  border: none;
  content: '';
}
[id^="main_content_body"] .wp-block-quote::before {
  top: 0;
  left: 0;
  border-top: 1px solid var(--color-turquoise);
  border-left: 1px solid var(--color-turquoise);
  border-top-left-radius: var(--round-basic);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%2370b9bf'%3E%3C/path%3E%3C/svg%3E");
  background-position: top 35% left 35%;
  background-size: 2.0em;
  background-repeat: no-repeat;
}
[id^="main_content_body"] .wp-block-quote::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid var(--color-turquoise);
  border-bottom: 1px solid var(--color-turquoise);
  border-bottom-right-radius: var(--round-basic);
}
[id^="main_content_body"] .wp-block-quote p {
  display: block;
  color: var(--color-gray)!important;
}
[id^="main_content_body"] .wp-block-quote .cite {
  font-size: 0.8em;
  text-align: right;
  transform: skewX(-7deg);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] .wp-block-quote {
    padding-top: 2.0em;
    padding-left: 2.5em;
    padding-right: 2.0em;
    padding-bottom: 1.5em;
  }
  [id^="main_content_body"] .wp-block-quote::before,
  [id^="main_content_body"] .wp-block-quote::after {
    width: 3.5em;
    height: 3.5em;
  }
  [id^="main_content_body"] .wp-block-quote::before {
    background-position: top 40% left 40%;
    background-size: 1.75em;
  }
}
@media screen and (max-width: 567px) {}
*/


/* Googleマップ埋め込み（#main_content_body） */
/*
[id^="main_content_body"] .embed-googlemap {
  position: relative;
  width: 100%;
  padding-top: 295px;
  display: block;
  border-radius: var(--round-basic);
  overflow: hidden;
}
[id^="main_content_body"] .embed-googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
*/


/* ページリンク ボタン（#main_content_body）*/
[id^="main_content_body"] ul.page-list-btn {
  position: relative;
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  list-style-type: none;
  width: 100%;
  padding: 0;
  margin: 0;
  margin-top: 3.0em;
  margin-bottom: 3.0em;
}
[id^="main_content_body"] ul.page-list-btn li {
  position: relative;
  display: flex;
  width: calc((100% - 1.5em * 2) / 3);
  max-width: 100%;
  padding: 0!important;
  margin: 0!important;
}
[id^="main_content_body"] ul.page-list-btn li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.0em;
  text-decoration: none;
  color: var(--color-darkblue);
  border: 1px solid;
  background-color: var(--color-white-50per);
  width: 100%;
  padding: 2.0em 1.0em;
  padding-right: 2.0em;
  transition: color 0.15s ease;
}
[id^="main_content_body"] ul.page-list-btn li a:hover {
  color: var(--color-darkcyan);
}
[id^="main_content_body"] ul.page-list-btn li a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.0em;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform-origin: top left;
  transform: rotate(-45deg) translate(0%, 0%);
  content: '';
  transition: right 0.25s ease;
}
[id^="main_content_body"] ul.page-list-btn li a:hover::after {
  right: 0.75em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] ul.page-list-btn li {
    width: calc((100% - 1.5em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  [id^="main_content_body"] ul.page-list-btn {
    gap: 1.0em;
  }
  [id^="main_content_body"] ul.page-list-btn li {
    width: calc((100% - 1.5em * 0) / 1);
  }
}


/* ページアンカー ボタン（#main_content_body）*/
[id^="main_content_body"] ul.page-anchor-btn {
  position: relative;
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  list-style-type: none;
  width: 100%;
  line-height: 1.5;
  padding: 0;
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 6.0em;
}
[id^="main_content_body"] ul.page-anchor-btn.center {
  justify-content: center;
}
[id^="main_content_body"] ul.page-anchor-btn li {
  position: relative;
  display: flex;
  width: calc((100% - 1.5em * 3) / 4);
  max-width: 100%;
  padding: 0!important;
  margin: 0!important;
}
[id^="main_content_body"] ul.page-anchor-btn li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-weight: 500;
  font-size: 1.0em;
  text-align: center;
  text-decoration: none;
  color: var(--color-white);
  background-color: var(--color-darkcyan);
  border-radius: 1.75em;
  padding: 0.5em 1.75em;
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
[id^="main_content_body"] ul.page-anchor-btn li a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 0.65em;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-left: 1px solid;
  border-bottom: 1px solid;
  transform-origin: 50% 50%;
  transform: rotate(-45deg) translate(50%, -50%);
  content: '';
  transition: top 0.2s ease;
}
[id^="main_content_body"] ul.page-anchor-btn li a:hover {
  opacity: 0.9;
}
[id^="main_content_body"] ul.page-anchor-btn li a:hover::after {
  top: 55%;
}
@media screen and (max-width: 1023px) {
  [id^="main_content_body"] ul.page-anchor-btn li {
    width: calc((100% - 1.5em * 2) / 3);
  }
}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] ul.page-anchor-btn {
    margin-bottom: 4.0em;
  }
  [id^="main_content_body"] ul.page-anchor-btn li {
    width: calc((100% - 1.5em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  [id^="main_content_body"] ul.page-anchor-btn {
    gap: 1.0em;
  }
  [id^="main_content_body"] ul.page-anchor-btn li {
    width: calc((100% - 1.5em * 0) / 1);
  }
}


/* ########################
##  金沢機工とは（/about-us/）（#main_content_body）
######################## */
[id^="main_content_body"] .en-deco {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 5.0em;
  width: max-content;
  max-width: 100%;
  text-transform: uppercase;
  line-height: 1.5;
  background-image: url('../images/title_bg/title_bg_min-0.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-0.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: multiply;
}
[id^="main_content_body"] .en-deco.bg01 {
  background-image: url('../images/title_bg/title_bg_min-1.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-1.jpg');*/
}
[id^="main_content_body"] .en-deco.bg02 {
  background-image: url('../images/title_bg/title_bg_min-2.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-2.jpg');*/
}
[id^="main_content_body"] .en-deco.bg03 {
  background-image: url('../images/title_bg/title_bg_min-3.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-3.jpg');*/
}
[id^="main_content_body"] .en-deco.bg04 {
  background-image: url('../images/title_bg/title_bg_min-4.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-4.jpg');*/
}
[id^="main_content_body"] .en-deco.bg05 {
  background-image: url('../images/title_bg/title_bg_min-5.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-5.jpg');*/
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  [id^="main_content_body"] .en-deco {
    font-size: 3.0em;
  }
}


/* ########################
##  実績・導入事例（/works/）（#main_content_body）
######################## */
/* よくある質問 */
[id^="main_content_body"] .faq_box {
  margin-top: 2.5em;
}
[id^="main_content_body"] .faq_box h4 {
  position: relative!important;
  display: block!important;
  width: 100%;
  padding: 1.0em 1.0em;
  padding-left: 2.5em!important;
  margin-bottom: 1.0em!important;
  letter-spacing: 0!important;
  font-weight: 500!important;
  font-size: 1.0em!important;
  line-height: 1.7!important;
  color: var(--color-white)!important;
  background: linear-gradient(to right, var(--color-darkcyan), var(--color-darkblue));
  border-radius: 0.75em;
}
[id^="main_content_body"] .faq_box h4::before {
  display: block!important;
  position: absolute!important;
  top: 0!important;
  left: 0!important;
  transform: translate(0.75em, 1.0em) scale(200%)!important;
  content: 'Q'!important;
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  color: var(--color-white)!important;
  width: auto!important;
  height: auto!important;
}
[id^="main_content_body"] .faq_box p {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 1.0em;
  padding-left: 2.5em!important;
  line-height: 1.7!important;
  color: var(--color-black)!important;
  margin: 1.0em 0;
}
[id^="main_content_body"] .faq_box p::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0.75em, 0em) scale(200%);
  content: 'A';
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  color: var(--color-darkblue)!important;
}


/* ########################
##  ＃＃エレメント（/site-elements/）（#main_content_body）
######################## */
/* ＃＃エレメント｜ショートコード表示用 */
/*
[id^="main_content_body"] .elements_code {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  font-size: 0.9em;
  padding: 0.75em 1.0em;
  margin: 1.5em 0;
  background: var(--color-lightgray);
}
*/




/* ##############################################
##
##  エディタ（エレメント）用
##
############################################## */
/* マージン margin （上下） */
.mt-0 { margin-top: 0!important; }
.mt-1 { margin-top: 1.0em!important; }
.mt-2 { margin-top: 2.0em!important; }
.mt-3 { margin-top: 3.0em!important; }
.mt-4 { margin-top: 4.0em!important; }
.mt-5 { margin-top: 5.0em!important; }
.mt-6 { margin-top: 6.0em!important; }
.mt-7 { margin-top: 7.0em!important; }
.mt-8 { margin-top: 8.0em!important; }
.mb-0 { margin-bottom: 0!important; }
.mb-1 { margin-bottom: 1.0em!important; }
.mb-2 { margin-bottom: 2.0em!important; }
.mb-3 { margin-bottom: 3.0em!important; }
.mb-4 { margin-bottom: 4.0em!important; }
.mb-5 { margin-bottom: 5.0em!important; }
.mb-6 { margin-bottom: 6.0em!important; }
.mb-7 { margin-bottom: 7.0em!important; }
.mb-8 { margin-bottom: 8.0em!important; }

.mt-05 { margin-top: 0.5em!important; }
.mt-15 { margin-top: 1.5em!important; }
.mt-25 { margin-top: 2.5em!important; }
.mt-35 { margin-top: 3.5em!important; }
.mt-45 { margin-top: 4.5em!important; }
.mt-55 { margin-top: 5.5em!important; }
.mt-65 { margin-top: 6.5em!important; }
.mt-75 { margin-top: 7.5em!important; }
.mt-85 { margin-top: 8.5em!important; }
.mb-05 { margin-bottom: 0.5em!important; }
.mb-15 { margin-bottom: 1.5em!important; }
.mb-25 { margin-bottom: 2.5em!important; }
.mb-35 { margin-bottom: 3.5em!important; }
.mb-45 { margin-bottom: 4.5em!important; }
.mb-55 { margin-bottom: 5.5em!important; }
.mb-65 { margin-bottom: 6.5em!important; }
.mb-75 { margin-bottom: 7.5em!important; }
.mb-85 { margin-bottom: 8.5em!important; }

/* パディング padding （上下・左右） */
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-1 { padding-top: 1.0em; padding-bottom: 1.0em; }
.py-2 { padding-top: 2.0em; padding-bottom: 2.0em; }
.py-3 { padding-top: 3.0em; padding-bottom: 3.0em; }
.py-4 { padding-top: 4.0em; padding-bottom: 4.0em; }
.py-5 { padding-top: 5.0em; padding-bottom: 5.0em; }
.py-6 { padding-top: 6.0em; padding-bottom: 6.0em; }
.py-7 { padding-top: 7.0em; padding-bottom: 7.0em; }
.py-8 { padding-top: 8.0em; padding-bottom: 8.0em; }
.px-0 { padding-left: 0; padding-right: 0; }
.px-1 { padding-left: 1.0em; padding-right: 1.0em; }
.px-2 { padding-left: 2.0em; padding-right: 2.0em; }
.px-3 { padding-left: 3.0em; padding-right: 3.0em; }
.px-4 { padding-left: 4.0em; padding-right: 4.0em; }
.px-5 { padding-left: 5.0em; padding-right: 5.0em; }
.px-5 { padding-left: 6.0em; padding-right: 6.0em; }
.px-5 { padding-left: 7.0em; padding-right: 7.0em; }
.px-5 { padding-left: 8.0em; padding-right: 8.0em; }

.py-05 { padding-top: 0.5em; padding-bottom: 0.5em; }
.py-15 { padding-top: 1.5em; padding-bottom: 1.5em; }
.py-25 { padding-top: 2.5em; padding-bottom: 2.5em; }
.py-35 { padding-top: 3.5em; padding-bottom: 3.5em; }
.py-45 { padding-top: 4.5em; padding-bottom: 4.5em; }
.py-55 { padding-top: 5.5em; padding-bottom: 5.5em; }
.py-65 { padding-top: 6.5em; padding-bottom: 6.5em; }
.py-75 { padding-top: 7.5em; padding-bottom: 7.5em; }
.py-85 { padding-top: 8.5em; padding-bottom: 8.5em; }
.px-05 { padding-left: 0.5em; padding-right: 0.5em; }
.px-15 { padding-left: 1.5em; padding-right: 1.5em; }
.px-25 { padding-left: 2.5em; padding-right: 2.5em; }
.px-35 { padding-left: 3.5em; padding-right: 3.5em; }
.px-45 { padding-left: 4.5em; padding-right: 4.5em; }
.px-55 { padding-left: 5.5em; padding-right: 5.5em; }
.px-65 { padding-left: 6.5em; padding-right: 6.5em; }
.px-75 { padding-left: 7.5em; padding-right: 7.5em; }
.px-85 { padding-left: 8.5em; padding-right: 8.5em; }

.pt-0 { padding-top: 0; }
.pt-1 { padding-top: 1.0em; }
.pt-2 { padding-top: 2.0em; }
.pt-3 { padding-top: 3.0em; }
.pt-4 { padding-top: 4.0em; }
.pt-5 { padding-top: 5.0em; }
.pt-6 { padding-top: 6.0em; }
.pt-7 { padding-top: 7.0em; }
.pt-8 { padding-top: 8.0em; }
.pt-05 { padding-top: 0.5em; }
.pt-15 { padding-top: 1.5em; }
.pt-25 { padding-top: 2.5em; }
.pt-35 { padding-top: 3.5em; }
.pt-45 { padding-top: 4.5em; }
.pt-55 { padding-top: 5.5em; }
.pt-65 { padding-top: 6.5em; }
.pt-75 { padding-top: 6.5em; }
.pt-85 { padding-top: 6.5em; }

.pb-0 { padding-bottom: 0; }
.pb-1 { padding-bottom: 1.0em; }
.pb-2 { padding-bottom: 2.0em; }
.pb-3 { padding-bottom: 3.0em; }
.pb-4 { padding-bottom: 4.0em; }
.pb-5 { padding-bottom: 5.0em; }
.pb-6 { padding-bottom: 6.0em; }
.pb-7 { padding-bottom: 7.0em; }
.pb-8 { padding-bottom: 8.0em; }
.pb-05 { padding-bottom: 0.5em; }
.pb-15 { padding-bottom: 1.5em; }
.pb-25 { padding-bottom: 2.5em; }
.pb-35 { padding-bottom: 3.5em; }
.pb-45 { padding-bottom: 4.5em; }
.pb-55 { padding-bottom: 5.5em; }
.pb-65 { padding-bottom: 6.5em; }
.pb-75 { padding-bottom: 7.5em; }
.pb-85 { padding-bottom: 8.5em; }




/* ##############################################
##
##  お問い合わせフォーム｜Snow Monkey Form
##
############################################## */
/* お問い合わせフォーム｜Snow Monkey Form｜ラベル［必須］ */
.form-label_hissu .smf-item__label__text {
  position: relative;
}
.form-label_hissu .smf-item__label__text::after {
  position: relative;
  display: inline-block;
  content: '［必須］';
  color: var(--color-red);
  font-weight: 500;
  font-size: 0.9em;
}

/* お問い合わせフォーム｜Snow Monkey Form｜ラベル背景色 */
/*
.smf-form--business .smf-item__col--label {
  background-color: var(--color-white)!important;
}
*/

/* お問い合わせフォーム｜Snow Monkey Form｜テキスト入力・文字サイズ */
.smf-text-control input,
.smf-textarea-control textarea {
  font-size: 1.0em;
}

/* お問い合わせフォーム｜Snow Monkey Form｜設問注釈・文字サイズ */
.smf-item__description {
  font-size: 0.8em!important;
}

/* お問い合わせフォーム｜Snow Monkey Form｜ボタン・文字サイズ */
.smf-button-control button {
  font-size: 1.0em;
}

/* お問い合わせフォーム｜Snow Monkey Form｜項目説明・文字サイズ */
.smf-placeholder {
  margin-bottom: 1.0em;
}
.smf-placeholder:last-child {
  margin-bottom: 0;
}
.smf-control-description {
  font-size: 0.9em!important;
}

[id^="main_content_body"] .snow-monkey-form {
  margin-top: 3.0em;
}




/* ##############################################
##
##  固定ページ｜金沢機工とは（pg_default.php）
##
############################################## */
/* 固定ページ｜金沢機工とは（「会社概要」の内容を表示） */
.aboutus-outline_body {
  position: relative;
  width: calc(50% - 2.0em);
}
.aboutus-outline_body .outline_title {
  position: relative;
  width: 100%;
}
.aboutus-outline_body .outline_title :is(.title_en, .title_jp) {
  position: relative;
  display: block;
}
.aboutus-outline_body .outline_title .title_en {
  display: block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 3.5em;
  text-transform: uppercase;
  line-height: 1.2;
  background-image: url('../images/title_bg/title_bg_min-0.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-0.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: multiply;
  user-select: none;
}
.aboutus-outline_body .outline_title .title_jp {
  font-weight: 500;
  font-size: 1.2em;
  margin: 0.5em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .aboutus-outline_body {
    width: 100%;
  }
  .aboutus-outline_body .outline_title .title_en {
    font-size: 2.5em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  固定ページ｜インタビュー（pg_interview.php）
##
############################################## */




/* ##############################################
##
##  アーカイブページ｜ニュース（achv_news-list.php）
##  固定ページ｜ニュース（pg_news-list.php）
##
############################################## */
/* ニュース｜メイン（achv_news-list.php、pg_news-list.php） */
.page-content.pg_news {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}
.page-content.pg_news .entry-content {
  /*padding: 4.0em 4.0em;*/
  padding: 4.0em 4.0em 6.0em;
}
.page-content.pg_news .entry-content .container {
  max-width: 1100px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-content.pg_news .entry-content {
    /*padding: 3.0em 2.0em;*/
    padding: 3.0em 2.0em 5.0em;
  }
}
@media screen and (max-width: 567px) {}

/* ニュース｜カテゴリタブ（achv_news-list.php、pg_news-list.php） */
.page-content .entry-content .container.news-tab {
  margin-bottom: 4.0em;
}
.page-content .entry-content .container.news-tab ul {
  position: relative;
  display: flex;
  gap: 0.5em;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style-type: none;
  line-height: 1.5;
}
.page-content .entry-content .container.news-tab ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-content .entry-content .container.news-tab ul li a {
  text-decoration: none;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  background-color: var(--color-white);
  border: 1px solid var(--color-darkblue);
  transition: background-color 0.2s ease;
}
.page-content .entry-content .container.news-tab ul li a:hover {
  background-color: var(--color-darkblue);
}
.page-content .entry-content .container.news-tab ul li a span {
  position: relative;
  display: inline-block;
  font-size: 0.85em;
  color: var(--color-darkblue);
  width: 100%;
  max-width: max-content;
  transition: color 0.2s ease;
}
.page-content .entry-content .container.news-tab ul li a span::after {
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-left: 0.5em;
  content: '';
}
.page-content .entry-content .container.news-tab ul li a:hover span {
  color: var(--color-white);
}
.page-content .entry-content .container.news-tab ul li a:hover span::after {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .page-content .entry-content .container.news-tab ul li a span {
    font-size: 0.8em;
  }
}


/* ニュース｜カテゴリタブ（achv_news-list.php、pg_news-list.php） */
/* 商材検索｜カテゴリタブ（achv_merchandise.php） */
/* カテゴリタブ 共通 */
.container.cat-tab {
  margin-bottom: 4.0em;
}
.container.cat-tab ul {
  position: relative;
  display: flex;
  gap: 0.5em;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style-type: none;
  line-height: 1.5;
}
.container.cat-tab ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.container.cat-tab ul li a {
  text-decoration: none;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  background-color: var(--color-white);
  border: 1px solid var(--color-darkblue);
  transition: background-color 0.2s ease;
}
.container.cat-tab ul li a:hover {
  background-color: var(--color-darkblue);
}
.container.cat-tab ul li a span {
  position: relative;
  display: inline-block;
  font-size: 0.85em;
  color: var(--color-darkblue);
  width: 100%;
  max-width: max-content;
  transition: color 0.2s ease;
}
.container.cat-tab ul li a span::after {
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-left: 0.5em;
  content: '';
}
.container.cat-tab ul li a:hover span {
  color: var(--color-white);
}
.container.cat-tab ul li a:hover span::after {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .container.cat-tab ul li a span {
    font-size: 0.8em;
  }
}

/* ニュース｜一覧リスト（achv_news-list.php、pg_news-list.php） */
.news-body,
.news-body .news-list,
.news-body .news-list ul {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
}
.news-body {
  max-width: 1100px;
  margin: 0 auto;
}
.news-body .news-list ul {
  list-style-type: none;
  line-height: 1.5;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* ニュース｜一覧リスト（loop-news-list.php） */
.news-body .news-list ul li {
  position: relative;
  display: block;
  width: 100%;
  color: var(--color-darkblue);
  border: none;
  border-top: 1px solid;
}
.news-body .news-list ul li:last-child {
  border-bottom: 1px solid;
}
.news-body .news-list ul li > :is(a.link, .nolink) {}
.news-body .news-list ul li > .edit {}
.news-body .news-list ul li > :is(a.link, .nolink) {
  position: relative;
  display: flex;
  column-gap: 2.0em;
  row-gap: 1.0em;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 2.0em 2.5em;
  margin: 0;
  line-height: 1.5;
  text-decoration: none;
  background-color: var(--color-white-50per);
  transition: background-color 0.2s ease;
}
.news-body .news-list ul li > a.link:hover {
  background-color: var(--color-darkblue);
}
.news-body .news-list ul li > :is(a.link, .nolink) :is(.date, .cat, .content) {
  position: relative;
  display: block;
}
.news-body .news-list ul li > a.link :is(.date, .cat, .content) {
  color: var(--color-darkblue);
  transition: color 0.2s ease;
}
.news-body .news-list ul li > a.link:hover :is(.date, .cat, .content) {
  color: var(--color-white);
}
.news-body .news-list ul li > .nolink :is(.date, .content) {
  color: var(--color-black);
}
.news-body .news-list ul li > :is(a.link, .nolink) .date {
  flex-grow: 0;
}
.news-body .news-list ul li > :is(a.link, .nolink) .cat {
  flex-grow: 0;
}
.news-body .news-list ul li > :is(a.link, .nolink) .content {
  flex-grow: 1;
}
.news-body .news-list ul li > :is(a.link, .nolink) .date .info-date {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.news-body .news-list ul li > :is(a.link, .nolink) .cat .info-cat {
  display: inline-block;
  font-size: 0.8em;
  text-align: center;
  color: var(--color-darkblue);
  background-color: var(--color-white);
  width: max-content;
  max-width: 100%;
  min-width: 11.0em;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  border: 1px solid;
}
.news-body .news-list ul li > a.link .cat .info-cat {
  color: var(--color-white);
  background-color: var(--color-darkblue);
}
.news-body .news-list ul li > :is(a.link, .nolink) .content .info-content {
  position: relative;
  display: block;
}
.news-body .news-list ul li > :is(a.link, .nolink) .cat .info-cat {
  margin-right: 0.75em;
}
.news-body .news-list ul li > :is(a.link, .nolink) .cat .info-cat:last-child {
  margin-right: 0;
}

.news-body .news-list ul li > a.link .content .info-content :is(.ico_file, .ico_external, .ico_internal) {
  position: relative;
  display: inline-block;
  vertical-align: -0.2em;
  margin-left: 0.25em;
  width: 1.1em;
  padding-top: 1.1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: background-image 0.2s ease;
}
.news-body .news-list ul li > a.link .content .info-content .ico_file {
  background-image: url('../images/ico/ico_news_file_darkblue.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_file_darkblue.svg');*/
}
.news-body .news-list ul li > a.link .content .info-content .ico_external {
  background-image: url('../images/ico/ico_news_external_darkblue.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_external_darkblue.svg');*/
}
.news-body .news-list ul li > a.link .content .info-content .ico_internal {
  background-image: url('../images/ico/ico_news_internal_darkblue.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_internal_darkblue.svg');*/
}
.news-body .news-list ul li > a.link:hover .content .info-content .ico_file {
  background-image: url('../images/ico/ico_news_file_white.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_file_white.svg');*/
}
.news-body .news-list ul li > a.link:hover .content .info-content .ico_external {
  background-image: url('../images/ico/ico_news_external_white.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_external_white.svg');*/
}
.news-body .news-list ul li > a.link:hover .content .info-content .ico_internal {
  background-image: url('../images/ico/ico_news_internal_white.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_internal_white.svg');*/
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .news-body .news-list ul li > :is(a.link, .nolink) {
    flex-wrap: wrap;
    column-gap: 1.0em;
    padding: 1.5em 1.0em;
  }
  .news-body .news-list ul li > :is(a.link, .nolink) .content {
    width: 100%;
  }
  .news-body .news-list ul li > :is(a.link, .nolink) .cat .info-cat {
    min-width: initial;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  固定ページ｜事業・サービス（loop-business.php）
##
############################################## */
/* 事業・サービス（個別ページ）｜提供する価値 */
.business_value {
  position: relative;
  display: flex;
  gap: 2.0em;
  flex-wrap: wrap;
  width: 100%;
}
.business_value .items {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 2.0em * 2) / 3);
}
.business_value .items .items_wrap {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 1.0em;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 1.5em 1.0em;
  background-color: var(--color-white);
  border: 1px solid var(--color-paleblue);
  border-radius: 1.0em;
}
.business_value .items .items_wrap .item_icon {
  flex-grow: 0;
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.business_value .items .items_wrap .item_icon .image {
  position: relative;
  display: block;
  width: 70px;
  max-width: 100%;
  padding-top: 70px;
}
.business_value .items .items_wrap .item_icon .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.business_value .items .items_wrap .item_text {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 0.5em;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
}
.business_value .items .items_wrap .item_text :is(.title, .text) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  line-height: 1.7;
}
.business_value .items .items_wrap .item_text .title {
  flex-grow: 0;
}
.business_value .items .items_wrap .item_text .text {
  flex-grow: 1;
}
.business_value .items .items_wrap .item_text :is(.title, .text) span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
}
.business_value .items .items_wrap .item_text .title span {
  font-weight: 500;
  font-size: 1.2em;
  color: var(--color-darkblue);
}
.business_value .items .items_wrap .item_text .text span {
  font-size: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .business_value {
    gap: 1.5em;
  }
  .business_value .items {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
  .business_value .items .items_wrap {
    gap: 1.5em;
    flex-direction: row;
  }
  .business_value .items .items_wrap .item_icon {
    width: 70px;
  }
  .business_value .items .items_wrap .item_text :is(.title, .text) {
    width: 100%;
  }
  .business_value .items .items_wrap .item_text :is(.title, .text) span {
    width: 100%;
    text-align: left;
  }
  .business_value .items .items_wrap .item_text .title span {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 567px) {
  .business_value .items {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}

/* 事業・サービス（個別ページ）｜取扱製品・サービス */
.business_service {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
}
.business_service .items_list {
  flex-grow: 0;
  position: relative;
  display: flex;
  width: 25%;
  max-width: 100%;
}
.business_service .items_list ul {}
.business_service .items_list ul li {}
.business_service .items_list ul li span {}
.business_service .items_images {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 75%;
  max-width: 100%;
}
.business_service .items_images .images_wrap {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 1.0em;
  flex-wrap: wrap;
  width: 100%;
}
.business_service .items_images .images_wrap .image {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 1.0em * 2) / 3);
  padding-top: calc((100% - 1.0em * 2) / 3 * (2 / 3));
  border-radius: 1.0em;
  overflow: hidden;
}
.business_service .items_images .images_wrap .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .business_service {
    flex-direction: column;
  }
  .business_service .items_list {
    width: 100%;
  }
  .business_service .items_images {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  .business_service .items_images .images_wrap .image {
    max-width: calc((100% - 1.0em * 1) / 2);
    padding-top: calc((100% - 1.0em * 1) / 2 * (2 / 3));
  }
}




/* ##############################################
##
##  固定ページ｜採用情報トップ（pg_recruit-top.php）
##
############################################## */
/* 固定ページ｜採用情報トップ｜共通 */
.pg_recruit-top {
  z-index: 0;
}
.pg_recruit-top .entry-content {
  padding: 6.0em 4.0em 6.0em;
}
.pg_recruit-top .entry-content:has(> .container > h2) {
  padding: 0 4.0em 6.0em;
}
.pg_recruit-top .entry-content .container {
  max-width: 1200px;
}
.pg_recruit-top .entry-content .container > h2 {
  margin-bottom: 3.5em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .pg_recruit-top .entry-content {
    padding: 5.0em 2.0em 5.0em;
  }
  .pg_recruit-top .entry-content:has(> .container > h2) {
    padding: 0 2.0em 5.0em;
  }
  .pg_recruit-top .entry-content .container > h2 {
    margin-bottom: 2.5em;
  }
}
@media screen and (max-width: 567px) {}


/* 固定ページ｜採用情報トップ｜ビジョン・採用メッセージ */
.bg-rec-vision {
  position: relative;
}
.bg-rec-vision::before {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-navy);
  background-image: url('../images/bg_rec-vision.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_rec-vision.jpg');*/
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  opacity: 0.93;
  content: '';
  z-index: -1;
}
.rec-vision_body {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1000px;
  padding: 0;
  margin: 0 auto;
}
.rec-vision_body * {
  color: var(--color-white)!important;
}
.rec-vision_body h3 {
  font-size: 2.5em;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
.rec-vision_body :is(p, ul li) {
  font-weight: 500;
}
.rec-vision_body ul li {
  margin: 0.5em 0;
  line-height: 1.5;
}
.rec-vision_body ul li::marker {
  color: var(--color-white)!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-vision_body h3 {
    font-size: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .rec-vision_body h3 {
    font-size: 1.6em;
  }
}


/* 固定ページ｜採用情報トップ｜数字で見る金沢機工 */
.rec-data_body {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* 固定ページ｜採用情報トップ｜職種紹介 */
.rec-job_body {}
.rec-job_body .job_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2.0em;
  width: 100%;
  margin: 3.0em auto;
}
.rec-job_body .job_items .item {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: calc((100% - 2.0em * 2) / 3);
  text-decoration: none;
  background-color: var(--color-white);
}
.rec-job_body .job_items .item {}
.rec-job_body .job_items .item:hover {}
.rec-job_body .job_items .item .image {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
.rec-job_body .job_items .item:hover .image {
  opacity: 0.8;
}
.rec-job_body .job_items .item .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 10;
}
.rec-job_body .job_items .item .image .job-kind {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: max-content;
  padding: 0.2em 0.75em 0.3em;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-white);
  background-color: var(--color-deepsky);
  z-index: 20;
}
.rec-job_body .job_items .item .text {
  flex-grow: 1;
  position: relative;
  display: block;
  padding: 1.5em 2.0em;
}
.rec-job_body .job_items .item .text :is(.title, .txt) {
  position: relative;
  display: block;
  margin: 0.75em 0;
}
.rec-job_body .job_items .item .text .title {
  font-weight: 500;
  font-size: 1.2em;
  text-align: left;
  color: var(--color-deepsky);
}
.rec-job_body .job_items .item .text .txt {}
.rec-job_body .job_items .item .text .txt.bold {
  font-weight: 500;
}
.rec-job_body .job_items .item .text ul {
  margin-top: 0.5em;
}
.rec-job_body .job_items .item .text ul li {
  color: var(--color-black);
  margin: 0.5em 0;
  line-height: 1.5;
}
.rec-job_body .job_items .item .text ul li::marker {
  color: var(--color-deepsky)!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-job_body .job_items .item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .rec-job_body .job_items .item {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}


/* 固定ページ｜採用情報トップ｜研修制度・成長サポート */
.rec-training_body {}
.rec-training_body h3 {
  font-size: 2.0em;
  letter-spacing: 0.03em;
  line-height: 1.5;
  text-align: center;
}
.rec-training_body .training_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2.0em;
  width: 100%;
  margin: 3.0em auto;
}
.rec-training_body .training_items .item {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.0em;
  width: 100%;
  max-width: calc((100% - 2.0em * 2) / 3);
  padding: 2.0em;
  border: 1px solid var(--color-deepsky);
  background-color: var(--color-white);
}
.rec-training_body .training_items .item .icon {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
}
.rec-training_body .training_items .item .icon img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 70px;
  margin: 0 auto;
}
.rec-training_body .training_items .item .icon span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-deepsky);
}
.rec-training_body .training_items .item .text {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
}
.rec-training_body .training_items .item .text span {
  position: relative;
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-training_body h3 {
    font-size: 1.6em;
  }
  .rec-training_body .training_items .item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .rec-training_body h3 {
    font-size: 1.3em;
  }
  .rec-training_body .training_items .item {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}


/* 固定ページ｜採用情報トップ｜福利厚生・社内イベント */
/* 「福利厚生・社内イベント」は使用しない（「福利厚生・働き方」を使用） */
.rec-benefits_body {}
.rec-benefits_body .benefits_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2.0em;
  width: 100%;
  margin: 3.0em auto;
}
.rec-benefits_body .benefits_items .item {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: calc((100% - 2.0em * 1) / 2);
  background-color: var(--color-white);
}
.rec-benefits_body .benefits_items .item .images {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.rec-benefits_body .benefits_items .item .images .image {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 50%;
  padding-top: calc(50% * 2 / 3);
}
.rec-benefits_body .benefits_items .item .images .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rec-benefits_body .benefits_items .item .text {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 1.5em;
  padding: 1.5em 2.0em;
}
.rec-benefits_body .benefits_items .item .text .icon {
  flex-grow: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.25em;
  width: 100%;
  max-width: 7.0em;
}
.rec-benefits_body .benefits_items .item .text .icon img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 70px;
  margin: 0 auto;
}
.rec-benefits_body .benefits_items .item .text .icon span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-deepsky);
}
.rec-benefits_body .benefits_items .item .text .txt {
  flex-grow: 1;
  flex-grow: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.rec-benefits_body .benefits_items .item .text .txt p {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-benefits_body .benefits_items .item {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}
@media screen and (max-width: 567px) {}


/* 固定ページ｜採用情報トップ｜福利厚生・働き方 */
.rec-worklife_body {}
.rec-worklife_body .worklife_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2.0em;
  width: 100%;
  margin: 3.0em auto;
}
.rec-worklife_body .worklife_items .item {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  /*justify-content: center;*/
  gap: 0;
  width: 100%;
  max-width: calc((100% - 2.0em * 1) / 2);
}
.rec-worklife_body .worklife_items .item .image {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.rec-worklife_body .worklife_items .item .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.rec-worklife_body .worklife_items .item .text {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-worklife_body .worklife_items .item {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}
@media screen and (max-width: 567px) {}


/* 固定ページ｜採用情報トップ｜地域と未来のために */
.bg-rec-future {
  position: relative;
  background-image: url('../images/bg_rec-future.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_rec-future.jpg');*/
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
.rec-future_body {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 55vh;
}
.rec-future_body .rec-future_box {
  display: block;
  position: relative;
  width: 100%;
  max-width: 900px;
  padding: 2.0em 3.0em;
  margin: 0 auto;
}
.rec-future_body .rec-future_box::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  opacity: 0.8;
  content: '';
  z-index: -1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-future_body {
    min-height: initial;
  }
  .rec-future_body .rec-future_box {
    padding: 1.5em 2.0em;
  }
}
@media screen and (max-width: 567px) {}


/* 固定ページ｜採用情報トップ｜社員インタビュー */
.rec-interview_body {
  margin: 3.0em auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* 固定ページ｜採用情報トップ｜募集要項 */
.rec-guideline_body {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  固定ページ｜採用情報｜数字で見る｜（rec-data-items.php）
##
############################################## */
/* 採用情報｜数字で見る｜アイテム（rec-data-items.php） */
.rec-data-items {
  position: relative;
  display: flex;
  gap: 4.0em;
  flex-wrap: wrap;
  width: 100%;
}
.rec-data-items .item {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 1.0em;
  flex-direction: column;
  width: calc((100% - 4.0em * 2) / 3);
  max-width: 100%;
}
.rec-data-items .item .wrap {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 2.0em;
  background-color: var(--color-palecyan);
}
.rec-data-items .item .wrap .icon {
  position: relative;
  display: block;
  width: 100%;
  max-width: 70px;
}
.rec-data-items .item .wrap .icon img {
  position: relative;
  display: block;
  width: 100%;
}
.rec-data-items .item .wrap .num-suffix {
  text-align: center;
}
.rec-data-items .item .wrap .num-suffix :is(.num, .suffix) {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  line-height: 1.2;
  color: var(--color-deepsky);
}
.rec-data-items .item .wrap .num-suffix .num {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 6.5em;
}
.rec-data-items .item .wrap .num-suffix .suffix {
  font-weight: 700;
  font-size: 2.2em;
}
.rec-data-items .item .wrap .subheading {
  margin-top: 0.5em;
  text-align: center;
}
.rec-data-items .item .wrap .subheading span {
  display: block;
  font-weight: 500;
  font-size: 1.2em;
  line-height: 1.5;
}
.rec-data-items .item .summary {
  flex-grow: 0;
}
.rec-data-items .item .summary p {}
@media screen and (max-width: 1023px) {
  .rec-data-items {
    gap: 2.0em;
  }
  .rec-data-items .item {
    width: calc((100% - 2.0em * 2) / 3);
  }
  .rec-data-items .item .wrap {
    padding: 1.5em;
  }
  .rec-data-items .item .wrap .num-suffix .num {
    font-size: 5.5em;
  }
  .rec-data-items .item .wrap .num-suffix .suffix {
    font-size: 1.8em;
  }
}
@media screen and (max-width: 767px) {
  .rec-data-items .item {
    width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .rec-data-items .item {
    width: calc((100% - 2.0em * 0) / 1);
  }
}




/* ##############################################
##
##  アーカイブページ｜コラム（achv_column.php）
##  タクソノミー｜トピック
##
############################################## */
/* コラム｜リスト（achv_column.php） */
.news-body,
.news-body .column,
.news-body .column ul {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
}
.news-body {
  max-width: 1100px;
  margin: 0 auto;
}
.news-body .column ul {
  list-style-type: none;
  line-height: 1.5;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* コラム｜リスト（loop-column.php） */
.news-body .column ul li {
  position: relative;
  display: block;
  width: 100%;
  color: var(--color-darkblue);
  border: none;
  border-top: 1px solid;
}
.news-body .column ul li:last-child {
  border-bottom: 1px solid;
}
.news-body .column ul li > :is(a.link, .nolink) {}
.news-body .column ul li > .edit {}
.news-body .column ul li > :is(a.link, .nolink) {
  position: relative;
  display: flex;
  column-gap: 2.0em;
  row-gap: 1.0em;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 2.0em 2.5em;
  margin: 0;
  line-height: 1.5;
  text-decoration: none;
  background-color: var(--color-white-50per);
  transition: background-color 0.2s ease;
}
.news-body .column ul li > a.link:hover {
  background-color: var(--color-darkblue);
}
.news-body .column ul li > :is(a.link, .nolink) :is(.image, .date, .cat, .content) {
  position: relative;
  display: block;
}
.news-body .column ul li > a.link :is(.image, .date, .cat, .content) {
  color: var(--color-darkblue);
  transition: color 0.2s ease;
}
.news-body .column ul li > a.link:hover :is(.image, .date, .cat, .content) {
  color: var(--color-white);
}
.news-body .column ul li > .nolink :is(.image, .date, .content) {
  color: var(--color-black);
}
.news-body .column ul li > :is(a.link, .nolink) .image {
  flex-grow: 0;
}
.news-body .column ul li > :is(a.link, .nolink) .date {
  flex-grow: 0;
}
.news-body .column ul li > :is(a.link, .nolink) .cat {
  flex-grow: 0;
}
.news-body .column ul li > :is(a.link, .nolink) .content {
  flex-grow: 1;
}
.news-body .column ul li > :is(a.link, .nolink) .image .info-image {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  font-size: 0;
}
.news-body .column ul li > :is(a.link, .nolink) .image .info-image img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 150px;
}
.news-body .column ul li > :is(a.link, .nolink) .date .info-date {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.news-body .column ul li > :is(a.link, .nolink) .cat .info-cat {
  display: inline-block;
  font-size: 0.8em;
  text-align: center;
  color: var(--color-darkblue);
  background-color: var(--color-white);
  width: max-content;
  max-width: 100%;
  min-width: 11.0em;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  border: 1px solid;
}
.news-body .column ul li > a.link .cat .info-cat {
  color: var(--color-white);
  background-color: var(--color-darkblue);
}
.news-body .column ul li > :is(a.link, .nolink) .content .info-content {
  position: relative;
  display: block;
}
.news-body .column ul li > :is(a.link, .nolink) .cat .info-cat {
  margin-right: 0.75em;
}
.news-body .column ul li > :is(a.link, .nolink) .cat .info-cat:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .news-body .column ul li > :is(a.link, .nolink) {
    flex-wrap: wrap;
    column-gap: 1.0em;
    padding: 1.5em 1.0em;
  }
  .news-body .column ul li > :is(a.link, .nolink) .image .info-image {
    width: 100%;
  }
  .news-body .column ul li > :is(a.link, .nolink) .image .info-image img {
    max-width: 100%;
  }
  .news-body .column ul li > :is(a.link, .nolink) .content {
    width: 100%;
  }
  .news-body .column ul li > :is(a.link, .nolink) .cat .info-cat {
    min-width: initial;
  }
}
@media screen and (max-width: 567px) {}

/* コラム（loop-column.php） */
.news-body .column ul li > :is(a.link, .nolink) .items-text {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 0.5em;
  flex-direction: column;
}
.news-body .column ul li > :is(a.link, .nolink) .items-text :is(.cat, .content, .date) {
  width: 100%;
}
.news-body .column ul li > :is(a.link, .nolink) .items-text .content.column-title .info-content {
  font-weight: 500;
  font-size: 1.1em;
}
.news-body .column ul li > :is(a.link, .nolink) .items-text .date .info-date {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .news-body .column ul li > :is(a.link, .nolink) .items-text .content.column-title .info-content {
    font-size: 1.0em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ページナビ（.p-navi）
##
############################################## */
/* ■ページナビ（.p-navi）｜矢印のウェイト */
/*
<span class="start"></span>
<span class="prev"></span>
<span class="next"></span>
<span class="end"></span>
*/
:root {
  --arrow-weight: 2px;
}

/* ページナビ（.p-navi） */
.p-navi {
  display: block;
  margin: 0 auto;
  width: max-content;
  padding: 0;
  font-size: 1.1em;
}
.p-navi:has(.wp-pagenavi) {
  padding: 0;
  width: 100%;
}

.p-navi,
.p-navi * {
  font-weight: 500;
}
.wp-pagenavi a {
  text-decoration: none;
}
.wp-pagenavi {
  align-items: center;
  display: flex;
  row-gap: 0.5em;
  flex-wrap: wrap;
  justify-content: center;
}
.wp-pagenavi :is(.page, .current) {
  display: block;
  margin: 0 0.5em;
  font-size: 1.0em;
  text-align: center;
  border: none;
}
.wp-pagenavi .page {
  color: var(--color-darkblue);
}
.wp-pagenavi .current {
  color: var(--color-black);
}
.wp-pagenavi .pages {
  border: none;
  font-weight: 400;
  color: var(--color-black);
  margin-right: 1.0em;
}
.wp-pagenavi :is(.first, .last) {
  border: none;
  color: var(--color-darkblue);
}
.wp-pagenavi :is(.first, .last) span {
  margin: 0 0.5em;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) {
  border: none;
  color: var(--color-darkblue);
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span {
  margin: 0 0.5em;
}
.wp-pagenavi .extend {
  display: none;
}

.wp-pagenavi :is(.first, .last) span {
  position: relative;
  display: block;
  width: 1.0em;
  padding-top: 1.0em;
  color: var(--color-darkblue);
  line-height: 1.0;
}
.wp-pagenavi :is(.first, .last) span.start::before,
.wp-pagenavi :is(.first, .last) span.start::after,
.wp-pagenavi :is(.first, .last) span.end::before,
.wp-pagenavi :is(.first, .last) span.end::after {
  display: block;
  position: absolute;
  top: calc(50% + 0.07em);
  content: '';
  /*width: 0.55em;*/
  width: calc(0.55em + var(--arrow-weight));
  /*padding-top: calc(0.55em - var(--arrow-weight));*/
  padding-top: 0.55em;
  border: 0;
  transform-origin: top left;
}
.wp-pagenavi :is(.first, .last) span.start::before,
.wp-pagenavi :is(.first, .last) span.start::after {
  transform: rotate(45deg) translate(-50%, -50%);
  border-left: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}
.wp-pagenavi :is(.first, .last) span.start::before {
  left: calc(75% - 3px);
}
.wp-pagenavi :is(.first, .last) span.start::after {
  left: calc(75% + 3px);
}
.wp-pagenavi :is(.first, .last) span.end::before,
.wp-pagenavi :is(.first, .last) span.end::after {
  transform: rotate(-45deg) translate(-50%, -50%);
  border-right: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}
.wp-pagenavi :is(.first, .last) span.end::before {
  left: calc(25% - 3px);
}
.wp-pagenavi :is(.first, .last) span.end::after {
  left: calc(25% + 3px);
}

.wp-pagenavi :is(.nextpostslink, .previouspostslink) span {
  position: relative;
  display: block;
  width: 1.0em;
  padding-top: 1.0em;
  color: var(--color-darkblue);
  line-height: 1.0;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.prev::after,
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.next::after {
  display: block;
  position: absolute;
  top: calc(50% + 0.07em);
  content: '';
  /*width: 0.6em;*/
  width: calc(0.6em + var(--arrow-weight));
  /*padding-top: calc(0.6em - var(--arrow-weight));*/
  padding-top: 0.6em;
  border: 0;
  transform-origin: top left;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.prev::after {
  left: 75%;
  transform: rotate(45deg) translate(-50%, -50%);
  border-left: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.next::after {
  left: 25%;
  transform: rotate(-45deg) translate(-50%, -50%);
  border-right: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .entry-footer .pnavi-center {
    width: 100%;
  }
  /*
  .wp-pagenavi .pages {
    display: none;
  }
  */
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  採用情報（#pg_recruit）
##
############################################## */
[id^="main_content_body"] h2 {
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 1.5em;
}
#pg_recruit [id^="main_content_body"] h2 {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  min-width: 35%;
  font-weight: 700;
  font-size: 1.25em;
  line-height: 1.5;
  color: var(--color-white);
  padding: 2.0em 0;
  padding-right: 2.5em;
  border: none;
  background: none;
  background-color: var(--color-deepsky);
}
#pg_recruit [id^="main_content_body"] h2::before {
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  width: calc((100vw - 100%) / 2);
  height: 100%;
  background-color: var(--color-deepsky);
  content: '';
}
#pg_recruit [id^="main_content_body"] h3 {
  color: var(--color-black);
}
#pg_recruit [id^="main_content_body"] h4 {
  color: var(--color-deepsky);
}
#pg_recruit [id^="main_content_body"] h5 {
  color: var(--color-black);
}
#pg_recruit [id^="main_content_body"] h6 {
  color: var(--color-deepsky);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_recruit [id^="main_content_body"] h2 {
    min-width: 50%;
    font-size: 1.2em;
    padding: 1.25em 0;
    padding-right: 1.75em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  インタビュー個人（pg_personnel.php）
##
############################################## */
#pg_personnel [id^="main_content_body"] h2 {
  font-weight: 700;
  font-size: 2.0em;
  line-height: 1.5;
  color: var(--color-black);
  padding-bottom: 0.25em;
  border: none;
  border-bottom: 1px solid transparent;
  background: linear-gradient(90deg, var(--color-darkcyan), transparent) left bottom / 100% 1px no-repeat;
}
#pg_personnel [id^="main_content_body"] h3 {
  color: var(--color-black);
}
#pg_personnel [id^="main_content_body"] h4 {
  color: var(--color-darkcyan);
}
#pg_personnel [id^="main_content_body"] h5 {
  color: var(--color-black);
}
#pg_personnel [id^="main_content_body"] h6 {
  color: var(--color-darkcyan);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  サイトマップ（WP Sitemap Page）
##
############################################## */




/* ##############################################
##
##  404ページ（404.php）
##
############################################## */
#post-not-found .content-main {
  position: relative;
  display: block;
  width: 100%;
}
#post-not-found .content-main .main-wrap {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  gap: 4.0em;
  width: 100%;
}
#post-not-found .content-main .main-wrap .main-block {
  flex-grow: 1;
  position: relative;
  display: flex;
  align-items: center;
}
#post-not-found .content-main .main-wrap .main-block:has(.image) {
  width: 60%;
}
#post-not-found .content-main .main-wrap .main-block:has(.text) {
  width: 40%;
}
#post-not-found .content-main .main-wrap .main-block :is(.image, .text) {
  flex-grow: 1;
  position: relative;
  display: block;
}
#post-not-found .content-main .main-wrap .main-block .image {
  width: 100%;
  margin: 0 auto;
}
#post-not-found .content-main .main-wrap .main-block .image img {
  position: relative;
  display: block;
  width: 100%;
  -webkit-user-select: none;
  user-select: none;
  transform-origin: center center;
}
#post-not-found .content-main .main-wrap .main-block .text {}
@media screen and (max-width: 1023px) {
  #post-not-found .content-main .main-wrap .main-block:has(.image) {
    width: 100%;
  }
  #post-not-found .content-main .main-wrap .main-block:has(.text) {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #post-not-found .content-main .main-wrap {
    flex-direction: column;
    gap: 3.0em;
  }
  #post-not-found .content-main .main-wrap .main-block .image {
    max-width: 550px;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ショートコード
##
############################################## */
/* ショートコード（inner_child_card.php） */
/* ショートコード（inner_brother_card.php） */
.inner-card {
  position: relative;
  display: flex;
  gap: 2.0em;
  flex-wrap: wrap;
  line-height: 1.7;
}
.inner-card .tile-item {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 2.0em * 3) / 4);
}
.inner-card .tile-item .item-card {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  text-decoration: none;
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
.inner-card .tile-item .item-card:hover {
  opacity: 0.9;
}
.inner-card .tile-item .item-card .card-image {
  flex-grow: 0;
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.inner-card .tile-item .item-card .card-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inner-card .tile-item .item-card .card-content {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
}
.inner-card .tile-item .item-card .card-content .card-title {
  display: block;
  position: relative;
  width: 100%;
}
.inner-card .tile-item .item-card .card-content .card-title span {
  color: var(--color-black);
  font-weight: 500;
  font-size: 1.0em;
}
@media screen and (max-width: 1023px) {
  .inner-card .tile-item {
    max-width: calc((100% - 2.0em * 2) / 3);
  }
}
@media screen and (max-width: 767px) {
  .inner-card .tile-item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .inner-card {
    gap: 1.5em;
  }
}


/* ショートコード（inner_works_heading.php） */
/* 実績・導入事例｜h2 を出力 */
[id^="main_content_body"] .works_heading {
  font-size: 1.0em;
  line-height: 1.5;
  padding: 0;
  margin-top: 8.0em;
  margin-bottom: 3.0em;
  border: none;
  background: none;
}
[id^="main_content_body"] .works_heading .en {
  display: inline-block;
  width: max-content;
  max-width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 3.0em;
  text-transform: uppercase;
  background-image: url('../images/title_bg/title_bg_min-0.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/title_bg/title_bg_min-0.jpg');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text!important; background-clip: text!important;
  -webkit-text-fill-color: transparent; color: transparent;
  mix-blend-mode: multiply;
  user-select: none;
}
[id^="main_content_body"] .works_heading .en:has(+ .jp) {
  margin-right: 0.25em;
}
[id^="main_content_body"] .works_heading .jp {
  display: inline-block;
  font-weight: 500;
  font-size: 1.2em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  [id^="main_content_body"] .works_heading {
    margin-top: 6.0em;
    margin-bottom: 2.0em;
  }
}
@media screen and (max-width: 567px) {}


/* ショートコード（inner_works_solution.php） */
/* 実績・導入事例｜関連ソリューション を出力 */
.inner-card-works-solution {
  position: relative;
  display: flex;
  gap: 2.0em;
  flex-wrap: wrap;
  line-height: 1.7;
}
.inner-card-works-solution .tile-item {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 2.0em * 1) / 2);
}
.inner-card-works-solution .tile-item .item-card {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  text-decoration: none;
  opacity: 1.0;
  transition: opacity 0.2s ease;
}
.inner-card-works-solution .tile-item .item-card:hover {
  opacity: 0.9;
}
.inner-card-works-solution .tile-item .item-card .card-image {
  flex-grow: 0;
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.inner-card-works-solution .tile-item .item-card .card-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inner-card-works-solution .tile-item .item-card .card-content {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
}
.inner-card-works-solution .tile-item .item-card .card-content .card-title {
  display: block;
  position: relative;
  width: 100%;
}
.inner-card-works-solution .tile-item .item-card .card-content .card-title span {
  color: var(--color-black);
  font-weight: 500;
  font-size: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .inner-card-works-solution {
    gap: 1.5em;
  }
}


/* ショートコード（inner_personnel_schedule.php） */
/* インタビュー個人（personnel）｜スケジュール を出力 */
.personnel_schd {
  display: block;
  position: relative;
  width: 100%;
}
.personnel_schd .title {}

.personnel_schd .timeline {
  display: grid;
  grid-template-columns: max-content 1fr;
  padding-left: 1.0em;
}
.personnel_schd .timeline .item {
  display: contents;
}
.personnel_schd .timeline :is(dt, dd) {
  margin: 0;
}
.personnel_schd .timeline dt {
  padding-right: 1.0em;
  text-align: right;
}
.personnel_schd .timeline dd {}
.personnel_schd .timeline :is(dt, dd) span {
  font-weight: 500;
  color: var(--color-darkcyan);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .personnel_schd .timeline {
    padding-left: 0;
  }
}
@media screen and (max-width: 567px) {}


/* ショートコード（inner_rec_training.php） */
/* 研修制度・成長サポート｜共通 */
.rec-training_wrap {}
.rec-training_wrap .training_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  /*gap: 2.0em;*/
  width: 100%;
  margin: 3.0em auto;
}
.rec-training_wrap .training_items .item {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.0em;
  width: 100%;
  /*max-width: calc((100% - 2.0em * 2) / 3);*/
  padding: 2.0em;
  /*border: 1px solid var(--color-deepsky);*/
  background-color: var(--color-white);
}
.rec-training_wrap .training_items .item .icon {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
}
.rec-training_wrap .training_items .item .icon img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 70px;
  margin: 0 auto;
}
.rec-training_wrap .training_items .item .icon span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-deepsky);
}
.rec-training_wrap .training_items .item .text {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
}
.rec-training_wrap .training_items .item .text span {
  position: relative;
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}
/* 研修制度・成長サポート｜入社後のステップ */
.rec-training_wrap.step {}
.rec-training_wrap.step .training_items {
  gap: 1.0em;
}
.rec-training_wrap.step .training_items .item {
  max-width: calc((100% - 1.0em * 4) / 5);
  border: 1px solid var(--color-deepsky);
}
@media screen and (max-width: 1023px) {
  .rec-training_wrap.step .training_items .item {
    max-width: calc((100% - 1.0em * 2) / 3);
  }
}
@media screen and (max-width: 767px) {
  .rec-training_wrap.step .training_items .item {
    max-width: calc((100% - 1.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .rec-training_wrap.step .training_items .item {
    max-width: calc((100% - 1.0em * 0) / 1);
  }
}
/* 研修制度・成長サポート｜充実のサポート体制 */
.rec-training_wrap.support {}
.rec-training_wrap.support .training_items {
  gap: 2.0em;
}
.rec-training_wrap.support .training_items .item {
  max-width: calc((100% - 2.0em * 2) / 3);
  border: 1px solid var(--color-deepsky);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-training_wrap.support .training_items .item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .rec-training_wrap.support .training_items .item {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}
/* 研修制度・成長サポート｜成長の流れ */
.rec-training_wrap.flow {}
.rec-training_wrap.flow .training_items {
  gap: 2.0em;
}
.rec-training_wrap.flow .training_items .item {
  max-width: calc((100% - 2.0em * 2) / 3);
  /*border: none;*/
  border: 1px solid var(--color-deepsky);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec-training_wrap.flow .training_items .item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .rec-training_wrap.flow .training_items .item {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}




/* ##############################################
##
##  オリジナル商品（tpl_original）
##
############################################## */
/* オリジナル商品｜共通（tpl_original） */
#pg_original .pg_original {}
#pg_original .pg_original .entry-content {
  padding: 5.0em 4.0em 5.0em;
}
#pg_original .pg_original .entry-content .container {
  max-width: 1300px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .pg_original .entry-content {
    padding: 4.0em 2.0em 4.0em;
  }
}
@media screen and (max-width: 567px) {}

#pg_original.bg_octagon {
  background-color: var(--color-iceblue);
  background-image: url('../images/original/original_bg_octagon.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_bg_octagon.png');*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .org_title {
  width: max-content;
  max-width: 100%;
  margin-bottom: 2.0em;
}
#pg_original .org_title.center {
  margin-left: auto;
  margin-right: auto;
}
#pg_original .org_title h2.title {
  position: relative;
  width: max-content;
  max-width: 100%;
  font-weight: 700;
  font-size: 1.0em;
}
#pg_original .org_title h2.title::before {
  position: relative;
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 6.0em;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 0;
  content: attr(data-en);
}
#pg_original .org_title h2.title.posi {
  color: var(--color-black);
}
#pg_original .org_title h2.title.posi::before {
  color: var(--color-deepsky);
}
#pg_original .org_title h2.title.nega {
  color: var(--color-white);
}
#pg_original .org_title h2.title.nega::before {
  color: var(--color-white);
}
@media screen and (max-width: 1023px) {
  #pg_original .org_title h2.title::before {
    font-size: 4.5em;
  }
}
@media screen and (max-width: 767px) {
  #pg_original .org_title.center {
    margin-left: 0;
    margin-right: 0;
  }
  #pg_original .org_title h2.title::before {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .org_title h2.title::before {
    font-size: 2.5em;
  }
}

#pg_original :is(h3, h4, h5, h6) {
  margin-top: 2.5em;
  margin-bottom: 0.5em;
  font-weight: 700;
}
#pg_original h3 + :is(h4, h5, h6),
#pg_original h4 + :is(h5, h6),
#pg_original h5 + :is(h6) {
  margin-top: 0.5em;
}
#pg_original h3 {
  font-size: 1.7em;
  line-height: 1.5;
}
#pg_original h4 {
  font-size: 1.5em;
  line-height: 1.5;
}
#pg_original h5 {
  font-size: 1.3em;
  line-height: 1.7;
}
#pg_original h6 {
  font-size: 1.1em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original h3 {
    font-size: 1.5em;
  }
  #pg_original h4 {
    font-size: 1.3em;
    line-height: 1.7;
  }
  #pg_original h5 {
    font-size: 1.2em;
  }
  #pg_original h6 {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .container_wrap {
  position: relative;
  display: flex;
  gap: 1.0em;
  width: 100%;
}
#pg_original .container_wrap.gap-2 {
  gap: 2.0em;
}
#pg_original .container_wrap.gap-3 {
  gap: 3.0em;
}
#pg_original .container_wrap.gap-4 {
  gap: 4.0em;
}
#pg_original .container_wrap .wrap_body {
  flex-grow: 1;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .container_wrap {
    flex-direction: column;
  }
  #pg_original .container_wrap.gap-3,
  #pg_original .container_wrap.gap-4 {
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .page-btn.posi a {
  background-color: var(--color-skyblue);
}
#pg_original .page-btn.posi a:hover {
  background-color: var(--color-deepsky);
}
#pg_original .page-btn.nega a {
  color: var(--color-black);
}
#pg_original .page-btn.nega a:hover {
  color: var(--color-deepsky);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .image,
#pg_original .image img {
  position: relative;
  display: block;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .bg-iceblue {
  background-color: var(--color-iceblue-50per);
}
#pg_original .bg-iceblue.white-stripe {
  background-image: repeating-linear-gradient(-45deg, var(--color-white) 0, var(--color-white) 3px, transparent 3px, transparent 12px);
}
#pg_original .bg-iceblue :is(h5, h6) {
  color: var(--color-deepsky);
}
#pg_original .bg-iceblue :is(h3, h4, p:not([class])) {
  color: var(--color-black);
}
#pg_original .bg-deepsky {
  background-color: var(--color-deepsky-93per);
}
#pg_original .bg-cobalt {
  background-color: var(--color-cobalt);
}
#pg_original .bg-cobalt.blue-stripe {
  background-image: repeating-linear-gradient(-45deg, var(--color-azure) 0, var(--color-azure) 3px, transparent 3px, transparent 12px);
}
#pg_original :is(.bg-deepsky, .bg-cobalt) :is(h3, h4, h5, h6, p:not([class])) {
  color: var(--color-white);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜ファーストビュー（hero） */
#pg_original .org_hero {
  position: relative;
  display: block;
  width: 100%;
  padding: 5.0em 4.0em 0;
  z-index: 0;
}
#pg_original .org_hero::before {
  display: block;
  position:  absolute;
  right: 0;
  bottom: 0;
  width: 55%;
  height: calc(100% - 5.0em);
  background-image: url('../images/original/original_bg_hero.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_bg_hero.jpg');*/
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  clip-path: polygon(
    6.0em 0,
    100% 0,
    100% 100%,
    6.0em 100%,
    0 calc(100% - 6.0em),
    0 6.0em
  );
  content: '';
  z-index: -1;
}
#pg_original .org_hero .hero_wrap {
  position: relative;
  display: flex;
  gap: 5.0em;
  width: 100%;
  max-width: 1500px;
  min-height: 85vh;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .org_hero {
    padding: 4.0em 2.0em 0;
  }
  #pg_original .org_hero::before {
    width: 100%;
    /*height: calc(50% - 2.0em);*/
    height: calc((100vw * 2 / 3) + 7.0em - 1.0em);
    clip-path: polygon(
      2.0em 0,
      calc(100% - 2.0em) 0,
      100% 2.0em,
      100% 100%,
      0 100%,
      0 2.0em
    );
  }
  #pg_original .org_hero .hero_wrap {
    flex-direction: column;
    gap: 3.0em;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .org_hero .hero_wrap .wrap_body {
  flex-grow: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
#pg_original .org_hero .hero_wrap .wrap_body.main {
  width: 45%;
  /*padding: 2.0em 0;*/
  padding-bottom: 2.0em;
}
#pg_original .org_hero .hero_wrap .wrap_body.image {
  width: 55%;
  padding: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .org_hero .hero_wrap .wrap_body:is(.main, .image) {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .org_hero .hero_wrap .wrap_body.main :is(.hero-main_page-title, .hero-main_title, .hero-main_lead, .hero-main_cta-label) {
  position: relative;
  display: block;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_page-title {
  margin-bottom: 1.0em;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_page-title span {
  font-weight: 700;
  /*font-size: 2.2em;*/
  font-size: 1.7em;
  line-height: 1.4;
  color: var(--color-deepsky);
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_title {
  margin-bottom: 2.0em;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_title span {
  font-weight: 700;
  font-size: 3.3em;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_lead {
  margin-bottom: 2.0em;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_lead span {
  font-weight: 500;
  font-size: 1.1em;
  line-height: 1.7;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_cta-label {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_page-title span {
    /*font-size: 1.8em;*/
    font-size: 1.4em;
  }
  #pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_title span {
    font-size: 2.5em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_page-title {
    padding-right: 3.0em;
  }
  #pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_page-title span {
    /*font-size: 1.4em;*/
    font-size: 1.1em;
  }
  #pg_original .org_hero .hero_wrap .wrap_body.main .hero-main_title span {
    /*font-size: 2.2em;*/
    font-size: 1.9em;
  }
}

#pg_original .org_hero .hero_wrap .wrap_body.main {
  gap: 2.0em;
  flex-direction: column;
  align-items: flex-start;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
}
#pg_original .org_hero .hero_wrap .wrap_body.main .hero-main {}

#pg_original .org_hero .hero_wrap .wrap_body.image {
  overflow: hidden;
}
#pg_original .org_hero .hero_wrap .wrap_body.image .hero-image {
  position: relative;
  display: block;
  width: 100%;
  /*padding-top: calc(100% * 2 / 3);*/
  padding-top: calc(85vh - 300px);
  background-color: var(--color-white);
  z-index: 0;
}
#pg_original .org_hero .hero_wrap .wrap_body.image .hero-image::after {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  max-width: 400px;
  padding-top: 60%;
  margin-top: -8px;
  background-image: url('../images/original/original_hero-robot.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_hero-robot.png');*/
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  content: '';
  z-index: -1;
}
#pg_original.no-robot .org_hero .hero_wrap .wrap_body.image .hero-image::after {
  display: none;
}
#pg_original .org_hero .hero_wrap .wrap_body.image .hero-image img {
  position: absolute;
  display: block;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  object-fit: cover;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .org_hero .hero_wrap .wrap_body.image {
    padding-bottom: calc(7.0em - 4px);
  }
  #pg_original .org_hero .hero_wrap .wrap_body.image .hero-image {
    padding-top: calc(100% * 2 / 3);
  }
  #pg_original .org_hero .hero_wrap .wrap_body.image .hero-image::after {
    max-width: 270px;
    margin-top: -4px;
    padding-top: 7.0em;
  }
}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜Problem（お悩み） */
#pg_original .org_problem {}

/* オリジナル商品｜Problem（お悩み）｜タイトル */
#pg_original .problem_title {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  min-height: 390px;
  margin: 0 auto;
  z-index: 1;
}
#pg_original .problem_title .problem_title_image {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
#pg_original .problem_title .problem_title_image img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 350px;
}
@media screen and (max-width: 1023px) {
  #pg_original .problem_title {
    min-height: initial;
  }
}
@media screen and (max-width: 767px) {
  #pg_original .problem_title {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .problem_title .problem_title_image img {
    max-width: 280px;
  }
}

/* オリジナル商品｜Problem（お悩み）｜アイテム（PC・SP） */
#pg_original .problem_items {
  width: 100%;
  z-index: 0;
}
#pg_original .problem_items.pc {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: 3.0em;
  justify-content: space-between;
  margin-top: 0;
}
#pg_original .problem_items.sp {
  display: none;
  margin-top: 2.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .problem_items.pc {
    display: none;
  }
  #pg_original .problem_items.sp {
    display: block;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .problem_items .item_wrap {
  flex-grow: 0;
  position: relative;
  display: flex;
  gap: 1.5em;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
}
#pg_original .problem_items.pc .item_wrap {
  max-width: calc((100% - 350px) / 2 - 3.0em);
}
#pg_original .problem_items.pc .item_wrap:has(.right) {
  padding-top: 2.0em;
}
#pg_original .problem_items.sp .item_wrap {}
@media screen and (max-width: 1023px) {
  #pg_original .problem_items.pc {
    position: relative;
    top: initial;
    left: initial;
    margin-top: 2.0em;
    max-width: calc((100% - 3.0em) / 2);
  }
  #pg_original .problem_items.pc .item_wrap {
    max-width: initial;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* オリジナル商品｜Problem（お悩み）｜アイテム（PC・SP 吹き出し共通） */
#pg_original .problem_items .item_wrap .item:is(.left, .right) {
  position: relative;
  display: block;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
#pg_original .problem_items .item_wrap .item:is(.left, .right) .item_text {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1.5em 1.75em;
  line-height: 1.7;
  background-color: var(--color-white);
  border-radius: 0.5em;
}
#pg_original .problem_items .item_wrap .item.left .item_text {}
#pg_original .problem_items .item_wrap .item.right .item_text {}
#pg_original .problem_items .item_wrap .item:is(.left, .right) .item_text::before {
  position: absolute;
  display: block;
  top: 1.0em;
  width: 2.0em;
  padding-top: calc(2.0em * 27 / 41);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: '';
}
#pg_original .problem_items .item_wrap .item.left .item_text::before {
  right: 100%;
  background-image: url('../images/original/original_probrem_fukidashi_l.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_probrem_fukidashi_l.svg');*/
}
#pg_original .problem_items .item_wrap .item.right .item_text::before {
  left: 100%;
  background-image: url('../images/original/original_probrem_fukidashi_r.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_probrem_fukidashi_r.svg');*/
}
#pg_original .problem_items .item_wrap .item:is(.left, .right) .item_text span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .problem_items .item_wrap .item.left {
    padding-right: 2.0em;
  }
  #pg_original .problem_items .item_wrap .item.right {
    padding-left: 2.0em;
  }
}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜Problem-2（お悩み） */
#pg_original .org_problem-2 {
  position: relative;
}
#pg_original .org_problem-2::before,
#pg_original .org_problem-2::after {
  display: block;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 3.5em;
  padding-top: 3.5em;
  background-image: url('../images/original/original_arrow-deepsky_d.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_arrow-deepsky_d.svg');*/
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}
#pg_original .org_problem-2::before {
  top: 0%;
}
#pg_original .org_problem-2::after {
  top: 100%;
}
#pg_original .problem-2_robot_wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 800px;
  padding: 2.0em 117px 3.0em;
  margin: 0 auto;
}
#pg_original.no-robot .problem-2_robot_wrap {
  padding: 3.0em 2.0em;
}
#pg_original .problem-2_robot_wrap .robot-head,
#pg_original .problem-2_robot_wrap .robot-bottom {
  position: relative;
  display: block;
  width: 100%;
  background-repeat: no-repeat;
  background-size: contain;
}
#pg_original.no-robot .problem-2_robot_wrap .robot-head,
#pg_original.no-robot .problem-2_robot_wrap .robot-bottom {
  display: none;
}
#pg_original .problem-2_robot_wrap .robot-head {
  padding-top: calc(100% / 610 * 155);
  background-image: url('../images/original/original_problem-1.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_problem-1.png');*/
}
#pg_original .problem-2_robot_wrap .robot-bottom {
  padding-top: calc(100% / 610 * 110);
  background-image: url('../images/original/original_problem-2.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_problem-2.png');*/
}
#pg_original .problem-2_robot_wrap .robot-body {
  position: relative;
  display: block;
  width: 100%;
  padding: 1.5em 2.0em;
  background-color: var(--color-deepsky);
}
#pg_original .problem-2_robot_wrap .robot-body::before,
#pg_original .problem-2_robot_wrap .robot-body::after {
  display: block;
  position: absolute;
  top: 50%;
  width: 140px;
  padding-top: 130px;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}
#pg_original.no-robot .problem-2_robot_wrap .robot-body::before,
#pg_original.no-robot .problem-2_robot_wrap .robot-body::after {
  display: none;
}
#pg_original .problem-2_robot_wrap .robot-body::before {
  right: 100%;
  transform: translate(16.5%, -50%);
  background-image: url('../images/original/original_problem-3.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_problem-3.png');*/
}
#pg_original .problem-2_robot_wrap .robot-body::after {
  left: 100%;
  transform: translate(-16.5%, -50%);
  background-image: url('../images/original/original_problem-4.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_problem-4.png');*/
}
#pg_original .problem-2_robot_wrap .robot-body span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-weight: 700;
  font-size: 1.6em;
  text-align: center;
  line-height: 1.7;
  color: var(--color-white);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .problem-2_robot_wrap {
    padding: 2.0em 2.0em 3.0em;
    overflow-x: hidden;
  }
  #pg_original .problem-2_robot_wrap .robot-body::before,
  #pg_original .problem-2_robot_wrap .robot-body::after {
    width: calc(140px * 0.8);
    padding-top: calc(130px * 0.8);
  }
  #pg_original .problem-2_robot_wrap .robot-body span {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .problem-2_lead_wrap {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 4.0em 4.0em;
}
#pg_original .problem-2_lead_wrap .lead_body {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#pg_original .problem-2_lead_wrap .lead_body span {
  position: relative;
  display: block;
  font-weight: 500;
  font-size: 1.4em;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .problem-2_lead_wrap {
    padding: 0 2.0em 3.0em;
  }
  #pg_original .problem-2_lead_wrap .lead_body span {
    font-size: 1.3em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .problem-2_lead_wrap .lead_body span {
    font-size: 1.1em;
  }
}


/* オリジナル商品｜Solution（課題解決） */
#pg_original .org_solution {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .solution_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1.0em;
  margin-top: 2.0em;
  margin-bottom: 2.0em;
}
#pg_original .solution_items .item {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  max-width: calc((100% - 1.0em * 1) / 2);
  padding: 1.0em;
  background-color: var(--color-white);
  border: 2px dotted var(--color-deepsky);
  border-radius: 1.0em;
}
#pg_original .solution_items .item .item_title {}
#pg_original .solution_items .item .item_title span {
  font-weight: 500;
  font-size: 1.2em;
  line-height: 1.6;
  color: var(--color-deepsky);
}
#pg_original .solution_items .item .item_text {}
#pg_original .solution_items .item .item_text span {
  line-height: 1.7;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  #pg_original .solution_items .item {
    max-width: calc((100% - 1.0em * 0) / 1);
  }
}


/* オリジナル商品｜Benefits（得られる価値） */
#pg_original .org_benefits {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* オリジナル商品｜Benefits（得られる価値）｜タイトル */
#pg_original .benefits_title {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  min-height: 55vw;
  margin: 0 auto;
  z-index: 1;
}
#pg_original .benefits_title .benefits_title_image {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
#pg_original .benefits_title .benefits_title_image img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 350px;
}
@media screen and (max-width: 1023px) {
  #pg_original .benefits_title {
    min-height: initial;
  }
}
@media screen and (max-width: 767px) {
  #pg_original .benefits_title {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .benefits_title .benefits_title_image img {
    max-width: 280px;
  }
}

/* オリジナル商品｜Benefits（得られる価値）｜アイテム（PC・SP） */
#pg_original .benefits_items {
  width: 100%;
  z-index: 0;
}
#pg_original .benefits_items.pc {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: 3.0em;
  justify-content: space-between;
  margin-top: 0;
}
#pg_original .benefits_items.sp {
  display: none;
  margin-top: 4.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .benefits_items.pc {
    display: none;
  }
  #pg_original .benefits_items.sp {
    display: block;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .benefits_items .item_wrap {
  flex-grow: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}
#pg_original .benefits_items.pc .item_wrap {
  gap: 5.0em;
}
#pg_original .benefits_items.sp .item_wrap {
  gap: 3.0em;
}
#pg_original .benefits_items.pc .item_wrap {
  max-width: calc((100% - 350px) / 2 - 3.0em);
}
#pg_original .benefits_items.pc .item_wrap:has(.left) {
  padding-top: calc(2.0em * 2);
}
#pg_original .benefits_items.pc .item_wrap:has(.right) {
  padding-top: calc(2.0em * 4);
}
#pg_original .benefits_items.sp .item_wrap {}
@media screen and (max-width: 1023px) {
  #pg_original .benefits_items.pc {
    position: relative;
    top: initial;
    left: initial;
    margin-top: 2.0em;
  }
  #pg_original .benefits_items.pc .item_wrap {
    max-width: initial;
  }
  #pg_original .benefits_items.pc .item_wrap:has(.left) {
    padding-top: calc(2.0em * 1);
  }
  #pg_original .benefits_items.pc .item_wrap:has(.right) {
    padding-top: calc(2.0em * 3);
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* オリジナル商品｜Benefits（得られる価値）｜アイテム（PC・SP コマ共通） */
#pg_original .benefits_items .item_wrap .item:is(.left, .right) {
  position: relative;
  display: flex;
  gap: 0.5em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  /*padding: 2.0em;*/
  padding: 1.5em;
  color: var(--color-white);
}
#pg_original .benefits_items.pc .item_wrap .item:is(.left, .right) {
  max-width: 300px;
  aspect-ratio: 1;
  z-index: 0;
}
#pg_original .benefits_items.pc .item_wrap .item:is(.left, .right)::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-deepsky);
  clip-path: polygon(
    29.3% 0,
    70.7% 0,
    100% 29.3%,
    100% 70.7%,
    70.7% 100%,
    29.3% 100%,
    0 70.7%,
    0 29.3%
  );
  content: '';
  z-index: -1;
}
#pg_original .benefits_items.pc .item_wrap .item.left:nth-child(n + 2) {
  transform: translate(140px, -20%);
}
#pg_original .benefits_items.pc .item_wrap .item.right:nth-child(n + 2) {
  transform: translate(-140px, -20%);
}
#pg_original .benefits_items.sp .item_wrap .item:is(.left, .right) {
  background-color: var(--color-deepsky);
}
#pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_num {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -35%);
}
#pg_original .benefits_items .item_wrap .item:is(.left, .right) :is(.item_title, .item_text) {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
#pg_original .benefits_items .item_wrap .item:is(.left, .right) :is(.item_num, .item_title, .item_text) span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
}

#pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_num span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 5.5em;
  line-height: 1.2;
}
#pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_title span {
  font-weight: 500;
  font-size: 1.4em;
  line-height: 1.5;
}
#pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_text span {
  font-size: 1.0em;
  line-height: 1.7;
}
@media screen and (max-width: 1023px) {
  #pg_original .benefits_items.pc .item_wrap .item.left:nth-child(n + 2),
  #pg_original .benefits_items.pc .item_wrap .item.right:nth-child(n + 2) {
    transform: translate(0, 0);
  }
}
@media screen and (max-width: 767px) {
  #pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_num {
    transform: translate(-50%, -50%);
  }
  #pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_num span {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .benefits_items .item_wrap .item:is(.left, .right) .item_num span {
    font-size: 3.0em;
  }
}


/* オリジナル商品｜Before/After（導入イメージ） */
#pg_original .org_org_before-after {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .org_before-after.pg_original .entry-content {
  padding-bottom: 0;
}

#pg_original .before-after_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 5.0em;
  margin-top: 2.0em;
}
#pg_original .before-after_items .item_wrap {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 1.5em;
  width: 100%;
  max-width: calc((100% - 5.0em * 1) / 2);
  padding: 2.0em;
  background-color: var(--color-white);
  border-radius: 1.0em;
}
#pg_original .before-after_items .item_wrap:first-child:after {
  display: block;
  position: absolute;
  top: 50%;
  left: calc(100% + (5.0em / 2));
  transform: translate(-50%, -50%);
  width: 3.5em;
  padding-top: 3.5em;
  background-image: url('../images/original/original_arrow-white_r.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_arrow-white_r.svg');*/
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}
#pg_original .before-after_items .item_wrap .item {
  flex-grow: 1;
  position: relative;
}
#pg_original .before-after_items .item_wrap .item:has(.item_title) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 60%;
}
#pg_original .before-after_items .item_wrap .item:has(.item_image) {
  display: block;
  width: 40%;
}
#pg_original .before-after_items .item_wrap .item .item_title {
  font-size: 1.0em;
}
#pg_original .before-after_items .item_wrap .item .item_title span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.3em;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
#pg_original .before-after_items .item_wrap .item .item_title span.after {
  color: var(--color-deepsky);
}
#pg_original .before-after_items .item_wrap .item .item_text {
  font-size: 1.0em;
  text-align: left;
}
#pg_original .before-after_items .item_wrap .item .item_text span {
  display: inline-block;
  font-weight: 700;
  font-size: 1.5em;
  line-height: 1.7;
}
#pg_original .before-after_items .item_wrap .item .item_image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 4 / 3);
  margin-bottom: 0.5em;
}
#pg_original .before-after_items .item_wrap .item .item_image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 1023px) {
  #pg_original .before-after_items .item_wrap .item .item_text span {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 767px) {
  #pg_original .before-after_items {
    flex-direction: column;
    gap: 4.0em;
  }
  #pg_original .before-after_items .item_wrap:first-child:after {
    top: calc(100% + (4.0em / 2));
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2.5em;
    padding-top: 2.5em;
    background-image: url('../images/original/original_arrow-white_d.svg');
    /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_arrow-white_d.svg');*/
  }
  #pg_original .before-after_items .item_wrap {
    max-width: calc((100% - 4.0em * 0) / 1);
    padding: 1.5em;
  }
  #pg_original .before-after_items .item_wrap .item .item_text span {
    font-size: 1.3em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .before-after_items .item_wrap {
    flex-direction: column;
    max-width: 100%;
  }
  #pg_original .before-after_items .item_wrap .item:has(.item_title) {
    width: 100%;
  }
  #pg_original .before-after_items .item_wrap .item:has(.item_image) {
    width: 100%;
  }
  #pg_original .before-after_items .item_wrap .item .item_text span {
    font-size: 1.2em;
  }
  #pg_original .before-after_items .item_wrap .item .item_image {
    padding-top: 0;
  }
  #pg_original .before-after_items .item_wrap .item .item_image img {
    position: relative;
    top: initial;
    left: initial;
    height: initial;
  }
}

#pg_original .before-after_point_wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 800px;
  padding: 3.0em 4.0em 0;
  margin: 0 auto;
}
#pg_original .before-after_point_wrap .point_item {
  position: relative;
  display: block;
  width: 100%;
}
#pg_original .before-after_point_wrap .point_item .point_text {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  min-width: 200px;;
  padding: 1.0em 1.5em;
  margin: 0 auto;
  background-color: var(--color-navy);
}
#pg_original .before-after_point_wrap .point_item .point_text span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.5em;
  text-align: center;
  line-height: 1.5;
  color: var(--color-white);
}
#pg_original .before-after_point_wrap .point_item .point_image {
  position: relative;
  display: block;
  width: 100%;
  max-width: 180px;
  margin: -10.5px auto 0;
}
#pg_original.no-robot .before-after_point_wrap .point_item .point_image {
  padding-top: 3.0em;
  margin: 0 auto 0;
}
#pg_original .before-after_point_wrap .point_item .point_image .point_robot {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% / 360 * 220);
  background-image: url('../images/original/original_before-after.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_before-after.png');*/
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
#pg_original.no-robot .before-after_point_wrap .point_item .point_image .point_robot {
  display: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .before-after_point_wrap {
    padding: 2.0em 4.0em 0;
  }
  #pg_original .before-after_point_wrap .point_item .point_text span {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜Features（選ばれる理由） */
#pg_original .org_features {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .features_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1.0em;
  margin-top: 2.0em;
  margin-bottom: 2.0em;
}
#pg_original .features_items.center {
  justify-content: center;
}
#pg_original .features_items .item {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  max-width: calc((100% - 1.0em * 3) / 4);
  padding: 1.0em;
  background-color: var(--color-white);
  border: 2px dotted var(--color-deepsky);
  border-radius: 1.0em;
}
#pg_original .features_items .item .item_image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  margin-bottom: 0.5em;
}
#pg_original .features_items .item .item_image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#pg_original .features_items .item .item_title {}
#pg_original .features_items .item .item_title span {
  font-weight: 500;
  font-size: 1.2em;
  line-height: 1.7;
  color: var(--color-deepsky);
}
#pg_original .features_items .item .item_text {}
#pg_original .features_items .item .item_text span {
  line-height: 1.7;
}
@media screen and (max-width: 1023px) {
  #pg_original .features_items .item {
    max-width: calc((100% - 1.0em * 2) / 3);
  }
}
@media screen and (max-width: 767px) {
  #pg_original .features_items .item {
    max-width: calc((100% - 1.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  #pg_original .features_items .item {
    max-width: calc((100% - 1.0em * 0) / 1);
  }
}


/* オリジナル商品｜Case Study（導入事例） */
#pg_original .org_case-study {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .case-study_lead {
  position: relative;
  margin-bottom: 2.0em;
}
#pg_original .case-study_lead span {
  font-weight: 500;
  font-size: 1.6em;
  line-height: 1.5;
  color: var(--color-white);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .case-study_lead span {
    font-size: 1.4em;
    line-height: 1.7;
  }
}
@media screen and (max-width: 567px) {}

#pg_original .case-study_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 3.0em;
}
#pg_original .case-study_items .item {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  max-width: calc((100% - 3.0em * 2) / 3);
  padding: 1.5em;
  background-color: var(--color-white);
}
#pg_original .case-study_items .item::after {
  display: block;
  position: absolute;
  top: 50%;
  left: calc(100% + 1.5em);
  transform: translate(-50%, -50%);
  width: 2.5em;
  padding-top: 2.5em;
  background-image: url('../images/original/original_arrow-aqua_r.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_arrow-aqua_r.svg');*/
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}
#pg_original .case-study_items .item:last-child::after {
  display: none;
}
#pg_original .case-study_items .item .item_title {}
#pg_original .case-study_items .item .item_title span {
  font-weight: 500;
  font-size: 1.2em;
  line-height: 1.6;
  color: var(--color-deepsky);
}
#pg_original .case-study_items .item .item_text {}
#pg_original .case-study_items .item .item_text span {
  line-height: 1.7;
}
@media screen and (max-width: 1023px) {
  #pg_original .case-study_items .item {
    max-width: calc((100% - 3.0em * 0) / 1);
  }
  #pg_original .case-study_items .item::after {
    top: calc(100% + 1.5em);
    left: 50%;
    background-image: url('../images/original/original_arrow-aqua_d.svg');
    /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_arrow-aqua_d.svg');*/
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜Case Study（導入事例｜実績選択） */
#pg_original .case-study_works_items {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 2.0em;
}
#pg_original .case-study_works_items a {
  position: relative;
  display: flex;
  gap: 2.0em;
  padding: 2.0em;
  color: var(--color-white);
  text-decoration: none;
  border: none;
  border-top: 1px solid var(--color-white);
}
#pg_original .case-study_works_items a:last-child {
  border-bottom: 1px solid var(--color-white);
}
#pg_original .case-study_works_items a:hover {}
#pg_original .case-study_works_items a :is(.item_image, .item_title) {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  opacity: 1.0;
  transition: opacity 0.3s ease;
}
#pg_original .case-study_works_items a:hover :is(.item_image, .item_title) {
  opacity: 0.8;
}
#pg_original .case-study_works_items a .item_image {
  flex-grow: 0;
  max-width: 150px;
}
#pg_original .case-study_works_items a .item_image .thumb-image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
#pg_original .case-study_works_items a .item_image .thumb-image img {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#pg_original .case-study_works_items a .item_title {
  flex-grow: 1;
}
#pg_original .case-study_works_items a .item_title span {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .case-study_works_items a {
    flex-direction: column;
    gap: 1.0em;
    padding: 1.5em;
  }
  #pg_original .case-study_works_items a .item_image {
    flex-grow: 1;
    max-width: initial;
  }
}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜Why Kanazawa Kiko（金沢機工だからできること） */
#pg_original .org_why {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .why_lead {
  position: relative;
  margin-bottom: 2.0em;
} 
#pg_original .why_lead p {
  position: relative;
}
#pg_original .why_lead p span {
  position: relative;
  font-weight: 700;
  font-size: 1.6em;
  line-height: 1.7;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .why_lead p span {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .why_lead p span {
    font-size: 1.3em;
  }
}

#pg_original .why_items {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 4.0em;
  width: 100%;
}
#pg_original .why_items.center {
  justify-content: center;
}
#pg_original .why_items .item_step {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 4.0em * 4) / 5);
}
#pg_original .why_items .item_step .item_body {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 1.5em;
  background-color: var(--color-deepsky);
}
#pg_original .why_items .item_step .item_body::after {
  display: block;
  position: absolute;
  top: 50%;
  left: calc(100% + 2.0em);
  transform: translate(-50%, -50%);
  width: 3.0em;
  padding-top: 3.0em;
  background-image: url('../images/original/original_arrow-deepsky_r.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_arrow-deepsky_r.svg');*/
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}
#pg_original .why_items .item_step:last-child .item_body::after {
  display: none;
}
#pg_original .why_items .item_step .item_body :is(.num, .text) {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  color: var(--color-white);
}
#pg_original .why_items .item_step .item_body .num {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 2.7em;
  line-height: 1.2;
}
#pg_original .why_items .item_step .item_body .text {
  font-weight: 100;
  font-size: 1.1em;
  line-height: 1.5;
}
@media screen and (max-width: 1023px) {
  #pg_original .why_items .item_step {
    max-width: calc((100% - 4.0em * 3) / 4);
  }
}
@media screen and (max-width: 767px) {
  #pg_original .why_items {
    padding: 0 1.5em;
    gap: 3.0em;
  }
  #pg_original .why_items .item_step {
    max-width: calc((100% - 3.0em * 2) / 3);
  }
  #pg_original .why_items .item_step .item_body {
    padding: 1.0em;
  }
  #pg_original .why_items .item_step .item_body::after {
    left: calc(100% + 1.5em);
    width: 2.0em;
    padding-top: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .why_items .item_step {
    max-width: calc((100% - 3.0em * 1) / 2);
  }
}

#pg_original .why_points {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 3.0em;
}
#pg_original .why_points .why_point_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2.0em;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
#pg_original .why_points .why_point_wrap.center {
  justify-content: center;
}
#pg_original .why_points .why_point_wrap .point_item {
  position: relative;
  display: block;
  width: 100%;
  max-width: calc((100% - 2.0em * 3) / 4);
}
#pg_original .why_points .why_point_wrap .point_item .point_text {
  position: relative;
  display: block;
  width: 100%;
  padding: 1.0em 1.5em;
  background-color: var(--color-white);
}
#pg_original .why_points .why_point_wrap .point_item .point_text span {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.2m;
  text-align: center;
  line-height: 1.5;
}
#pg_original .why_points .why_point_wrap .point_item .point_image {
  position: relative;
  display: block;
  width: 100%;
  max-width: 94px;
  margin: -7px auto 0;
}
#pg_original.no-robot .why_points .why_point_wrap .point_item .point_image {
  display: none;
}
#pg_original .why_points .why_point_wrap .point_item .point_image .point_robot {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% / 188 * 228);
  background-image: url('../images/original/original_why.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/original/original_why.png');*/
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .why_points {
    margin-top: 2.0em;
  }
  #pg_original .why_points .why_point_wrap.center {
    justify-content: flex-start;
  }
  #pg_original .why_points .why_point_wrap .point_item .point_text span {
    font-size: 1.1em;
  }
  #pg_original .why_points .why_point_wrap .point_item {
    max-width: calc((100% - 2.0em * 2) / 3);
  }
}
@media screen and (max-width: 567px) {
  #pg_original .why_points .why_point_wrap .point_item {
    max-width: calc((100% - 2.0em * 1) / 2);
  }
}


/* オリジナル商品｜最後に（メッセージ 任意） */


/* オリジナル商品｜FAQ（よくある質問） */
#pg_original .org_faq {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

#pg_original .org_qa_wrap {}
#pg_original .org_qa {
  width: 100%;
  margin-bottom: 1.0em;
  line-height: 1.5;
  border: 2px solid var(--color-iceblue);
  background-color: var(--color-white);
}
#pg_original .org_qa summary {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.0em 2.0em;
  padding-left: 3.0em;
  font-weight: 700;
  color: var(--color-deepsky);
  cursor: pointer;
}
#pg_original .org_qa summary span {
  font-size: 1.1em;
}
#pg_original .org_qa summary::before,
#pg_original .org_qa p::before {
  position: absolute;
  left: 1.0em;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.0em;
  transform: scale(1.8);
}
#pg_original .org_qa summary::before {
  color: var(--color-darkgray);
  content: 'Q';
}
#pg_original .org_qa summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 0.75em;
  height: 0.75em;
  margin-left: 10px;
  border-bottom: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  content: '';
  transition: transform 0.3s;
}
#pg_original .org_qa[open] summary::after {
  transform: rotate(225deg);
}
#pg_original .org_qa p {
  position: relative;
  transform: translate(0, -0.75em);
  padding: 0.3em 3.0em 1.0em;
  margin: 0;
  color: var(--color-black);
  opacity: 0;
  transition: transform 0.5s, opacity 0.5s;
}
#pg_original .org_qa[open] p {
  transform: none;
  opacity: 1.0;
}
#pg_original .org_qa p::before {
  color: var(--color-skyblue);
  content: '';
}
#pg_original .org_qa p:first-of-type::before {
  content: 'A';
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* オリジナル商品｜最後に（メッセージ 任意） */
#pg_original .org_message {}

#pg_original .message_body {
  width: 100%;
  max-width: 1000px;
  padding: 2.0em 2.5em;
  margin: 0 auto;
  background-color: var(--color-white);
}
#pg_original .message_body h4 {
  font-size: 1.0em;
}
#pg_original .message_body h4 span {
  font-size: 1.5em;
  color: var(--color-deepsky);
}
#pg_original .message_body p {}
#pg_original .message_body p span {
  font-weight: 500;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #pg_original .message_body {
    padding: 1.5em 2.0em;
  }
  #pg_original .message_body h4 span {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 567px) {
  #pg_original .message_body {
    padding: 1.0em 1.5em;
  }
  #pg_original .message_body h4 span {
    font-size: 1.3em;
  }
}


/* オリジナル商品｜Contact（資料請求・デモ相談・お問い合わせ） */
#pg_original .org_contact {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  商材検索（achv_merchandise.php）
##  商材検索｜リスト（loop-merchandise.php）
##
############################################## */
/* 商材検索｜フッター */
.page-footer.pg_merchandise {}
.page-footer.pg_merchandise:not(:has(.entry-footer .p-navi > *)) {
  display: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* 商材検索｜メイン｜検索フォーム */
.container.merchandise-search {
  margin-bottom: 4.0em;
}
.mcd-form {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.mcd-form .mcd-frame {
  position: relative;
  display: flex;
  gap: 2.0em;
  flex-direction: column;
  width: 100%;
  padding: 2.0em 2.5em;
  margin: 0;
  background-color: var(--color-white-50per);
  border: 1px solid var(--color-darkblue);
}
.mcd-form .mcd-frame .mcd-search {
  position: relative;
  display: flex;
  gap: 3.0em;
  width: 100%;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-title {
  flex-grow: 0;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content {
  flex-grow: 1;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content .mcd-search-explanation {
  margin-top: 0.75em;
  font-size: 0.9em;
  line-height: 1.7;
}
@media screen and (max-width: 1023px) {
  .mcd-form .mcd-frame .mcd-search {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .mcd-form .mcd-frame {
    padding: 1.5em 1.5em;
  }
  .mcd-form .mcd-frame .mcd-search {
    gap: 1.0em;
    flex-direction: column;
  }
}
@media screen and (max-width: 567px) {}

/* 商材検索｜メイン｜タイトル 共通 */
.mcd-form .mcd-frame .mcd-search .mcd-search-title {
  /*min-width: 175px;*/
  min-width: 200px;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-title :is(.title-jp, .title-en) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  line-height: 1.7;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-title .title-jp {
  color: var(--color-darkblue);
}
.mcd-form .mcd-frame .mcd-search .mcd-search-title .title-jp span {
  font-weight: 500;
  font-size: 1.3em;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-title .title-en {
  color: var(--color-ashgray);
}
.mcd-form .mcd-frame .mcd-search .mcd-search-title .title-en span {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 1.0em;
  text-transform: uppercase;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .mcd-form .mcd-frame .mcd-search .mcd-search-title {
    width: 100%;
    min-width: initial;
  }
}
@media screen and (max-width: 567px) {}

/*  商材検索｜メイン｜検索フォーム 共通 */
.mcd-form .mcd-frame .mcd-search .mcd-search-content {
  position: relative;
  display: flex;
  /*gap: 2.0em;*/
  column-gap: 2.0em;
  flex-wrap: wrap;
  max-width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .mcd-form .mcd-frame .mcd-search .mcd-search-content {
    /*gap: 1.5em;*/
    column-gap: 1.5em;
    width: 100%;
  }
}
@media screen and (max-width: 567px) {}

/*  商材検索｜メイン｜検索フォーム｜商品カテゴリー */
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul {
  flex-grow: 0;
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  list-style-type: none;
  padding: 0;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul li {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul li label {
  cursor: pointer;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-parent {
  padding: 0;
  margin: 0;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-parent > li {
  padding: 0;
  margin: 0;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-parent > li .is-parent {
  color: var(--color-darkblue);
  font-weight: 500;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-child {
  padding: 0;
  margin: 0;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-child > li {
  padding: 0;
  margin: 0;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-child > li .is-child {
  font-weight: 400;
}
/* 商材検索｜メイン｜検索フォーム｜商品カテゴリー（読み込み時、カテゴリーにチェックあり） */
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-parent.item-checked > li .is-parent {
  background-color: var(--color-powderblue);
}

/* 商材検索｜メイン｜検索フォーム｜詳細表示｜表示ボタン */
.mcd-child_visible-btn {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
  margin-top: 0.5em;
}
.mcd-child_visible-btn span {
  display: block;
  position: relative;
  padding: 0.1em 0.75em 0.2em;
  font-weight: 500;
  font-size: 0.9em;
  color: var(--color-darkblue);
  border: 1px solid;
  border-radius: 1.25em;
  user-select: none;
  cursor: pointer;
}
.mcd-child_visible-btn.pushed span {
  color: var(--color-gray);
  cursor: auto;
}
/* 商材検索｜メイン｜検索フォーム｜詳細表示｜表示の可否（ul.mcd-child） */
.mcd-form .mcd-frame .mcd-search .mcd-search-content:has(ul.mcd-child) {
  row-gap: 1.0em;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content.mcd-child_visible:has(ul.mcd-child) {
  row-gap: 2.0em;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content ul.mcd-child {
  display: none;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content.mcd-child_visible ul.mcd-child {
  display: block;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .mcd-form .mcd-frame .mcd-search .mcd-search-content:has(ul.mcd-child) {
    row-gap: 0.75em;
  }
  .mcd-form .mcd-frame .mcd-search .mcd-search-content.mcd-child_visible:has(ul.mcd-child) {
    row-gap: 1.5em;
  }
}
@media screen and (max-width: 567px) {}

/*  商材検索｜メイン｜検索フォーム｜キーワード検索 */
.mcd-form .mcd-frame .mcd-search .mcd-search-content .kw-textbox {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content .kw-textbox input {
  width: 100%;
  padding: 0.5em 0.75em;
  font-size: 1.0em;
  line-height: 1.5;
  color: var(--color-black);
  background-color: var(--color-white-50per);
  border: 1px solid var(--color-ashgray);
  border-radius: 0.5em;
}
.mcd-form .mcd-frame .mcd-search .mcd-search-content .kw-textbox input::placeholder {
  color: var(--color-ashgray);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.mcd-form .mcd-frame .mcd-button {
  position: relative;
  display: flex;
  gap: 1.0em;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.mcd-form .mcd-frame .mcd-button .submit-btn {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
.mcd-form .mcd-frame .mcd-button :is(.submit-btn, .reset-btn) button {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  min-width: 150px;
  padding: 1.0em;
  font-weight: 500;
  font-size: 1.0em;
  text-align: center;
  line-height: 1.5;
  border-radius: 0.5em;
  cursor: pointer;
  user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;
  transition: background-color 0.15s ease, color 0.15s ease, border 0.15s ease;
}
.mcd-form .mcd-frame .mcd-button .submit-btn button {
  color: var(--color-white);
  background-color: var(--color-darkblue);
  border: 2px solid var(--color-darkblue);
}
.mcd-form .mcd-frame .mcd-button .submit-btn button:hover {
  color: var(--color-darkblue);
  background-color: var(--color-white);
}
.mcd-form .mcd-frame .mcd-button .reset-btn button {
  color: var(--color-darkgray);
  background-color: var(--color-white);
  border: 2px solid var(--color-darkgray);
}
.mcd-form .mcd-frame .mcd-button .reset-btn button:hover {
  color: var(--color-darkblue);
  border: 2px solid var(--color-darkblue);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .mcd-form .mcd-frame .mcd-button :is(.submit-btn, .reset-btn) button {
    min-width: 140px;
  }
}


/* 商材検索｜カテゴリタブ */
.container.merchandise-tab {
  margin-bottom: 4.0em;
}
.container.merchandise-tab ul {
  position: relative;
  display: flex;
  gap: 0.5em;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style-type: none;
  line-height: 1.5;
}
.container.merchandise-tab ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.container.merchandise-tab ul li a {
  text-decoration: none;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  background-color: var(--color-white);
  border: 1px solid var(--color-darkblue);
  transition: background-color 0.2s ease;
}
.container.merchandise-tab ul li a:hover {
  background-color: var(--color-darkblue);
}
.container.merchandise-tab ul li a span {
  position: relative;
  display: inline-block;
  font-size: 0.85em;
  color: var(--color-darkblue);
  width: 100%;
  max-width: max-content;
  transition: color 0.2s ease;
}
.container.merchandise-tab ul li a span::after {
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-left: 0.5em;
  content: '';
}
.container.merchandise-tab ul li a:hover span {
  color: var(--color-white);
}
.container.merchandise-tab ul li a:hover span::after {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .container.merchandise-tab ul li a span {
    font-size: 0.8em;
  }
}


/* 商材検索｜検索結果（件数等表示） */
.mcd_search-result {
  position: relative;
  display: block;
  width: 100%;
  margin: 3.0em 0;
}
.mcd_search-result span {
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-darkblue);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .mcd_search-result span {
    font-size: 1.0em;
  }
}


/* 商材検索｜リスト（achv_merchandise.php） */
.mcd-body,
.mcd-body .mcd-items,
.mcd-body .mcd-items ul {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
}
.mcd-body {
  max-width: 1100px;
  margin: 0 auto;
}
.mcd-body .mcd-items ul {
  list-style-type: none;
  line-height: 1.5;
  background-color: var(--color-white-50per);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* 商材検索｜リスト（loop-merchandise.php） */
.mcd-body .mcd-items ul li {
  position: relative;
  display: block;
  width: 100%;
  border: none;
  border-top: 1px solid;
}
.mcd-body .mcd-items ul li:last-child {
  border-bottom: 1px solid;
}
.mcd-body .mcd-items ul li .nolink {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
  /*padding: 1.5em 1.5em;*/
  padding: 2.0em 1.0em;
  margin: 0;
  line-height: 1.5;
}
.mcd-body .mcd-items ul li .nolink :is(.mcd_info, .mcd_items, .mcd_remarks) {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  max-width: 100%;
}
.mcd-body .mcd-items ul li .nolink .mcd_info {
  flex-grow: 0;
  width: 30%;
}
.mcd-body .mcd-items ul li .nolink .mcd_items {
  flex-grow: 0;
  width: 35%;
}
.mcd-body .mcd-items ul li .nolink .mcd_remarks {
  flex-grow: 1;
  width: 45%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .mcd-body .mcd-items ul li .nolink {
    gap: 1.5em;
    flex-direction: column;
  }
  .mcd-body .mcd-items ul li .nolink :is(.mcd_info, .mcd_items, .mcd_remarks) {
    flex-grow: 1;
    width: 100%;
  }
}
@media screen and (max-width: 567px) {}

.mcd-body .mcd-items ul li .nolink span,
.mcd-body .mcd-items ul li .nolink *:has(> span) {
  max-width: 100%;
}

.mcd-body .mcd-items ul li .nolink .mcd_item_title {
  margin-top: 1.25em;
  margin-bottom: 0.5em;
}
.mcd-body .mcd-items ul li .nolink .mcd_item_title span {
  font-weight: 500;
  font-size: 0.9em;
  color: var(--color-paleblue);
}

.mcd-body .mcd-items ul li .nolink .name {
  margin-bottom: 0.5em;
}
.mcd-body .mcd-items ul li .nolink .name h4 {
  font-size: 1.0em;
}
.mcd-body .mcd-items ul li .nolink .name h4 span {
  font-weight: 500;
  font-size: 1.2em;
  color: var(--color-black);
}

.mcd-body .mcd-items ul li .nolink .kana {}
.mcd-body .mcd-items ul li .nolink .kana span {
  color: var(--color-black);
}

.mcd-body .mcd-items ul li .nolink .url {}
.mcd-body .mcd-items ul li .nolink .url a {
  color: var(--color-darkblue);
}
.mcd-body .mcd-items ul li .nolink .url a:hover {}
.mcd-body .mcd-items ul li .nolink .url a span {
  position: relative;
}
.mcd-body .mcd-items ul li .nolink .url a span::after {
  display: block;
  position: absolute;
  top: 53%;
  left: 100%;
  transform: translate(0.25em, -50%);
  width: 1.0em;
  padding-top: 1.0em;
  background-image: url('../images/ico/ico_news_external_darkblue.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/ico/ico_news_external_darkblue.svg');*/
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}

.mcd-body .mcd-items ul li .nolink .items {
  position: relative;
  display: flex;
  gap: 0.25em;
  flex-wrap: wrap;
}
.mcd-body .mcd-items ul li .nolink .items :is(.is-child, .is-parent) {
  position: relative;
  display: block;
  max-width: 100%;
  padding: 0.15em 0.5em 0.3em;
  font-weight: 500;
  font-size: 0.83em;
  border-radius: 0.25em;
  border: 1px solid;
  
}
.mcd-body .mcd-items ul li .nolink .items :is(.is-child, .is-parent) span {
  position: relative;
  display: block;
  max-width: 100%;
  color: var(--color-black);
}

.mcd-body .mcd-items ul li .nolink .kinds {}
.mcd-body .mcd-items ul li .nolink .kinds span {
  font-size: 0.9em;
  color: var(--color-black);
}

.mcd-body .mcd-items ul li .nolink .comment {
  width: 100%;
  padding: 0.5em 0.75em 0.65em;
  margin-top: 1.0em;
  background-color: var(--color-lightgray);
  border-radius: 0.5em;
}
.mcd-body .mcd-items ul li .nolink .comment span {
  font-size: 0.9em;
  color: var(--color-black);
}

.mcd-body .mcd-items ul li .nolink .tags {}
.mcd-body .mcd-items ul li .nolink .tags span {
  font-size: 0.9em;
  margin-right: 1.0em;
  color: var(--color-black);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.mcd-body .mcd-items .login-caution {
  color: var(--color-red)!important;
  word-wrap: break-word;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  カラーパレット（ハイライト）
##  functions.php（admin.php）
##
############################################## */
/* functions.php（admin.php）｜ブロックエディタのカラーパレット（ハイライト） */
.has-darkblue-background-color {
  background-color: var(--color-darkblue);
}
.has-darkblue-color {
  color: var(--color-darkblue);
}

.has-darkcyan-background-color {
  background-color: var(--color-darkcyan);
}
.has-darkcyan-color {
  color: var(--color-darkcyan);
}

.has-azure-background-color {
  background-color: var(--color-azure);
}
.has-azure-color {
  color: var(--color-azure);
}

.has-brightcyan-background-color {
  background-color: var(--color-brightcyan);
}
.has-brightcyan-color {
  color: var(--color-brightcyan);
}

.has-deepsky-background-color {
  background-color: var(--color-deepsky);
}
.has-deepsky-color {
  color: var(--color-deepsky);
}

.has-powderblue-background-color {
  background-color: var(--color-powderblue);
}
.has-powderblue-color {
  color: var(--color-powderblue);
}

.has-iceblue-background-color {
  background-color: var(--color-iceblue);
}
.has-iceblue-color {
  color: var(--color-iceblue);
}

.has-mint-background-color {
  background-color: var(--color-mint);
}
.has-mint-color {
  color: var(--color-mint);
}

.has-lilac-background-color {
  background-color: var(--color-lilac);
}
.has-lilac-color {
  color: var(--color-lilac);
}

.has-cornflower-background-color {
  background-color: var(--color-cornflower);
}
.has-cornflower-color {
  color: var(--color-cornflower);
}

.has-lime-background-color {
  background-color: var(--color-lime);
}
.has-lime-color {
  color: var(--color-lime);
}

.has-black-background-color {
  background-color: var(--color-black);
}
.has-black-color {
  color: var(--color-black);
}

.has-white-background-color {
  background-color: var(--color-white);
}
.has-white-color {
  color: var(--color-white);
}

.has-red-background-color {
  background-color: var(--color-red);
}
.has-red-color {
  color: var(--color-red);
}

.has-marker-background-color {
  background-color: var(--color-marker);
}
.has-marker-color {
  color: var(--color-marker);
}

.has-lightgray-background-color {
  background-color: var(--color-lightgray);
}
.has-lightgray-color {
  color: var(--color-lightgray);
}

.has-gray-background-color {
  background-color: var(--color-gray);
}
.has-gray-color {
  color: var(--color-gray);
}

.has-darkgray-background-color {
  background-color: var(--color-darkgray);
}
.has-darkgray-color {
  color: var(--color-darkgray);
}
