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

◯ベース書体
.ibm-plex-sans-jp-regular {
  font-family: "IBM Plex Sans JP", serif;
  font-weight: 400;
  font-style: normal;
}
.ibm-plex-sans-jp-medium {
  font-family: "IBM Plex Sans JP", serif;
  font-weight: 500;
  font-style: normal;
}
.ibm-plex-sans-jp-semibold {
  font-family: "IBM Plex Sans JP", serif;
  font-weight: 600;
  font-style: normal;
}


◯採用情報
.kiwi-maru-medium {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-style: normal;
}

.roboto-bold {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-style: normal;
}
// 「数字で見る」の数字部分

.barlow-condensed-semibold {
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  font-style: normal;
}
// 見出しの英語表記に使用


◯FontAwesome
font-family: 'Font Awesome 6 Free', Font Awesome;
font-weight: X00;
content: '\XXXX';


◯未来への胎動物語（アウトライン・画像で使用）
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
// 600: SemiBold
*/


/* ■色名等（#16進数カラーコード） */
:root {
  --color-black: #000000;
  /* var(--color-black) */
  --color-clearblue: #236FC9;
  /* var(--color-clearblue) */
  --color-deepblue: #2B59AD;
  /* var(--color-deepblue) */
  --color-white: #FFFFFF;
  /* var(--color-white) */

  --color-lightgray: #F8F8F8;
  /* var(--color-lightgray) */
  --color-lightblue: #E6ECF4;
  /* var(--color-lightblue) */
  --color-babyblue: #F0F7FE;
  /* var(--color-babyblue) */

  --color-green: #15AA5A;
  /* var(--color-green) */
  --color-yellow: #FFB40B;
  /* var(--color-yellow) */
  --color-orange: #FF8A41;
  /* var(--color-orange) */
  --color-red: #E60033;
  /* var(--color-red) */


  --color-inkblack: #333333;
  /* var(--color-inkblack) */
  --color-darkgray: #505050;
  /* var(--color-darkgray) */
  --color-dimgray: #707070;
  /* var(--color-dimgray) */
  --color-gray: #A8A8A8;
  /* var(--color-gray) */
  --color-silvergray: #D4D4D4;
  /* var(--color-silvergray) */  
  --color-brightgray: #EAEAEA;
  /* var(--color-brightgray) */

  --color-lemonyellow: #FFF00B;
  /* var(--color-lemonyellow) */
  --color-lightyellow: #FFFF62;
  /* var(--color-lightyellow) */
  --color-lightgreen: #E6F4EC;
  /* var(--color-lightgreen) */

  --color-magnusblue: #0D347A;
  /* var(--color-magnusblue) */
}


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

html {
  font-size: 62.5%;
}

body {
  font-family: "IBM Plex Sans JP", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  /*line-height: 1.7;*/
  line-height: 1.75;
  /*background-color: var(--color-white);*/
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}
body * {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

body.home {
  overflow-x: hidden;
}

section, article {
  /*overflow-x: hidden;*/
}




/* ブラウザごとに読み込むCSSを変更 */
/* Chrome */
@media screen and (-webkit-min-device-pixel-ratio:0) {}
/* FireFox */
@-moz-document url-prefix() {}
/* Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {}
/* EdgeHTML */
@supports (-ms-ime-align: auto) {}
/* EdgeChromium */ /* ※「body」の部分は各セレクタ名 */
_:lang(x)::-ms-, body {} 




h1, h2, h3, h4, h5, h6 {
  /*font-weight: 500;*/
  /*text-align: left;*/
}

.pure-g,
.pure-g > div {
  font-family: inherit;
}


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

a {
  /*color: var(--color-black);*/
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}

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

img {
  width: 100%;
}

/* PDF、Word、Excelがリンクのときにアイコンを追加 */
/* 圧縮ファイル（zip、lzh）がリンクのときにアイコンを追加 */
.page-content a[href$=".pdf"]:after,
.page-content a[href$=".doc"]:after,
.page-content a[href$=".docx"]:after,
.page-content a[href$=".xls"]:after,
.page-content a[href$=".xlsx"]:after,
.page-content a[href$=".zip"]:after,
.page-content a[href$=".lzh"]:after,
footer a[href$=".pdf"]:after,
footer a[href$=".doc"]:after,
footer a[href$=".docx"]:after,
footer a[href$=".xls"]:after,
footer a[href$=".xlsx"]:after,
footer a[href$=".zip"]:after,
footer a[href$=".lzh"]::after {
  font-family: 'Font Awesome 6 Free', Font Awesome;
  padding-left: 0.25em;
  padding-right: 0.25em;
  text-indent: 0;
  display: inline-block;
  transform: scale(90%, 90%);
  font-size: 1.15em;
  vertical-align: -0.05em;
}
.page-content a[href$=".pdf"]:after,
footer a[href$=".pdf"]::after {
  font-weight: 400!important;
  content: "\f1c1"!important;
}
.page-content a[href$=".doc"]:after,
.page-content a[href$=".docx"]:after,
footer a[href$=".doc"]:after,
footer a[href$=".docx"]::after {
  font-weight: 400!important;
  content: "\f1c2"!important;
}
.page-content a[href$=".xls"]:after,
.page-content a[href$=".xlsx"]:after,
footer a[href$=".xls"]:after,
footer a[href$=".xlsx"]::after {
  font-weight: 400!important;
  content: "\f1c3"!important;
}

.page-content a[href$=".zip"]:after,
.page-content a[href$=".lzh"]:after,
footer a[href$=".zip"]:after,
footer a[href$=".lzh"]::after {
  font-weight: 400!important;
  content: "\f15c"!important;
}

/* 外部リンクのときにアイコンを追加 */
.page-content a[target$="blank"]:not([href$=".pdf"]):after,
.page-content a[target$="blank"]:not([href$=".doc"]):after,
.page-content a[target$="blank"]:not([href$=".docx"]):after,
.page-content a[target$="blank"]:not([href$=".xls"]):after,
.page-content a[target$="blank"]:not([href$=".xlsx"]):after,
.page-content a[target$="blank"]:not([href$=".zip"]):after,
.page-content a[target$="blank"]:not([href$=".lzh"]):after,
footer a[target$="blank"]:not([href$=".pdf"]):after,
footer a[target$="blank"]:not([href$=".doc"]):after,
footer a[target$="blank"]:not([href$=".docx"]):after,
footer a[target$="blank"]:not([href$=".xls"]):after,
footer a[target$="blank"]:not([href$=".xlsx"]):after,
footer a[target$="blank"]:not([href$=".zip"]):after,
footer a[target$="blank"]:not([href$=".lzh"]):after{
  font-family: 'Font Awesome 6 Free', Font Awesome;
  font-weight: 600;
  content: "\f35d";
  padding-left: 0.25em;
  padding-right: 0.25em;
  text-indent: 0;
  display: inline-block;
  transform: scale(90%, 90%);
}

.page-content a:has(img):after,
footer a:has(img)::after {
  display: none!important;
}



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


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


.txt-center {
  text-align: center;
}
.txt-justify {
  text-align: justify;
}
.txt-left {
  text-align: left;
}
.txt-right {
  text-align: right;
}


/* 電話番号リンクを回避 */
.no-tel-link,
.no-tel-link a {
  pointer-events: none;
  text-decoration: none;
}


hr,
.wp-block-separator {
  border: none;
  border-top: 1px solid;
  width: 100%;
  margin: 4.0em 0;
}
.wp-block-separator {
  border-top: 1px solid var(--color-dimgray)!important;
}


/* ボタン
「①btn」「②色名」「③posi または nega」の3つを記載
（例）class="btn clearblue posi" | class="btn clearblue nega" */
.btn {
  display: block;
  position: relative;
  width: 100%;
  margin: 2.0em 0;
}
.btn a {
  display: inline-block;
  position: relative;
  text-decoration: none;
  text-align: left;
  font-size: 0.9em;
  line-height: 1.5;
  width: 100%;
  max-width: fit-content;
  min-width: 15.0em;
  transition: 0.2s;
  padding: 0.9em 3.0em 0.8em 1.0em;
  margin-top: 0.5em;
  border-radius: 0;
  cursor: pointer;
  user-select: none;
}
.btn a::after {
  display: block!important;
  position: absolute!important;
  top: 50%!important;
  right: 0.75em!important;
  transform: translate(0, -50%)!important;
  width: 1.0em!important;
  height: 1.0em!important;
  padding: 0!important;
}
.btn a + a {
  margin-left: 1.0em;
}

.btn a,
.btn a:hover,
.btn a::after,
.btn a:hover::after {
  transition: 0.2s;
}

:not(.txt-center, .has-text-align-center).btn {
  text-align: left;
}

.clearblue.posi a::after {}
.clearblue.nega a::after {}

.clearblue.posi a::after,
.clearblue.nega a:hover::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}
.clearblue.nega a::after,
.clearblue.posi a:hover::after {
  content: url('../images/link_arrow/arr-clearblue_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-clearblue_plain.svg')!important;*/
}
.clearblue.posi a {
  color: var(--color-white);
  background-color: var(--color-clearblue);
  border: 1px solid var(--color-clearblue);
}
.clearblue.nega a {
  color: var(--color-clearblue);
  background-color: var(--color-white);
  border: 1px solid var(--color-clearblue);
}
.clearblue.posi a:hover {
  color: var(--color-clearblue);
  background-color: var(--color-white);
}
.clearblue.nega a:hover {
  color: var(--color-white);
  background-color: var(--color-clearblue);
}

.green.posi a::after {}
.green.nega a::after {}

.green.posi a::after,
.green.nega a:hover::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}
.green.nega a::after,
.green.posi a:hover::after {
  content: url('../images/link_arrow/arr-green_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_plain.svg')!important;*/
}
.green.posi a {
  color: var(--color-white);
  background-color: var(--color-green);
  border: 1px solid var(--color-green);
}
.green.nega a {
  color: var(--color-green);
  background-color: var(--color-white);
  border: 1px solid var(--color-green);
}
.green.posi a:hover {
  color: var(--color-green);
  background-color: var(--color-white);
}
.green.nega a:hover {
  color: var(--color-white);
  background-color: var(--color-green);
}

.black.posi a::after {}
.black.nega a::after {}

.black.posi a::after,
.black.nega a:hover::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}
.black.nega a::after,
.black.posi a:hover::after {
  content: url('../images/link_arrow/arr-black_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-black_plain.svg')!important;*/
}
.black.posi a {
  color: var(--color-white);
  background-color: var(--color-black);
  border: 1px solid var(--color-black);
}
.black.nega a {
  color: var(--color-black);
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
}
.black.posi a:hover {
  color: var(--color-black);
  background-color: var(--color-white);
}
.black.nega a:hover {
  color: var(--color-white);
  background-color: var(--color-black);
}

.magnusblue.posi a::after {}
.magnusblue.nega a::after {}

.magnusblue.posi a::after,
.magnusblue.nega a:hover::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}
.magnusblue.nega a::after,
.magnusblue.posi a:hover::after {
  content: url('../images/link_arrow/arr-mugnusblue_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-magnusblue_plain.svg')!important;*/
}
.magnusblue.posi a {
  color: var(--color-white);
  background-color: var(--color-magnusblue);
  border: 1px solid var(--color-magnusblue);
}
.magnusblue.nega a {
  color: var(--color-magnusblue);
  background-color: var(--color-white);
  border: 1px solid var(--color-magnusblue);
}
.magnusblue.posi a:hover {
  color: var(--color-magnusblue);
  background-color: var(--color-white);
}
.magnusblue.nega a:hover {
  color: var(--color-white);
  background-color: var(--color-magnusblue);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .btn a,
  .btn a + a {
    margin: 0;
    margin-top: 1.0em;
    margin-right: 0.5em;
  }
  .btn a:last-child,
  .btn a + a:last-child {
    margin-right: 0;
  }
}
@media screen and (max-width: 567px) {
  .btn a,
  .btn a + a,
  .btn a:last-child,
  .btn a + a:last-child {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}


/* ボタン（リニア テキスト）
「①.btn-linear」「②色名」の2つを記載
（例）class="btn-linear clearblue" | class="btn-linear white" */
.btn-linear {
  display: block;
  position: relative;
  width: 100%;
  margin: 2.0em 0;
}
.btn-linear a {
  display: inline-block;
  position: relative;
  text-decoration: none;
  text-align: left;
  font-size: 0.85em;
  width: 100%;
  max-width: fit-content;
  transition: 0.2s;
  padding: 0;
  margin-top: 0.5em;
  cursor: pointer;
  user-select: none;
  transition: 0.2s;
}
.btn-linear a:hover {
  transition: 0.2s;
}
.btn-linear a::after {
  display: inline-block!important;
  position: relative!important;
  width: 0.75em!important;
  height: 0.75em!important;
  padding: 0!important;
  margin: 0!important;
  margin-left: 0.25em!important;
  transform: translate(0, 0)!important;
  transition: 0.2s;
}
.btn-linear a:hover::after {
  transform: translate(0.15em, -0.15em)!important;
  transition: 0.2s;
}

.btn-linear a + a {
  margin-left: 0.5em;
}

.btn-linear.clearblue a {
  color: var(--color-clearblue);
}
.btn-linear.clearblue a::after {
  content: url('../images/link_arrow/arr-clearblue_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-clearblue_plain.svg')!important;*/
}

.btn-linear.white a {
  color: var(--color-white);
}
.btn-linear.white a::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}

.btn-linear.black a {
  color: var(--color-black);
}
.btn-linear.black a::after {
  content: url('../images/link_arrow/arr-black_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-black_plain.svg')!important;*/
}

.btn-linear.green a {
  color: var(--color-green);
}
.btn-linear.green a::after {
  content: url('../images/link_arrow/arr-green_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_plain.svg')!important;*/
}

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




/* ##############################################
##
##  エディタ（エレメント）用
##
############################################## */
/* エレメント表示用 */
.title-elem {
  font-weight: 500!important;
  font-size: 1.7em!important;
  padding: 0.5em 0.75em 0.3em!important;
  color: var(--color-white)!important;
  background: var(--color-deepblue)!important;
  margin: 3.5em 0 2.5em!important;
  border-top: none!important;
  border-left: 7px solid var(--color-clearblue)!important;
  border-right: 7px solid var(--color-clearblue)!important;
  border-bottom: none!important;
}
.title-elem::after,
.title-elem::after {
  display: none!important;
}

/* margin調整 */
/*
.entry-content div h1:first-child,
.entry-content div h2:first-child,
.entry-content div h3:first-child,
.entry-content div h4:first-child,
.entry-content div h5:first-child,
.entry-content div h6:first-child,
.entry-content div p:first-child,
.entry-content div ul:first-child,
.entry-content div ol:first-child,
.entry-content div div:first-child {
  margin-top: 0!important;
}
*/
.entry-content *:not(:is(.snow-monkey-form *)):first-child {
  margin-top: 0!important;
}
/*
.entry-content *:first-child {
  margin-top: 0!important;
}
*/

/*
.entry-content > h1:first-child,
.entry-content > h2:first-child,
.entry-content > h3:first-child,
.entry-content > h4:first-child,
.entry-content > h5:first-child,
.entry-content > h6:first-child,
.entry-content > p:first-child,
.entry-content > ul:first-child,
.entry-content > ol:first-child,
.entry-content > div:first-child {
  margin-top: 0!important;
}
*/

/*
.entry-content div h1:last-child,
.entry-content div h2:last-child,
.entry-content div h3:last-child,
.entry-content div h4:last-child,
.entry-content div h5:last-child,
.entry-content div h6:last-child,
.entry-content div p:last-child,
.entry-content div ul:last-child,
.entry-content div ol:last-child,
.entry-content div div:last-child {
  margin-bottom: 0!important;
}
*/
.entry-content *:not(:is(.snow-monkey-form *)):last-child {
  margin-bottom: 0!important;
}
/*
.entry-content *:last-child {
  margin-bottom: 0!important;
}
*/

/*
.entry-content > h1:last-child,
.entry-content > h2:last-child,
.entry-content > h3:last-child,
.entry-content > h4:last-child,
.entry-content > h5:last-child,
.entry-content > h6:last-child,
.entry-content > p:last-child,
.entry-content > ul:last-child,
.entry-content > ol:last-child,
.entry-content > div:last-child {
  margin-bottom: 0!important;
}
*/

.entry-content ul ul:last-child,
.entry-content ul ol:last-child {
  margin: 0.5em 0;
}

/* リンク */
.entry-content a {
  color: var(--color-deepblue);
}

/* Snow Monkey Form 対応 */
.entry-content *:first-child(.smf-progress-tracker) {
  margin-top: 0;
}
.entry-content *:last-child(.smf-progress-tracker) {
  margin-bottom: 0;
}

.entry-content .snow-monkey-form p:first-child {
  margin-top: 0;
}
.entry-content .snow-monkey-form p:last-child {
  margin-bottom: 0;
}
.entry-content .snow-monkey-form .smf-text-control__control {
  width: 100%;
  max-width: 100%;
}

/* 見出し */
/* the_content() 内の体裁等（#main_content_body） */
/* トーケンニュース（single.php） */
.entry-content h1.title,
#main_content_body h1 {
  display: block;
  position: relative;
  font-weight: 400;
  font-size: 1.8em;
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--color-clearblue);
  width: 100%;
  padding-bottom: 0.5em;
  margin: 4.0em 0 1.0em;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid;
}
.entry-content h1.title::after,
#main_content_body h1::after {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 100%;
  transform: translate(-100%, -100%);
  width:12.5%;
  height: 8px;
  background: var(--color-clearblue);
}

.entry-content h2.title,
#main_content_body h2 {
  display: block;
  position: relative;
  font-weight: 400;
  /*font-size: 2.2em;*/
  font-size: 1.9em;
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: var(--color-clearblue);
  width: 100%;
  padding-bottom: 0.5em;
  margin: 4.0em 0 1.5em;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid;
}
.entry-content h2.title::after,
#main_content_body h2::after {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 100%;
  transform: translate(-100%, -100%);
  width:12.5%;
  height: 8px;
  background: var(--color-clearblue);
}

.entry-content h3.title,
#main_content_body h3 {
  display: block;
  position: relative;
  font-weight: 600;
  font-size: 1.4em;
  line-height: 1.6;
  color: var(--color-clearblue);
  width: 100%;
  margin: 2.5em 0 1.0em;
}

.entry-content h4.title,
#main_content_body h4 {
  display: block;
  position: relative;
  font-weight: 600;
  font-size: 1.2em;
  line-height: 1.6;
  color: var(--color-black);
  width: 100%;
  margin: 2.5em 0 1.0em;
}

.entry-content h5.title,
#main_content_body h5 {
  display: block;
  position: relative;
  font-weight: 600;
  font-size: 1.0em;
  color: var(--color-clearblue);
  width: 100%;
  margin: 2.5em 0 1.0em;
}

.entry-content h6.title,
#main_content_body h6 {
  display: block;
  position: relative;
  font-weight: 500;
  font-size: 1.0em;
  color: var(--color-black);
  width: 100%;
  margin: 2.0em 0 0.75em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .entry-content h1.title,
  #main_content_body h1 {
    font-size: 1.4em;
  }
  .entry-content h2.title,
  #main_content_body h2 {
    font-size: 1.7em;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
}
/* 見出し｜採用情報ページ（ID:page_recruit） */
#page_recruit .entry-content h1.title,
#page_recruit #main_content_body h1 {
  color: var(--color-green);
}
#page_recruit .entry-content h1.title::after,
#page_recruit #main_content_body h1::after {
  background: var(--color-green);
}

#page_recruit .entry-content h2.title,
#page_recruit #main_content_body h2 {
  color: var(--color-green);
}
#page_recruit .entry-content h2.title::after,
#page_recruit #main_content_body h2::after {
  background: var(--color-green);
}

#page_recruit .entry-content h3.title,
#page_recruit #main_content_body h3 {
  color: var(--color-green);
}

#page_recruit .entry-content h4.title,
#page_recruit #main_content_body h4 {
  color: var(--color-black);
}

#page_recruit .entry-content h5.title,
#page_recruit #main_content_body h5 {
  color: var(--color-green);
}

#page_recruit .entry-content h6.title,
#page_recruit #main_content_body h6 {
  color: var(--color-black);
}

/* 見出し｜事業紹介ページ（アイコン付き） */
.entry-content h2.title.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan),
#main_content_body h2.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan) {
  padding-left: 4.0em;
}
.entry-content h2.title.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan)::before,
#main_content_body h2.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan)::before {
  display: block;
  position: absolute;
  top: 35%;
  left: -0.5em;
  transform: translate(0%, -50%);
  width: 4.0em;
  padding: 0;
  padding-top: 4.0em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  content: '';
}
.entry-content h2.title.service-icon.kensetsu::before,
#main_content_body h2.service-icon.kensetsu::before {
  background-image: url('../images/service_icon-1.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/service_icon-1.png');*/
}
.entry-content h2.title.service-icon.kikaku::before,
#main_content_body h2.service-icon.kikaku::before {
  background-image: url('../images/service_icon-2.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/service_icon-2.png');*/
}
.entry-content h2.title.service-icon.chintai::before,
#main_content_body h2.service-icon.chintai::before {
  background-image: url('../images/service_icon-3.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/service_icon-3.png');*/
}
.entry-content h2.title.service-icon.shakai::before,
#main_content_body h2.service-icon.shakai::before {
  background-image: url('../images/service_icon-4.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/service_icon-4.png');*/
}
.entry-content h2.title.service-icon.kankyo::before,
#main_content_body h2.service-icon.kankyo::before {
  background-image: url('../images/service_icon-5.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/service_icon-5.png');*/
}
.entry-content h2.title.service-icon.fudousan::before,
#main_content_body h2.service-icon.fudousan::before {
  background-image: url('../images/service_icon-6.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/service_icon-6.png');*/
}
.entry-content h2.title.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan)::after,
#main_content_body h2.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan)::after {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .entry-content h2.title.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan),
  #main_content_body h2.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan) {
    font-size: 1.7em;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  .entry-content h2.title.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan),
  #main_content_body h2.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan) {
    padding-left: 3.0em;
  }
  .entry-content h2.title.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan)::before,
  #main_content_body h2.service-icon:is(.kensetsu, .kikaku, .chintai, .shakai, .kankyo, .fudousan)::before {
    top: 45%;
    width: 3.0em;
    padding-top: 3.0em;
  }
}


/* 本文 */
/* the_content() 内の体裁等（#main_content_body） */
/* （single.php） */
#main_content_body p {}

/* 1字インデント（コラム｜春風秋霜、社長コラム：社員ブログ以外） */
.sg_column.text_indent #main_content_body p {
  text-indent: 1.0em;
}


/* 画像 左寄せ・右寄せ（#main_content_body） */
.wp-block-image .alignright {
  float: right;
  margin: 2.0em 0 2.0em 3.0em!important;
}
.wp-block-image .alignleft {
  float: left;
  margin: 2.0em 3.0em 2.0em 0!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .wp-block-image :is(.alignleft, .alignright) {
    float: none!important;
    width: 100%;
    margin: 2.0em 0 2.0em 0!important;
  }
  .wp-block-image :is(.alignleft, .alignright) img {
    width: 100%!important;
  }
}
@media screen and (max-width: 567px) {}


/* コラム・ブロック 並び反転（#main_content_body） */
#main_content_body .wp-block-columns.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body .wp-block-columns.reverse {
    flex-direction: initial;
  }
}
@media screen and (max-width: 567px) {}


/* コラム・ブロック幅 変更 */
.block-width_sm,
.block-width_md {
  width: 100%;
  margin: 0 auto!important;
}
.block-width_sm {
  max-width: 770px;
}
.block-width_md {
  max-width: 880px;
}

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


/* 文字色 */
.txt-clearblue {
  color: var(--color-clearblue)!important;
}
.txt-deepblue {
  color: var(--color-deepblue)!important;
}
.txt-green {
  color: var(--color-green)!important;
}
.txt-white {
  color: var(--color-white)!important;
}
.txt-bold {
  font-weight: 600!important;
}


/* ※印 */
/* フレキシブル（data-komeflex="▼▼"に記述で内容を可変可能） */
.kome,
.komeflex {
  position: relative;
  font-size: 90%;
  padding-left: 1.5em;
  text-indent: -1.5em!important;
}
.kome::before,
.komeflex::before {
  position: relative;
  padding-right: 0.5em;
}
.kome::before {
  content: '※';
}
.komeflex::before {
  content: attr(data-komeflex);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .kome,
  .komeflex {
    font-size: 100%;
  }
}
@media screen and (max-width: 567px) {}


/* リスト */
.entry-content :is(ul, ol):not(.smf-progress-tracker) {
  line-height: 1.5;
  margin: 1.0em 0;
  padding-left: 1.5em;
}
.entry-content ul:not(.smf-progress-tracker) {
  list-style-type: disc;
}
.entry-content ol:not(.smf-progress-tracker) {
  list-style-type: decimal;
}
.entry-content :is(ul, ol):not(.smf-progress-tracker) li {
  margin: 0.5em 0;
  padding-left: 0.5em;
}
.entry-content :is(ul, ol):not(.smf-progress-tracker) li::marker {
  /*color: var(--color-clearblue);*/
  color: var(--color-dimgray);
}
.entry-content :is(ul, ol):not(.smf-progress-tracker) li:first-child {
  margin: 0 0 0.5em;
}
.entry-content :is(ul, ol):not(.smf-progress-tracker) li:last-child {
  margin: 0.5em 0 0;
}

.entry-content li > :is(ul, ol):not(.smf-progress-tracker) {
  margin: 0.5em 0;
}
.entry-content li > :is(ul, ol):not(.smf-progress-tracker) li,
.entry-content li > :is(ul, ol):not(.smf-progress-tracker) li:first-child,
.entry-content li > :is(ul, ol):not(.smf-progress-tracker) li:last-child {
  margin: 0;
}

/* リスト｜カタカナ（イロハ） */
ol.katakana-iroha {
  list-style-type: katakana-iroha!important;
  padding-left: 2.0em!important;
}
ol.katakana-iroha li {
  padding-left: 0em!important;
}

/* リスト｜採用情報ページ（ID:page_recruit） */
#page_recruit .entry-content :is(ul, ol):not(.smf-progress-tracker) li::marker {
  color: var(--color-green);
}


/* リスト：カラム（ul, ol） */
:is(.column2, .column3, .column4, .column5, .column6) {
  column-gap: 3.0em;
  row-gap: 0;
}
:is(.column2, .column3, .column4, .column5, .column6) > li {
  break-inside: avoid;
}
.column2 {
  column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;
}
.column3 {
  column-count: 3; -webkit-column-count: 3; -moz-column-count: 3;
}
.column4 {
  column-count: 4; -webkit-column-count: 4; -moz-column-count: 4;
}
.column5 {
  column-count: 5; -webkit-column-count: 5; -moz-column-count: 5;
}
.column6 {
  column-count: 6; -webkit-column-count: 6; -moz-column-count: 6;
}
@media screen and (max-width: 1023px) {
  .column4 {
    column-count: 3; -webkit-column-count: 3; -moz-column-count: 3;
  }
  :is(.column5, .column6) {
    column-count: 4; -webkit-column-count: 4; -moz-column-count: 4;
  }
}
@media screen and (max-width: 767px) {
  :is(.column3, .column4, .column5, .column6) {
    column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;
  }
}
@media screen and (max-width: 567px) {
  :is(.column2, .column3, .column4, .column5, .column6) {
    column-count: 1; -webkit-column-count: 1; -moz-column-count: 1;
  }
}


/* 画像上下マージン（ブロック）*/
.wp-block-image,
.wp-block-video,
.wp-block-columns {
  /*margin: 3.0em 0;*/
  margin: 3.0em auto;
}

/* 画像キャプション（ブロック）*/
.wp-block-image :where(figcaption),
.wp-block-video :where(figcaption) {
  font-size: 0.9em;
}


/* 表組 */
.entry-content table {
  width: 100%;
  border-spacing: 0;
  margin: 2.0em 0;
}
.entry-content table:has(+ figcaption) {
  margin: 2.0em 0 1.0em;
}
.entry-content table + figcaption {
  margin-bottom: 2.0em;
}
.entry-content 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-dimgray)!important;
  border-left: none!important;
  border-bottom: none!important;
}
.entry-content table :is(thead, tbody) th {
  border-right: 1px solid var(--color-white)!important;
}
.entry-content table :is(thead, tbody) td {
  border-right: 1px solid var(--color-lightblue)!important;
}
.entry-content table :is(thead, tbody) tr:first-child :is(th, td) {
  border-top: none!important;
}
.entry-content table :is(thead, tbody) :is(th, td):last-child {
  border-right: none!important;
}
.entry-content table thead {
  border-top: 1px solid var(--color-dimgray)!important;
  border-left: none!important;
  border-right: none!important;
  border-bottom: none!important;
}
.entry-content table tbody {
  border-top: 1px solid var(--color-dimgray)!important;
  border-left: none!important;
  border-right: none!important;
  border-bottom: 1px solid var(--color-dimgray)!important;
}
.entry-content table thead :is(th, td),
.entry-content table thead :is(th, td) p {
  text-align: center;
  font-weight: 500;
}
.entry-content table tbody th,
.entry-content table tbody th p {
  font-weight: 500;
}
.entry-content table tbody td,
.entry-content table tbody td p {
  font-weight: 400;
}
.entry-content table thead :is(th, td) {
  background: var(--color-lightblue)!important;
  text-align: center!important;
}
.entry-content table tbody th {
  background: var(--color-lightblue)!important;
}
.entry-content table tbody td {
  background: var(--color-white)!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .entry-content table :is(thead, tbody) :is(th, td) {
    padding: 0.75em 0.75em 0.6em!important;
  }
}

/* 表組｜採用情報ページ（ID:page_recruit） */
#page_recruit .entry-content table :is(thead, tbody) td {
  border-right: 1px solid var(--color-lightgreen)!important;
}
#page_recruit .entry-content table :is(thead, tbody) :is(th, td):last-child {
  border-right: none!important;
}
#page_recruit .entry-content table thead :is(th, td) {
  background: var(--color-lightgreen)!important;
}
#page_recruit .entry-content table tbody th {
  background: var(--color-lightgreen)!important;
}


/* ボックス、囲み罫 */
.entry-content .box,
.entry-content .frame {
  position: relative;
  /*padding: 2.0em;*/
  padding: 2.5em 3.0em;
  margin: 2.0em 0;
}
.container.box,
.container.frame {
  margin: 0;
}
.entry-content .wp-block-column.box,
.entry-content .wp-block-column.frame {
  margin: 0 auto;
}
.entry-content .box.round,
.entry-content .frame.round {
  border-radius: 1.0em;
}
.entry-content .box.lightgray {
  background: var(--color-lightgray);
  color: initial;
}
.entry-content .box.lightblue {
  background: var(--color-lightblue);
  color: initial;
}
.entry-content .box.babyblue {
  background: var(--color-babyblue);
  color: initial;
}
.entry-content .box.white {
  background: var(--color-white);
  color: initial;
}
.entry-content .box.clearblue {
  background: var(--color-clearblue);
  color: var(--color-white);
}
.entry-content .box.deepblue {
  background: var(--color-deepblue);
  color: var(--color-white);
}
.entry-content .box.green {
  background: var(--color-green);
  color: var(--color-white);
}
.entry-content .box.yellow {
  background: var(--color-yellow);
  color: initial;
}
.entry-content .box.orange {
  background: var(--color-orange);
  color: initial;
}

.entry-content .frame.lightgray {
  border: 2px solid var(--color-lightgray);
}
.entry-content .frame.lightblue {
  border: 2px solid var(--color-lightblue);
}
.entry-content .frame.babyblue {
  border: 2px solid var(--color-babyblue);
}
.entry-content .frame.white {
  border: 2px solid var(--color-white);
}
.entry-content .frame.clearblue {
  border: 1px solid var(--color-clearblue);
}
.entry-content .frame.deepblue {
  border: 1px solid var(--color-deepblue);
}
.entry-content .frame.green {
  border: 1px solid var(--color-green);
}
.entry-content .frame.yellow {
  border: 1px solid var(--color-yellow);
}
.entry-content .frame.orange {
  border: 1px solid var(--color-orange);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .entry-content .box,
  .entry-content .frame {
    padding: 1.5em;
  }
}


/* マージン 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; }


/* リード */
.entry-content .lead {
  font-weight: 500;
  font-size: 1.07em;
  padding-left: 4.0em;
  padding-right: 4.0em;
}
.entry-content .lead.big {
  font-size: 1.5em;
  padding-left: 2.75em;
  padding-right: 2.75em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .entry-content .lead {
    padding-left: 2.0em;
    padding-right: 2.0em;
  }
  .entry-content .lead.big {
    font-size: 1.3em;
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}
@media screen and (max-width: 567px) {}


/* ページ内メニュー メニューブロック */
ul.link-menu-block,
ul.link-menu-block * {
  color: var(--color-clearblue);
}
ul.link-menu-block {
  position: relative;
  display: flex;
  list-style-type: none!important;
  padding: 0!important;
  margin: 0!important;
  width: 100%;
  line-height: 1.4;
}
ul.link-menu-block li {
  flex-grow: 1;
  position: relative;
  display: flex;
  padding: 0!important;
  margin: 0!important;
  border-top: none;
  border-left: 1px solid;
  border-right: none;
  border-bottom: none;
  cursor: pointer;
  margin: 0!important;
  flex: 1;
}
ul.link-menu-block li:first-child {
  border-left: none;
}
ul.link-menu-block li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9em;
  text-align: center;
  letter-spacing: 0.1em;
  /*padding: 0.6em 0.5em 1.0em;*/
  padding: 0.6em 0.25em 1.0em;
  margin: 0;
  user-select: none;
}
ul.link-menu-block li a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
ul.link-menu-block li a::after {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 10px;
  height: calc(5px * 1.732);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: var(--color-clearblue);
  content: '';
  transition: 0.2s;
}
ul.link-menu-block li a:hover::after {
  transform: translate(-50%, -60%);
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  ul.link-menu-block {
    flex-wrap: wrap;
    gap: 0.75em 0;
  }
  ul.link-menu-block li {
    width: 100%;
    max-width: calc(100% / 2);
    min-width: calc(100% / 3);
    border-left: none;
    border-right: 1px solid;
  }
  ul.link-menu-block li:nth-child(3n + 1) {
    border-left: 1px solid;
  }
  ul.link-menu-block li:first-child {
    border-left: 1px solid;
  }
  ul.link-menu-block li a {
    letter-spacing: 0;
    padding: 0.35em 0.5em 0.2em;
  }
  ul.link-menu-block li a::after {
    display: none;
  }
}
@media screen and (max-width: 567px) {
  ul.link-menu-block li {
    min-width: calc(100% / 2);
  }
  ul.link-menu-block li:nth-child(3n + 1) {
    border-left: none;
  }
  ul.link-menu-block li:nth-child(2n + 1) {
    border-left: 1px solid;
  }
  ul.link-menu-block li a {
    font-size: 0.85em;
    letter-spacing: 0;
    /*padding: 0.5em 0.5em 1.0em;*/
  }
}
/* ページ内メニュー メニューブロック｜白文字 */
ul.link-menu-block.white,
ul.link-menu-block.white * {
  color: var(--color-white)!important;
}
ul.link-menu-block.white li a::after {
  background: var(--color-white)!important;
}

/* ページ内メニュー メニューブロック｜採用情報ページ（ID:page_recruit） */
#page_recruit ul.link-menu-block,
#page_recruit ul.link-menu-block * {
  color: var(--color-green);
}
#page_recruit ul.link-menu-block li a::after {
  background: var(--color-green);
}


/* ページ内メニュー メニューボックス */
ul.link-menu_box {
  position: relative;
  display: flex;
  gap: 0;
  font-weight: 600;
  line-height: 1.5;
  list-style-type: none!important;
  width: 100%;
  padding: 1.0em 0!important;
  margin: 0!important;
  border-top: 1px solid var(--color-clearblue);
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--color-clearblue);
}
ul.link-menu_box li {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
  border-top: none;
  border-left: 1px dotted var(--color-clearblue);
  border-right: none;
  border-bottom: none;
}
ul.link-menu_box li:first-child {
  border-left: none;
}
ul.link-menu_box li a {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.1em;
  text-decoration: none;
  color: var(--color-clearblue);
  background: transparent;
  width: 100%;
  padding: 1.5em 3.5em 1.5em 1.5em;
}
ul.link-menu_box li a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.0em;
  transform: translate(0, -50%);
  content: url('../images/link_arrow/arr-clearblue_cir-tp.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-clearblue_cir-tp.svg');*/
  width: 2.0em;
  height: 2.0em;
}
ul.link-menu_box li a:hover {
  color: var(--color-white);
  background: var(--color-clearblue);
  transition: 0.2s;
}
ul.link-menu_box li a:hover::after {
  content: url('../images/link_arrow/arr-white_cir-tp.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_cir-tp.svg');*/
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  ul.link-menu_box {
    flex-direction: column;
    padding: 0!important;
  }
  ul.link-menu_box li {
    border-top: 1px dotted var(--color-clearblue);
    border-left: none;
  }
  ul.link-menu_box li:first-child {
    border-top: none;
  }
  ul.link-menu_box li a {
    padding: 2.0em 3.5em 2.0em 1.5em;
  }
}
@media screen and (max-width: 567px) {}


/* ページ内アンカー① */
ul.anchor-box {
  position: relative;
  display: flex;
  flex-wrap: wrap; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap;
  gap: 1.0em;
  padding: 1.5em!important;
  margin: 0!important;
  width: 100%;
  list-style-type: none!important;
  background: var(--color-clearblue);
}
ul.anchor-box li {
  position: relative;
  display: flex;
  width: calc((100% - 3.0em) / 4);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-clearblue);
  background: var(--color-white);
  border-radius: 0;
  cursor: pointer;
  padding: 0!important;
  margin: 0!important;
}
ul.anchor-box li:hover {
  opacity: 0.8;
  transition: 0.2s;
}
ul.anchor-box li a {
  position: relative;
  display: flex;
  text-decoration: none;
  color: inherit;
  width: 100%;
  padding: 1.5em;
  text-align: center;
  justify-content: center;
  align-items: center;
}
ul.anchor-box.center {
  justify-content: center;
}

@media screen and (max-width: 1023px) {
  ul.anchor-box li {
    width: calc((100% - 2.0em) / 3);
  }
}
@media screen and (max-width: 767px) {
  ul.anchor-box li {
    width: calc((100% - 1.0em) / 2);
  }
  ul.anchor-box li a {
    padding: 1.0em;
  }
}
@media screen and (max-width: 567px) {
  ul.anchor-box li {
    width: 100%;
  }
}

/* ページ内アンカー② */
ul.anchor-link {
  position: relative;
  display: flex;
  flex-wrap: wrap; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap;
  gap: 1.0em;
  padding: 0!important;
  margin: 0!important;
  width: 100%;
  list-style-type: none!important;
}
ul.anchor-link li {
  position: relative;
  display: flex;
  align-items: center;
  width: calc((100% - 2.0em) / 3);
  color: var(--color-white);
  /*background: var(--color-black);*/
  background: var(--color-magnusblue);
  border-radius: 0;
  /*border: 1px solid var(--color-black);*/
  border: 1px solid var(--color-magnusblue);
  cursor: pointer;
  padding: 0!important;
  margin: 0!important;
  transition: 0.2s;
}
ul.anchor-link li::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0.5em;
  transform: translate(0, -50%);
  content: url('../images/link_arrow/arr-mugnusblue_cir-white_nb.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-mugnusblue_cir-white_nb.svg');*/
  width: 2.0em;
  height: 2.0em;
}
ul.anchor-link li:hover {
  /*color: var(--color-black);*/
  color: var(--color-magnusblue);
  background: var(--color-white);
  transition: 0.2s;
}
ul.anchor-link li a {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  width: 100%;
  padding: 2.0em 3.0em 2.0em 1.0em;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  ul.anchor-link li {
    width: calc((100% - 1.0em) / 2);
  }
}
@media screen and (max-width: 567px) {
  ul.anchor-link li {
    width: 100%;
  }
}
/* ページ内アンカー②｜採用情報ページ（ID:page_recruit） */
#page_recruit ul.anchor-link li {
  color: var(--color-white);
  background: var(--color-green);
  border: 1px solid;
}
#page_recruit ul.anchor-link li::after {
  content: url('../images/link_arrow/arr-green_cir-white_nb.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_cir-white_nb.svg');*/
}
#page_recruit ul.anchor-link li:hover {
  color: var(--color-green);
  background: var(--color-white);
}
/*
#page_recruit ul.anchor-link li {
  color: var(--color-green);
  background: var(--color-lightgray);
  border: 1px solid;
}
#page_recruit ul.anchor-link li::after {
  content: url('../images/link_arrow/arr-green_cir-white_nb.svg');
}
#page_recruit ul.anchor-link li:hover {
  color: var(--color-lightgray);
  background: var(--color-green);
}
*/


/* WP-Block カラム（標準） */
@media screen and (min-width: 1024px) {
  :where(.wp-block-columns.is-layout-flex) {
    /* gap: 2em; */
    gap: 3.0em!important;
  }
  :where(.wp-block-columns) {
    /*margin-bottom: 1.75em;*/
    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) {}


/* フローチャート */
ul.flow-chart {
  position: relative;
  display: block;
  padding: 0!important;
  width: 100%;
  list-style-type: none!important;
}
ul.flow-chart li {
  position: relative;
  display: block;
  width: 100%;
  padding: 1.0em 1.5em!important;
  margin: 0 0 2.0em!important;
  font-weight: 500;
  font-size: 1.0em;
  text-align: center;
  color: var(--color-clearblue);
  background: #236FC920;
  border-radius: 1.0em;
}
ul.flow-chart li::after {
  display: block;
  position: absolute;
  top: calc(100% + 1.0em);
  left: 50%;
  transform: translate(-50%, -75%);
  font-family: 'Font Awesome 6 Free', Font Awesome;
  font-weight: 700;
  font-size: 1.5em;
  content: '\f107';
}
ul.flow-chart li:last-child {
  margin: 0 0 0!important;
}
ul.flow-chart li:last-child::after {
  display: none;
}
ul.flow-chart li :is(b, strong) {
  font-size: 1.3em;
}
/* フローチャート｜採用情報ページ（ID:page_recruit） */
#page_recruit ul.flow-chart li {
  color: var(--color-green);
  background: #15AA5A20;
}


/* 引用 */
blockquote.wp-block-quote {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
  padding: 2.5em 2.5em 2.0em 3.5em;
  margin: 2.0em 0;
  color: var(--color-inkblack);
  /*background: var(--color-lightgray);*/
}
blockquote.wp-block-quote::before {
  display: block;
  position: absolute;
  top: 1.0em;
  left: 1.5em;
  width: 1.5em;
  height: 1.5em;
  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='%23c9c9c9'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: '';
}
blockquote.wp-block-quote p {
  font-size: 0.97em;
  letter-spacing: 0.03em;
}
blockquote.wp-block-quote p.cite {
  color: var(--color-dimgray);
  font-size: 0.8em;
  text-align: right;
}


/* 投稿記事｜ニュース｜掲載情報 */
.media-posted-item {
  width: max-content;
  max-width: 100%;
  font-weight: 400;
  font-size: 1.0em;
  color: var(--color-white);
  background: var(--color-dimgray);
  padding: 0.35em 1.0em 0.25em 0.75em;
  margin: 3.0em 0 1.25em;
}
.media-posted-item::before {
  font-family: 'Font Awesome 6 Free', Font Awesome;
  font-weight: 600;
  content: '\f105';
  padding: 0;
  padding-right: 0.5em;
}
.media-posted-item a {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}


/* サイトマップ（sitemap） */
.sitemap_list .wsp-container {
  font-size: 0.9em;
}
.sitemap_list .wsp-container a {
  text-decoration: none;
}
.sitemap_list .wsp-container a:hover {
  text-decoration: underline 1px solid;
}
.sitemap_list .wsp-container ul {
  padding-left: 1.25em;
  margin: 0.5em 0!important;
}
.sitemap_list .wsp-container ul li {
  padding-left: 0;
}
.sitemap_list .wsp-container ul.children {
  margin: 0.5em 0!important;
}


/* ########################
##  アクセス（マップ）
######################## */
.embed-googlemap {
  position: relative;
  width: 100%;
  padding-top: 295px;
  display: block;
  margin: 3.0em 0;
}
.embed-googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ########################
##  動画埋め込み（YouTube、vimeo）
######################## */
.wp-block-embed__wrapper:has(iframe[src*="vimeo"]),
.wp-block-embed__wrapper:has(iframe[src*="youtube"]) {
  position: relative;
  width: 100%;
  padding-top: calc(100% * 9 / 16);
}
.wp-block-embed__wrapper iframe[src*="vimeo"],
.wp-block-embed__wrapper iframe[src*="youtube"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* ########################
##  お問い合わせ（contact）
######################## */
.contact-box-tel {}
.contact-box-tel .wp-block-column {
  position: relative;
  font-weight: 500;
  color: var(--color-clearblue);
}
.contact-box-tel .wp-block-column:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-100%, 0);
  width: 1.0em;
  height: 100%;
  border-top: none;
  border-left: 1px solid;
  border-right: none;
  border-bottom: none;
  content: '';
}
.contact-box-tel .wp-block-column:first-child:before {
  display: none;
}
.contact-box-tel .wp-block-column .dept {
  font-size: 1.2em;
}
.contact-box-tel .wp-block-column ul {
  display: block;
  list-style-type: none;
  padding: 0;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.contact-box-tel .wp-block-column ul li {
  padding: 0;
  width: max-content;
  max-width: 100%;
  font-size: 1.1em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .contact-box-tel .wp-block-column:before {
    display: none;
  }
}
@media screen and (max-width: 567px) {}


/* ########################
##  お問い合わせフォーム｜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;
}


/* ########################
##  ブロックエディタのカラーパレット
##  （functions.php 参照）
######################## */
/* black */
.has-black-background-color {
  background-color: var(--color-inkblack);
}
.has-black-color {
  color: var(--color-inkblack);
}
/* clearblue */
.has-clearblue-background-color {
  background-color: var(--color-clearblue);
}
.has-clearblue-color {
  color: var(--color-clearblue);
}
/* deepblue */
.has-deepblue-background-color {
  background-color: var(--color-deepblue);
}
.has-deepblue-color {
  color: var(--color-deepblue);
}
/* green */
.has-green-background-color {
  background-color: var(--color-green);
}
.has-green-color {
  color: var(--color-green);
}
/* yellow */
.has-yellow-background-color {
  background-color: var(--color-yellow);
}
.has-yellow-color {
  color: var(--color-yellow);
}
/* orange */
.has-orange-background-color {
  background-color: var(--color-orange);
}
.has-orange-color {
  color: var(--color-orange);
}
/* red */
.has-red-background-color {
  background-color: var(--color-red);
}
.has-red-color {
  color: var(--color-red);
}


/* ########################
##  企業理念（philosophy）
######################## */
.philosophy_summary {
  font-weight: 500;
  font-size: 1.1em;
  line-height: 1.8;
}

ul.philosophy_credo {
  list-style-type: '一．'!important;
  padding-left: 2.5em!important;
}
ul.philosophy_credo li {
  font-weight: 500;
  font-size: 1.1em;
  line-height: 1.8;
  margin-bottom: 2.0em!important;
}
ul.philosophy_credo li:last-child {
  margin-bottom: 0!important;
}
ul.philosophy_credo li::marker {
  color: inherit!important;
}
/*
ul.philosophy_credo li::before {
  content: '一．';
}*/


/* ########################
##  協力企業の皆様へ（非公開ページ ログイン）
######################## */
.entry-content .post-password-form p {
  text-align: left;
}
.entry-content .post-password-form input[type='password'] {
  padding: 0.65em;
  border: 1px solid var(--color-clearblue);
  border-radius: 0.5em;
}
.entry-content .post-password-form input[type='submit'] {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  padding: 0.5em 1.0em;
  background: var(--color-clearblue);
  color: var(--color-white);
  line-height: 1.5;
  transition: 0.2s;
  border: none;
  border-radius: 0.5em;
}


/* ########################
##  360° パノラマイメージ
## （THETA 360.biz 表示用）
######################## */
.ricoh-theta-tour-image {
  width: 100%!important;
  max-width: 958px!important;
}


/* ########################
##  企業情報｜ライブラリー
######################## */
/* ライブラリー｜メディア放映 */
.lib-media-block {
  padding: 1.5em;
  background: var(--color-lightgray);
}
.lib-media-block :is(h3, h4) {
  font-size: 1.1em!important;
}
.lib-media-block .wp-block-image {
  margin: 1.5em auto;
}
.lib-media-block ul li {
  font-size: 0.9em;
}




/* ##############################################
##
##  パンくずリスト（breadcrumb.php）
##
############################################## */
.breadcrumb {
  width: 100%;
  padding: 0.5em 2.0em;
  max-width: calc(1500px + 4.0em);
  margin: 0 auto;
}
.breadcrumb > div {
  width: 100%;
  text-align: right;
  font-size: 0.8em;
}
.breadcrumb .bcn_sect {
  position: relative;
}
.breadcrumb .bcn_sect::after {
  font-family: 'Font Awesome 6 Free', Font Awesome;
  font-weight: 600;
  content: '\f105';
  padding: 0 0.7em;
  color: var(--color-gray);
}
.breadcrumb a {
  color: var(--color-clearblue);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding: 0.5em 1.0em;
  }
}
@media screen and (max-width: 567px) {}

.breadcrumb.bg_clearblue,
.breadcrumb.bg_clearblue *,
.breadcrumb.bg_deepblue,
.breadcrumb.bg_deepblue *,
.breadcrumb.bg_green,
.breadcrumb.bg_green *,
.breadcrumb.bg_yellow,
.breadcrumb.bg_yellow *,
.breadcrumb.bg_orange,
.breadcrumb.bg_orange * {
  color: var(--color-white);
}

section:has(.breadcrumb.bg_green) {
  background: var(--color-green);
}




/* ##############################################
##
##  共通（.container）
##
############################################## */
.entry-header,
.entry-content,
.entry-footer {
  width: 100%;
  margin: 0 auto;
}

.bg_lightgray {
  background: var(--color-lightgray);
}
.bg_lightblue {
  background: var(--color-lightblue);
}
.bg_white {
  background: var(--color-white);
}
.bg_clearblue {
  background: var(--color-clearblue);
}
.bg_deepblue {
  background: var(--color-deepblue);
}
.bg_green {
  background: var(--color-green);
}
.bg_yellow {
  background: var(--color-yellow);
}
.bg_orange {
  background: var(--color-orange);
}
.bg_clearblue,
.bg_deepblue,
.bg_green,
.bg_yellow,
.bg_orange {
  color: var(--color-white);
}

.container {
  width: 100%;
  margin: 0 auto;
}
.width-regular,
.width-wide,
.width-extend {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
}
.width-regular {
  /*max-width: 1100px;*/
  max-width: 1200px;
}
.width-wide {
  max-width: 1300px;
}
.width-extend {
  max-width: 1500px;
}

/*
.bgcolor-white,
.bgcolor-paleblue,
.bgcolor-blue {
  position: relative;
}
.bgcolor-blue,
.bgcolor-blue * {
  color: var(--color-white);
}
.bgcolor-white::before,
.bgcolor-paleblue::before,
.bgcolor-blue::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  z-index: -1;
  
}
.bgcolor-white::before {
  background: var(--color-white);
}
.bgcolor-paleblue::before {
  background: #F2F6F8;
}
.bgcolor-blue::before {
  background: #0944B5;
}

.padding-small {
  padding: 2.0em 2.0em 4.0em;
}
.padding-large {
  padding: 4.0em 2.0em 4.0em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .padding-small {
    padding: 1.5em 1.0em 2.5em;
  }
  .padding-large {
    padding: 2.5em 1.0em 2.5em;
  }
}
@media screen and (max-width: 567px) {}

.container-header {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.0em!important;
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-black);
  padding-bottom: 1.5em;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #CDDBE2;
}
.container-header .title_main {
  display: block;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.9em;
  letter-spacing: 0.1em;
}
.container-header .title_sub {
  display: block;
  font-family: "Barlow", serif;
  font-size: 1.0em;
  font-weight: 500;
  color: #0944B5;
  margin-top: 1.0em;
  text-transform: capitalize;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .container-header .title_main {
    font-size: 1.75em;
  }
}
*/




/* ##############################################
##
##  ヘッダー（header）
##
############################################## */
header {
  position: sticky;
  top: -100px;
  width: 100%;
  z-index: 20;
  transition: 0.05s;
}
.is-fixed header {
  position: sticky;
  top: 0;
  transition: 1.0s;
}




/* ##############################################
##
##  ヘッダーメニュー（header-menu.php）
##  ヘッダーメニュー（header-menu_recruit.php）
##
############################################## */
.header-menu {
  position: absolute;
  top: 0;
  left: 0;
  /*width: calc(100% - 70px);*/
  width: calc(100% - 90px);
  min-height: 90px;
  z-index: 1;
  display: flex;
  gap: 1.0em;
}
.header-menu::before {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: var(--color-white);
  z-index: 0;
  opacity: 0;
  transition: 0.2s;
}
.is-fixed .header-menu::before {
  opacity: 0.97;
  transition: 1.0s;
}
.header-menu_logo {
  flex-grow: 1;
}
.header-menu_search {
  flex-grow: 0;
}
.header-menu_navi {
  flex-grow: 5;
}
@media screen and (max-width: 1023px) {
  .header-menu {
    width: calc(100% - 70px);
    min-height: 70px;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .header-menu {
    width: calc(100% - 50px);
    min-height: 50px;
  }
}

/* ヘッダーメニュー｜ロゴ */
.header-menu_logo {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0.5em 0 0.5em 2.0em;
  margin: 0;
}
.header-menu_logo :is(h1, p) {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
  font-size: 1.0em;
  line-height: 1.0;
}
.header-menu_logo :is(h1, p) a {
  display: block;
  position: relative;
  width: 100%;
  max-width: 235px;
  min-width: 170px;
}
.header-menu_logo :is(h1, p) a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.header-menu_logo :is(h1, p) a img {
  width: 100%;
  user-select: none;
}

.header-menu_logo :is(h1, p) a img.color {
  display: none;
}
.header-menu_logo :is(h1, p) a img.white {
  display: block;
}
.is-fixed .header-menu_logo :is(h1, p) a img.color {
  display: block;
}
.is-fixed .header-menu_logo :is(h1, p) a img.white {
  display: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .header-menu_logo {
    padding: 0.5em 0 0.5em 1.0em;
  }
  .header-menu_logo :is(h1, p) a {
    max-width: 200px;
    min-width: 150px;
  }
}

/* ヘッダーメニュー｜検索窓 */
.header-menu_search {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .header-menu_search {
    padding-right: 1.0em;
    /*font-size: 90%;*/
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* ヘッダーメニュー｜ナビ */
.header-menu_navi {
  position: relative;
  display: flex;
}
.header-menu_navi nav {
  position: relative;
  display: block;
  width: 100%;
}
.header-menu_navi nav ul {
  position: relative;
  display: flex;
  gap: 0;
  list-style-type: none;
  width: 100%;
  padding: 0;
  margin: 0;
}
.header-menu_navi nav ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  width: 100%;
  padding: 0;
  margin: 0;
  border-top: none;
  border-left: 1px solid var(--color-white);
  border-right: none;
  border-bottom: 1px solid var(--color-white);
}
.header-menu_navi nav ul li a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  align-items: center;
  width: 100%;
  /*padding: 0.5em 0.75em;*/
  /*padding: 1.0em 0.25em;*/
  padding: 1.0em 0.5em;
  /*line-height: 1.5;*/
  line-height: 1.4;
  color: var(--color-white);
  text-align: center;
  text-decoration: none;
  background: #FFFFFF00;
  user-select: none;
}
.header-menu_navi nav ul li a:hover {
  background: #FFFFFF33;
  opacity: 0.8;
  transition: 0.2s;
}
.header-menu_navi nav ul li a .t_main {
  font-size: 0.8em;
}
.header-menu_navi nav ul li a .t_sub {
  font-size: 0.6em;
  letter-spacing: 0.1em;
  padding-left: 0.1em;
  text-transform: uppercase;
  width: max-content;
  max-width: 100%;
}
.header-menu_navi nav ul li a :is(.t_main, .t_sub) span {
  display: inline-block;
}

.is-fixed .header-menu_navi nav ul li {
  border-left: 1px solid var(--color-clearblue);
  border-bottom: 1px solid var(--color-clearblue);
}
.is-fixed .header-menu_navi nav ul li a {
  color: var(--color-clearblue);
  background: #236FC900;
}
.is-fixed .header-menu_navi nav ul li a:hover {
  background: #236FC933;
  opacity: 0.8;
  transition: 0.2s;
}
@media screen and (max-width: 1023px) {
  .header-menu_navi {
    display: none;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.header-menu_navi nav ul li.thispage a {
  pointer-events: none;
  color: var(--color-clearblue);
  background: var(--color-white);
}
.header-menu_navi nav ul li.thispage a:hover {
  pointer-events: none;
  background: var(--color-white);
  opacity: 1.0;
}
.header-menu_navi nav ul li.thispage a .t_main {
  font-weight: 500;
}

.is-fixed .header-menu_navi nav ul li.thispage a {
  color: var(--color-white);
  background: var(--color-clearblue);
}
.is-fixed .header-menu_navi nav ul li.thispage a:hover {
  background: var(--color-clearblue);
}

#page_recruit.is-fixed .header-menu_navi nav ul li {
  border-left: 1px solid var(--color-green);
  border-bottom: 1px solid var(--color-green);
}
#page_recruit.is-fixed .header-menu_navi nav ul li a {
  color: var(--color-green);
  background: #15AA5A00;
}
#page_recruit.is-fixed .header-menu_navi nav ul li a:hover {
  background: #15AA5A33;
  opacity: 0.8;
  transition: 0.2s;
}

#page_recruit .header-menu_navi nav ul li.thispage a {
  color: var(--color-green);
}
#page_recruit.is-fixed .header-menu_navi nav ul li.thispage a {
  color: var(--color-white);
  background: var(--color-green);
}
#page_recruit.is-fixed .header-menu_navi nav ul li.thispage a:hover {
  background: var(--color-green);
}


/* ヘッダーメニュー｜ハンバーガー ウインドウナビ */
/* （header-menu_window-navi.php） */
.header-menu_window-navi {
  display: block;
  position: fixed;
  top: 0;
  left: 100%;
  width: 100%;
  height: 100%;
  background: var(--color-deepblue);
  line-height: 1.5;
  z-index: 20;
  transition: 0.7s;
}
.header-menu_window-navi.open {
  left: 0;
  transition: 0.5s;
}

.header-menu_window-navi .btn a {
  min-width: 10.0em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .header-menu_window-navi {
    transition: 0.4s;
  }
  .header-menu_window-navi.open {
    transition: 0.3s;
  }
}
@media screen and (max-width: 567px) {}

.header-menu_window-navi .window-navi_body {
  display: none;
  position: relative;
  width: 100%;
  height: 100%;
  color: var(--color-white);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: #FFFFFF77 var(--color-deepblue);
}
.header-menu_window-navi.open .window-navi_body {
  display: block;
}
.header-menu_window-navi .window-navi_body a {
  color: var(--color-white);
  text-decoration: none;
}
.header-menu_window-navi .window-navi_body a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.header-menu_window-navi .window-navi_body .navi_body_frame {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 100%;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-image {
  flex-grow: 1;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content {
  flex-grow: 1;
}

.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-image {
  display: block;
  position: relative;
  max-width: 100%;
  min-width: 30%;
  min-height: 100%;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 70px 0 0;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link {
  flex-grow: 1;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content :is(.content_btn, .content_info) {
  flex-grow: 0;
}

.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content :is(.content_link, .content_btn, .content_info) {
  position: relative;
  width: 100%;

}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  padding: 0 2.0em;
  user-select: none;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_top {
  display: block;
  position: relative;
  width: 100%;
  margin: 1.0em 0 2.0em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_top p {
  margin: 0;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page {
  display: block;
  position: relative;
  width: 100%;
  overflow-x: hidden;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g {
  position: relative;
  width: calc(100% + 2.0em);
  margin: 0 -1.0em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g > div {
  display: flex;
  padding: 0 1.0em 2.0em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g > div a {
  flex-grow: 1;
  position: relative;
  /*display: block;*/
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.5em 3.0em 1.5em 0;
  border-top: none;
  border-left: none;
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g > div a::after {
  display: block;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1.35em;
  transform: translate(0, -50%);
  width: 1.0em;
  height: 1.0em;
  content: '';
  background-image: url('../images/link_arrow/arr-white_plain.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg');*/
  background-size: contain;
  transition: 0.1s;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g > div a:hover {}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g > div a:hover::after {
  top: calc(50% - 0.5em - 0.35em);
  right: calc(1.35em - 0.35em);
  transition: 0.1s;
}

.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_btn {
  display: flex;
  gap: 1.0em;
  justify-content: flex-end;

  padding: 0 2.0em 2.0em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_btn > div {
  flex-grow: 0;
  display: block;
  width: max-content;
  margin: 0;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info {
  display: flex;
  gap: 2.0em;
  padding: 2.0em;
  border-top: 1px solid var(--color-white);
  border-left: none;
  border-right: none;
  border-bottom: none;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_company {
  flex-grow: 0;
  display: flex;
  gap: 2.0em;
  font-size: 0.9em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_company div {
  flex-grow: 1;
  position: relative;
  display: block;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_company a {
  position: relative;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_company a[target$="blank"]::after {
  position: relative;
  font-family: 'Font Awesome 6 Free', Font Awesome;
  font-weight: 600;
  content: '\f35d';
  margin-left: 0.3em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_sns {
  flex-grow: 1;
  position: relative;
  display: block;
  text-align: right;
  user-select: none;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_sns a {
  display: inline-block;
  padding: 0 0.25em;
}
.header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_sns a img {
  width: 30px;
  max-width: 30px;
}

@media screen and (max-width: 1023px) {
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-image {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link .link_page .pure-g > div a::after {
    right: 1.0em;
  }
}
@media screen and (max-width: 567px) {
  /*
  .header-menu_window-navi .window-navi_body {
    scrollbar-color: auto;
  }
  */

  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content {
    padding: 50px 0 0;
  }
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_link {
    padding: 0 2.0em 1.5em;
  }
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_btn {
    padding: 0 2.0em 1.5em;
  }
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info {
    padding: 1.5em 2.0em;
  }

  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_btn {
    justify-content: center;
  }

  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info {
    flex-direction: column;
    gap: 1.5em;
  }
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_company {
    flex-grow: 1;
    width: 100%;
    font-size: 0.95em;
  }
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_sns {
    flex-grow: 1;
    width: 100%;
    text-align: center;
  }
  .header-menu_window-navi .window-navi_body .navi_body_frame .body_frame-content .content_info .info_sns a {
    display: inline-block;
    padding: 0 0.5em;
  }
}

/* ヘッダーメニュー｜ハンバーガー 固定ボタン */
/* （header-menu_window-navi.php） */
.header-menu_fixed {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  /*width: 70px;*/
  /*height: 70px;*/
  width: 90px;
  height: 90px;
  z-index: 20;
}
.header-menu_fixed .header-menu_window-navi_btn {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background: var(--color-deepblue);
  cursor: pointer;
  user-select: none;
}
.header-menu_fixed .header-menu_window-navi_btn :is(.bar_1, .bar_2) {
  display: block;
  position: absolute;
  top: 45%;
  left: 50%;
  width: 50%;
  border-top: 1px solid var(--color-white);
  border-left: none;
  border-right: none;
  border-bottom: none;
  /*transition: 0.2s;*/
  /*transition: 0.3s;*/
  transition: 0.5s;
}
.header-menu_fixed .header-menu_window-navi_btn .bar_1 {
  transform: translate(-50%, -0.3em);
}
.header-menu_fixed .header-menu_window-navi_btn .bar_2 {
  transform: translate(-50%, 0.3em);
}
.header-menu_fixed .header-menu_window-navi_btn .text {
  display: block;
  position: absolute;
  /*top: 45%;*/
  top: 55%;
  left: 0;
  width: 100%;
  transform: translate(0, 10px);
  color: var(--color-white);
  font-weight: 500;
  font-size: 0.6em;
}
.header-menu_fixed .header-menu_window-navi_btn .text::before {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  content: 'MENU';
  letter-spacing: 0.2em;
  padding-left: 0.2em;
}
.header-menu_fixed .header-menu_window-navi_btn.active {}
.header-menu_fixed .header-menu_window-navi_btn.active :is(.bar_1, .bar_2) {
  /*transition: 0.2s;*/
  /*transition: 0.3s;*/
  transition: 0.5s;
}
.header-menu_fixed .header-menu_window-navi_btn.active .bar_1 {
  /*transform: translate(-50%, 0px) rotate(20deg);*/
  transform: translate(-50%, 0px) rotate(200deg);
}
.header-menu_fixed .header-menu_window-navi_btn.active .bar_2 {
  /*transform: translate(-50%, 0px) rotate(-20deg);*/
  transform: translate(-50%, 0px) rotate(-200deg);
}
.header-menu_fixed .header-menu_window-navi_btn.active .text::before {
  content: 'CLOSE';
  letter-spacing: 0.1em;
  padding-left: 0.1em;
}

@media screen and (max-width: 1023px) {
  .header-menu_fixed {
    width: 70px;
    height: 70px;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .header-menu_fixed {
    width: 50px;
    height: 50px;
  }
  .header-menu_fixed .header-menu_window-navi_btn .text {
    top: 50%;
  }
}




/* ##############################################
##
##  ヘッダー画像（header-image.php）
##
############################################## */
.page-header {
  width: 100%;
}
.page-header,
.page-header * {
  overflow-x: hidden;
  overflow-y: hidden;
}
.page-header .entry-header {
  width: 100%;
}
.page-header .image-header {
  position: relative;
  width: 100%;
  background: var(--color-clearblue);
}
.page-header .image-header .top-image {
  position: relative;
  width: 100%;
  /*height: 50vh;*/
  height: 35vh;
  min-height: 230px;
  user-select: none;
}
.page-header .image-header .top-image.height-short {
  height: 35vh;
}

.page-header .image-header .top-image.filter {
  position: relative;
}
.page-header .image-header .top-image.filter::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  background: var(--color-black);
  opacity: 0.5;
}
.page-header .image-header .top-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-header .image-header .top-title {
  position: absolute;
  top: calc(50% + 25px);
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-white);
  width: max-content;
  max-width: 100%;
  padding: 0.5em;
}
.page-header .image-header .top-title *:first-child {
  margin-top: 0;
}
.page-header .image-header .top-title *:last-child {
  margin-bottom: 0;
}
.page-header .top-title .entry-title {
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
  line-height: 1.4;
  font-weight: 400;
  font-size: 2.2em;
  letter-spacing: 0.15em;
  padding-left: 0.15em;
  margin: 0 auto;
}
.page-header .top-title .entry-title span {
  display: inline-block;
}
.page-header .top-title .title-sub {
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
  line-height: 1.4;
  font-weight: 400;
  font-size: 0.9em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding-left: 0.2em;
  margin: 0.5em auto 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  /*
  .page-header .image-header .top-image,
  .page-header .image-header .top-image.height-short {
    height: 35vh;
    min-height: 200px;
  }
  */
  .page-header .image-header .top-image {
    height: 35vh;
    min-height: 200px;
  }
  .page-header .image-header .top-image.height-short {
    height: 25vh;
    min-height: 150px;
  }
}
@media screen and (max-width: 567px) {
  /*
  .page-header .image-header .top-image,
  .page-header .image-header .top-image.height-short {
    height: 30vh;
    min-height: 150px;
  }
  */
  .page-header .image-header .top-image {
    height: 30vh;
    min-height: 150px;
  }
  .page-header .image-header .top-image.height-short {
    height: 20vh;
    min-height: 100px;
  }
  .page-header .image-header .top-title {
    top: calc(50% + 20px);
  }
  .page-header .top-title .entry-title {
    font-size: 1.6em;
    letter-spacing: 0.05em;
    padding-left: 0.05em;
  }
  .page-header .top-title .title-sub {
    font-size: 1.0em;
  }
}

/* ページ（site ID）で色変更 */
/* 不動産開発事業（ID:56）、または祖先に持つページ */
/*
#page_estate_development .page-header .image-header {
  background: #777777;
}
#page_estate_development .page-header .image-header .top-image.filter::before {
  background: #777777E0;
}
*/




/* ##############################################
##
##  ヘッダー画像｜採用情報（header-image_recruit.php）
##
############################################## */
.page-header.recruit {
  width: 100%;
}
.page-header.recruit ,
.page-header.recruit * {
  overflow-x: hidden;
  overflow-y: hidden;
}
.page-header.recruit .entry-header {
  width: 100%;
}
.page-header.recruit .image-header {
  position: relative;
  width: 100%;
  background: var(--color-green);
  padding: 0;
  /*padding-top: 50px;*/
  padding-top: 1.0em;
}
.page-header.recruit .image-header .top-image {
  position: relative;
  width: 100%;
  /*
  height: 30vh;
  min-height: 300px;
  */
  height: 35vh;
  min-height: 230px;
  user-select: none;
}
.page-header.recruit .image-header .top-image.half {
  /*
  height: 20vh;
  min-height: 300px;
  */
  height: 35vh;
  min-height: 230px;
}
.page-header.recruit .image-header .top-image.voice {
  height: 15vh;
  /*min-height: 220px;*/
  min-height: 270px;
}
.page-header.recruit .image-header .top-image.filter {
  position: relative;
}
.page-header.recruit .image-header .top-image.filter::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  background: #15AA5A70;
}
.page-header.recruit .image-header .top-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.page-header.recruit .image-header .top-title {
  position: absolute;
  top: calc(50% + 25px);
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-white);
  width: max-content;
  max-width: 100%;
  padding: 0.5em;
}
.page-header.recruit .image-header .top-title *:first-child {
  margin-top: 0;
}
.page-header.recruit .image-header .top-title *:last-child {
  margin-bottom: 0;
}
.page-header.recruit .top-title .title-rec-most {
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
  font-weight: 500;
  font-size: 1.1em;
  letter-spacing: 0.15em;
  padding-left: 0.15em;
  margin: 0 auto 1.0em;
}
.page-header.recruit .top-title .entry-title {
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
  line-height: 1.4;
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-size: 2.2em;
  letter-spacing: 0.15em;
  padding-left: 0.15em;
  margin: 0 auto;
}
.page-header.recruit .top-title .entry-title span {
  display: inline-block;
}
.page-header.recruit .top-title .title-sub {
  display: block;
  width: max-content;
  max-width: 100%;
  text-align: center;
  line-height: 1.4;
  font-weight: 400;
  font-size: 1.1em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding-left: 0.2em;
  margin: 0.5em auto 0;
}

@media screen and (max-width: 1023px) {
  .page-header.recruit .image-header .top-title {
    padding: 0.5em 3.0em;
  }
}
@media screen and (max-width: 767px) {
  .page-header.recruit .image-header .top-image {
    /*
    height: 40vh;
    min-height: 350px;
    */
    height: 35vh;
    min-height: 200px;
  }
  .page-header.recruit .image-header .top-image.half {
    /*
    height: 20vh;
    min-height: 175px;
    */
    height: 30vh;
    min-height: 150px;
  }
  .page-header.recruit .image-header {
    padding-top: 30px;
  }
}
@media screen and (max-width: 567px) {
  .page-header.recruit .image-header .top-image {
    /*
    height: 30vh;
    min-height: 300px;
    */
    height: 30vh;
    min-height: 150px;
  }
  .page-header.recruit .image-header .top-image.half {
    /*
    height: 15vh;
    min-height: 150px;
    */
    height: 30vh;
    min-height: 150px;
  }
  .page-header.recruit .image-header .top-image.voice {
    min-height: 220px;
  }
  .page-header.recruit .top-title .entry-title {
    font-size: 2.0em;
    letter-spacing: 0.1em;
    padding-left: 0.1em;
  }
  .page-header.recruit .top-title .title-sub {
    font-size: 1.0em;
  }
}




/* ##############################################
##
##  採用情報｜コンテンツページ（pg_recruit_child-content.php）
##
############################################## */
/* 現在の親の子ページ（同階層のページ）を表示 */
#page_recruit .recruit-parent_child {
  position: relative;
  display: block;
  font-weight: 500;
  font-size: 1.2em;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 3.0em;
}
#page_recruit .recruit-parent_child::before {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0.5em);
  content: '';
  width: 1.5em;
  height: 2px;
  background: var(--color-white);
}




/* ##############################################
##
##  採用情報｜社員の声｜扉ページ・一覧
##  （pg_recruit_child-personnel.php、pg_recruit_child-voice.php）
##
############################################## */
.personnel_child-tile {
  position: relative;
  display: block;
  width: 100%;
  line-height: 1.5;
  overflow: hidden;
}
.personnel_child-tile .pure-g {
  position: relative;
  width: calc(100% + 1.5em);
  margin: 0 -0.75em;

}
.personnel_child-tile .pure-g > div {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0 0.75em 1.5em;
}

.personnel_child-tile .pure-g > div a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--color-green);
  background: var(--color-white);
  border-radius: 0 0 1.5em 0;
  text-decoration: none;
}
.personnel_child-tile .pure-g > div a .cell-image {
  flex-grow: 0;
}
.personnel_child-tile .pure-g > div a .cell-text {
  flex-grow: 1;
}
.personnel_child-tile .pure-g > div a:hover {}

.personnel_child-tile .pure-g > div a .cell-image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  overflow: hidden;
}
.personnel_child-tile .pure-g > div a .cell-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(100%);
  opacity: 1.0;
  transition: 0.2s;
}
.personnel_child-tile .pure-g > div a:hover .cell-image img {
  transform: scale(105%);
  opacity: 0.8;
  transition: 0.5s;
}
.personnel_child-tile .pure-g > div a .cell-image .job {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: max-content;
  padding: 0.25em 0.75em 0.1em;
  font-weight: 500;
  font-size: 0.9em;
  color: var(--color-green);
  background: var(--color-white);
}

.personnel_child-tile .pure-g > div a .cell-text {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  justify-content: center;
  padding: 1.0em 4.5em 1.0em 1.0em;
}
.personnel_child-tile .pure-g > div a .cell-text::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.0em;
  transform: translate(0, -50%);
  content: '';
  width: 2.5em;
  height: 2.5em;
  background-image: url('../images/link_arrow/arr-green_cir-tp.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_cir-tp.svg');*/
  background-size: contain;
  background-repeat: no-repeat;
}
.personnel_child-tile .pure-g > div a .cell-text .dept {
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-black);
}
.personnel_child-tile .pure-g > div a .cell-text .year {
  font-weight: 500;
  font-size: 0.9em;
  color: var(--color-green);
}

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




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

.p-navi,
.p-navi *:not(i) {
  font-weight: 500;
}
.wp-pagenavi a {
  text-decoration: none;
}
.wp-pagenavi {
  align-items: center;
  display: flex;
  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-clearblue);
}
.wp-pagenavi .current {
  color: var(--color-black);
}
.wp-pagenavi .pages {
  border: none;
  font-weight: 400;
  color: var(--color-gray);
  margin-right: 1.0em;
}
.wp-pagenavi :is(.first, .last) {
  border: none;
  color: var(--color-clearblue);
}
.wp-pagenavi :is(.first, .last) i {
  margin: 0 0.3em;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) {
  border: none;
  color: var(--color-clearblue);
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) i {
  margin: 0 1.0em;
}
.wp-pagenavi .extend {
  display: none;
}
@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) {}




/* ##############################################
##
##  フッター（footer.php）
##
############################################## */
footer section {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}

footer hr {
  /*border-top: 1px solid var(--color-white)!important;*/
  border-top: 1px solid var(--color-lightblue);
}

/* フッター お問い合わせ */
.footer_contact {
  position: relative;
  display: block;
  width: 100%;
  line-height: 1.0;
}
.footer_contact,
.footer_contact * {
  color: var(--color-clearblue);
}

.footer_contact a {
  text-decoration: none;
  opacity: 1.0;
}

.footer_contact .contact_frame {
  position: relative;
  display: flex;
  flex-direction: row;
  column-gap: 5.0em;
  row-gap: 0;
}
.footer_contact .contact_frame .contact_title {
  flex-grow: 0;
  position: relative;
  display: block;
  padding-bottom: 2.0em;
}
.footer_contact .contact_frame .contact_title span {
  position: relative;
  display: block;
  font-weight: 400;
  font-size: 2.5em;
  letter-spacing: 0.1em;
}
.footer_contact .contact_frame .contact_body {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: row;
  column-gap: 2.0em;
  row-gap: 0;
}
.footer_contact .contact_frame .contact_body .contact_tel {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  column-gap: 0;
  row-gap: 1.0em;
}
.footer_contact .contact_frame .contact_body .contact_mail {
  flex-grow: 1;
  position: relative;
  display: flex;
}
.footer_contact .contact_frame .contact_body .contact_tel a,
.footer_contact .contact_frame .contact_body .contact_mail a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  width: 100%;
  min-width: 250px;
  padding: 1.5em 1.0em;
  border: 1px solid;
  /*border-radius: 10px;*/
  border-radius: 0;
}
.footer_contact .contact_frame .contact_body .contact_mail a:hover {
  background: var(--color-lightblue);
  transition: 0.2s;
}

.footer_contact .contact_frame .contact_body a .contact_icon {
  padding-right: 0.5em;
  user-select: none;
}
.footer_contact .contact_frame .contact_body a .contact_icon img {
  max-width: 1.7em;
  width: 1.7em;
}
.footer_contact .contact_frame .contact_body a .contact_text {
  /*font-weight: 600;*/
}

@media screen and (max-width: 1023px) {
  .footer_contact .contact_frame {
    display: block;
    flex-direction: initial;
    column-gap: initial;
    row-gap: initial;
  }
  .footer_contact .contact_frame .contact_title {
    width: 100%;
  }
  .footer_contact .contact_frame .contact_title span {
    width: fit-content;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .footer_contact .contact_frame .contact_body {
    flex-direction: column;
    column-gap: 0;
    row-gap: 2.0em;
  }
  .footer_contact .contact_frame .contact_body a .contact_text {
    font-size: 1.1em;
  }
  .footer_contact .contact_frame .contact_body .contact_mail a {
    min-height: 10.0em;
  }
}
@media screen and (max-width: 567px) {
  .footer_contact .contact_frame .contact_title span {
    font-size: 2.0em;
  }
}

/* フッター ナビ */
/* フッター ナビ サイトマップ */
.footer_navi {
  position: relative;
  display: block;
  width: 100%;
}
.footer_navi a {
  color: var(--color-white);
  text-decoration: none;
}
.footer_navi a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.footer_navi .navi_sitemap {
  position: relative;
  display: block;
  width: 100%;
  margin: -1.0em 0;
}
.footer_navi .navi_sitemap_list,
.footer_navi .navi_sitemap_list ul {
  position: relative;
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.footer_navi .navi_sitemap_list > li,
.footer_navi .navi_sitemap_list ul > li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
.footer_navi .navi_sitemap_list ul > li::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 0.5em;
  height: 1px;
  border: none;
  border-top: 1px solid var(--color-white);
  transform: translate(-0.75em, 0.75em);
}
.footer_navi .navi_sitemap_list {
  column-count: 6; -webkit-column-count: 6; -moz-column-count: 6;
  column-gap: 3.0em;
  row-gap: 0;
}
.footer_navi .navi_sitemap_list > li {
  padding-top: 1.0em;
  padding-bottom: 1.0em;
  /*font-weight: 600;*/
  font-weight: 500;
  font-size: 0.90em;
  break-inside: avoid;
}
.footer_navi .navi_sitemap_list ul {
  padding-top: 1.0em;
  padding-left: 1.0em;
}
.footer_navi .navi_sitemap_list ul > li {
  padding-bottom: 0.5em;
  /*font-weight: 500;*/
  font-weight: 400;
  /*font-size: 0.83em;*/
}
@media screen and (max-width: 1023px) {
  .footer_navi .navi_sitemap_list  {
    column-count: 4; -webkit-column-count: 4; -moz-column-count: 4;
  }
}
@media screen and (max-width: 767px) {
  .footer_navi .navi_sitemap_list  {
    column-count: 3; -webkit-column-count: 3; -moz-column-count: 3;
  }
}
@media screen and (max-width: 567px) {
  .footer_navi .navi_sitemap_list  {
    column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;
  }
}

.footer_navi .navi_sitemap_2 {
  position: relative;
  display: block;
  padding-top: 3.0em;
  width: 100%;
}
.footer_navi .navi_sitemap_2 ul {
  position: relative;
  display: block;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  width: fit-content;
  max-width: 100%;
}
.footer_navi .navi_sitemap_2 ul li {
  flex-grow: 0;
  position: relative;
  display: inline-block;
  margin-right: 2.0em;
  padding-bottom: 0.5em;
  font-weight: 500;
  /*font-size: 0.83em;*/
  font-size: 0.9em;
  width: fit-content;
  max-width: 100%;
}
.footer_navi .navi_sitemap_2 ul li:last-child {
  margin-right: 0;
}
.footer_navi .navi_sitemap_2 ul li a {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* フッター ナビ 会社情報 */
.footer_navi .navi_info {
  position: relative;
  display: flex;
  column-gap: 5.0em;
  row-gap: 0;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 100%;
}
.footer_navi :is(.navi_info_logo, .navi_info_cp, .navi_info_sns) {
  position: relative;
  display: block;
  margin: 0;
}
.footer_navi .navi_info_logo {
  flex-grow: 0;
  display: block;
}
.footer_navi .navi_info_logo img {
  display: block;
  width: 255px;
  max-width: 255px;
  margin: 0 auto;
  user-select: none;
}
.footer_navi .navi_info_cp {
  flex-grow: 1;
  display: flex;
  column-gap: 2.0em;
  row-gap: 0;
}
.footer_navi .navi_info_cp .navi_info_cp_location {
  width: max-content;
  max-width: 100%;
}
.footer_navi .navi_info_cp .navi_info_cp_location :is(.cp_name, .cp_address) {
  display: block;
  width: max-content;
  max-width: 100%;
}
.footer_navi .navi_info_cp .navi_info_cp_location .cp_name {
  /*font-weight: 600;*/
  font-weight: 500;
  font-size: 0.9em;
}
.footer_navi .navi_info_cp .navi_info_cp_location .cp_address {
  /*font-weight: 500;*/
  font-size: 0.83em;
}
.footer_navi .navi_info_sns {
  flex-grow: 0;
  display: flex;
  column-gap: 1.0em;
  row-gap: 0;
  padding-right: 1.0em;
}
.footer_navi .navi_info_sns .sns_icon {
  flex-grow: 0;
  display: block;
}
.footer_navi .navi_info_sns .sns_icon a {
  display: block;
}
.footer_navi .navi_info_sns .sns_icon img {
  display: block;
  width: 100%;
  margin: 0 auto;
  user-select: none;
}
.footer_navi .navi_info_sns .sns_icon img {
  width: 30px;
  max-width: 30px;
}
@media screen and (max-width: 1150px) {
  .footer_navi .navi_info {
    position: relative;
    display: block;
    column-gap: initial;
    row-gap: initial;
  }
  .footer_navi :is(.navi_info_logo, .navi_info_cp, .navi_info_sns) {
    width: max-content;
    max-width: 100%;
  }
  .footer_navi :is(.navi_info_logo, .navi_info_cp) {
    width: max-content;
    max-width: 100%;
    margin: 0 auto 2.0em;
  }
  .footer_navi .navi_info_sns {
    padding-right: 0;
    margin: 0 auto 0;
  }
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .footer_navi .navi_info_cp {
    display: block;
    column-gap: initial;
    row-gap: initial;
  }
  .footer_navi .navi_info_cp .navi_info_cp_location {
    margin: 0 0 1.0em;
  }
  .footer_navi .navi_info_cp .navi_info_cp_location:last-child {
    margin: 0;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  子ページ表示（ブロック）（child-block.php）
##
############################################## */
/* 子ページ表示（ブロック） */
:root {
  --child-block-gap: 3.0em;
  /* var(--child-block-gap) */
}
@media screen and (max-width: 1023px) {
  :root {
    --child-block-gap: 2.0em;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.child-block {
  position: relative;
  display: flex;
  gap: var(--child-block-gap);
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
}
.child-block a.block-wrap {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - var(--child-block-gap) * 2) / 3);
  text-decoration: none;
}
.child-block a.block-wrap:hover {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .child-block a.block-wrap {
    max-width: calc((100% - var(--child-block-gap) * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  .child-block a.block-wrap {
    max-width: calc((100% - var(--child-block-gap) * 0) / 1);
  }
}

.child-block a.block-wrap .block-frame {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.child-block a.block-wrap .block-frame .block-image {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  overflow: hidden;
}
.child-block a.block-wrap .block-frame .block-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1.0;
  transform: scale(100%);
  transition: 0.3s;
}
.child-block a.block-wrap:hover .block-frame .block-image img {
  opacity: 0.8;
  transform: scale(105%);
}

.child-block a.block-wrap .block-frame .block-body {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  padding: 1.0em 1.5em;
}
.child-block a.block-wrap .block-frame .block-body .block-title {
  position: relative;
  display: block;
  width: 100%;
}
.child-block a.block-wrap .block-frame .block-body .block-title h3 {
  line-height: 1.6;
  font-size: 1.0em;
  font-weight: 600;
  letter-spacing: 0.07em;
}
.child-block a.block-wrap .block-frame .block-body .block-text {
  position: relative;
  display: block;
  width: 100%;
  margin-top: 0.5em;
}
.child-block a.block-wrap .block-frame .block-body .block-text p {
  font-size: 0.85em;
}
@media screen and (max-width: 1023px) {
  .child-block a.block-wrap .block-frame .block-body {
    padding: 1.0em 1.0em;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* 白地 */
.child-block-white .block-frame :is(.block-image, .block-body) {
  background: var(--color-lightgray);
  color: var(--color-black);
}

/* 青地 */
.child-block-magnusblue .block-frame :is(.block-image, .block-body) {
  background: var(--color-magnusblue);
  color: var(--color-white);
}

/* 白地・緑文字（採用情報） */
#page_recruit .child-block-white .block-frame :is(.block-image, .block-body) {
  background: var(--color-white);
  color: var(--color-green);
}




/* ##############################################
##
##  トーケンニュース 個別ページ（single.php）
##
############################################## */
/* トーケンニュース 個別ページ 見出し */
.single_header-info {
  width: 100%;
  line-height: 1.5;
  font-size: 0.8em;
  margin-top: 2.0em;
}
.single_header-info p {
  text-align: left;
  margin: 0.5em 0;
}
.single_header-info span {
  display: inline-block;
  width: fit-content;
  padding: 0.35em 0.75em 0.2em;
}
.single_header-info :is(.cat, .cat-posi) {
  font-weight: 500;
  border: 1px solid var(--color-clearblue);
  border-radius: 0.5em;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
}
.single_header-info .cat {
  color: var(--color-clearblue);
}
.single_header-info .cat-posi {
  color: var(--color-white);
  background: var(--color-clearblue);
}
.single_header-info .time {
  font-weight: 400;
  margin-right: 0;
}

/* トーケンニュース 個別ページ ページネーション */
.single-pn {
  display: block;
  width: fit-content;
  padding-bottom: 0;
  margin:0 auto;
}
.single-pn a {
  color: var(--color-clearblue);
}
.single-pn:has(*) {
  padding-bottom: 1.0em;
}
.single-pn .sigle-angle {
  display: inline-block;
  margin: 0 1.0em;
}
.single-pn .sigle-angle i {
  color: var(--color-clearblue);
}
/*
.single-back-to-news {
  padding-bottom: 4.0em;
}
*/




/* ##############################################
##
##  わたしたちのミッション（pg_mission.php）
##
############################################## */
.pg_our-mission .content-body {
  display: block;
  position: relative;
  width: 100%;
  min-height: 300px;
}
.pg_our-mission .content-body.mission::before,
.pg_our-mission .content-body.philosophy::before,
.pg_our-mission .content-body.ideal::before {
  display: block;
  position: absolute;
  font-weight: 500;
  font-size: calc(100vw / 9);
  text-transform: uppercase;
  color: var(--color-brightgray);
}
.pg_our-mission .content-body.mission::before {
  content: 'mission';
  top: 30%;
  right: 0;
  transform: translate(0, -50%);
}
.pg_our-mission .content-body.philosophy::before {
  content: 'philosophy';
  top: 20%;
  left: 0;
  transform: translate(0, -50%);
}
.pg_our-mission .content-body.ideal::before {
  content: 'ideal';
  top: 10%;
  right: 0;
  transform: translate(0, -50%);
}
.pg_our-mission .content-body.mission::after,
.pg_our-mission .content-body.philosophy::after {
  display: block;
  position: absolute;
  top: calc(100% - 1.0em);
  left: 50%;
  transform: translate(-50%, 0);
  content: '';
  width: 1px;
  height: 6.0em;
  border-top: none;
  border-left: 1px solid var(--color-clearblue);
  border-right: none;
  border-bottom: none;
}

.pg_our-mission .content-body .pure-g {
  position: relative;
  width: calc(100% + 2.0em);
  margin: 0 -1.0em;
}
.pg_our-mission .content-body .pure-g.reverse {
  flex-direction: row-reverse;
}
.pg_our-mission .content-body .pure-g > div {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 1.0em 1.0em;
}
.pg_our-mission .content-text,
.pg_our-mission .content-image {
  flex-grow: 1;
}

.pg_our-mission .content-text {
  position: relative;
  display: block;
}
.pg_our-mission .content-text .mission_title-sub,
.pg_our-mission .content-text .mission_title-main,
.pg_our-mission .content-text .mission_lead {
  flex-grow: 0;
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  color: var(--color-clearblue);
}
.pg_our-mission .content-text * span {
  display: inline-block;
  position: relative;
}
.pg_our-mission .content-text .mission_title-sub {
  margin-bottom: 1.0em;
}
.pg_our-mission .content-text .mission_title-sub::before {
  display: inline-block;
  position: relative;
  content: '';
  width: 2.0em;
  height: 1px;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid;
  transform: translate(0, -0.4em);
  margin-right: 0.5em;
}
.pg_our-mission .content-text .mission_title-sub span {
  font-weight: 600;
  font-size: 1.1em;
}
.pg_our-mission .content-text .mission_title-main {
  line-height: 1.5;
  margin-bottom: 1.5em;
}
.pg_our-mission .content-text .mission_title-main span {
  font-weight: 400;
  font-size: 1.4em;
  letter-spacing: 0.03em;
}
.pg_our-mission .content-text .mission_lead {
  margin-bottom: 1.5em;
}
.pg_our-mission .content-text .mission_lead span {
  font-weight: 500;
  font-size: 1.0em;
}
.pg_our-mission .content-image {
  display: block;
  position: relative;
  width: 100%;
  max-width: 600px;
  height: 500px;
  margin: 0 auto;
}
.pg_our-mission .content-image img {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .pg_our-mission .content-body.mission::before,
  .pg_our-mission .content-body.philosophy::before,
  .pg_our-mission .content-body.ideal::before {
    top: 0;
    left: initial;
    right: 0;
    transform: translate(0, 0);
  }
  .pg_our-mission .content-body.mission::after,
  .pg_our-mission .content-body.philosophy::after {
    display: none;
  }
  .pg_our-mission .content-body .pure-g.reverse {
    flex-direction: initial;
  }
  .pg_our-mission .content-image {
    max-height: 350px;
  }
}

/* 企業理念 目指す道｜カンパニービジョン（旧：わたしたちのミッション） */
h3.title-mission {
  display: block;
  position: relative;
  font-weight: 500!important;
  font-size: 1.5em!important;
  letter-spacing: 0.1em;
  color: var(--color-black)!important;
  padding: 1.0em 0;
}
h3.title-mission.vision,
h3.title-mission.ideal {
  z-index: 0;
}
h3.title-mission.vision::before,
h3.title-mission.ideal::before {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  font-weight: 500;
  font-size: 4.0em;
  color: var(--color-brightgray);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
  z-index: -1;
}
h3.title-mission.vision::before {
  content: 'vision';
}
h3.title-mission.ideal::before {
  content: 'ideal';
}

h4.subject-mission {
  display: block;
  position: relative;
  padding-left: 2.0em;
}
h4.subject-mission::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  content: '';
  width: 1.75em;
  height: 1px;
  background: var(--color-black);
}

.mission-column-reverse {
  flex-direction: row-reverse;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  h3.title-mission {
    font-size: 1.4em!important;
    letter-spacing: 0.03em;
  }
  h3.title-mission.vision::before,
  h3.title-mission.ideal::before {
    font-size: 3.0em;
    letter-spacing: 0.07em;
  margin-right: -0.07em;
  }
  .mission-column-reverse {
    flex-direction: initial;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  トーケンニュース 一覧（loop-list.php）
##  （archive.php）
##  （achv_tokennews-list.php、pg_tokennews-list-all.php）
##
############################################## */
.tokennews-list .news-list {
  position: relative;
  display: block;
  width: 100%;
}
.tokennews-list .news-list ul {
  list-style-type: none!important;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
}
.tokennews-list .news-list ul li {
  border: none;
  padding: 0!important;
  margin: 0 0 0.5em!important;
  line-height: 1.5;
}
.tokennews-list .news-list ul li:last-child {
  margin: 0!important;
}
.tokennews-list .news-list ul li :is(.nolink, a) {
  position: relative;
  display: flex;
  flex-direction: row;
  column-gap: 2.0em;
  row-gap: 0;
  width: 100%;
  padding: 1.0em 2.0em;
  /*background: var(--color-white);*/
  /*background: var(--color-babyblue);*/
  background: var(--color-lightgray);
  /*border-radius: 0.5em;*/
  border-radius: 0;
}
.tokennews-list .news-list ul li :is(.nolink, a) :is(.date-cat, .date, .content) {
  position: relative;
  display: flex;
  text-align: left;
  flex-direction: column;
  column-gap: 0;
  row-gap: 0.25em;
  justify-content: center;
  align-items: flex-start;
}
.tokennews-list .news-list ul li :is(.nolink, a) .date-cat {
  flex-grow: 0;
  min-width: 9.0em;
}
.tokennews-list .news-list ul li :is(.nolink, a) .date {
  flex-grow: 0;
  min-width: max-content;
  max-width: 100%;
}
.tokennews-list .news-list ul li :is(.nolink, a) .content {
  flex-grow: 1;
}

.tokennews-list .news-list ul li a {
  text-decoration: none;
  transition: 0.2s;
}
.tokennews-list .news-list ul li a:hover {
  background: var(--color-lightblue);
  transition: 0.2s;
}

.tokennews-list .news-list ul li a::after {
  display: none!important;
}

.tokennews-list .news-list ul li span {
  display: block;
  padding: 0;
}
.tokennews-list .news-list ul li .info-date {
  font-weight: 400;
  font-size: 0.85em;
  color: var(--color-black);
}
.tokennews-list .news-list ul li .info-cat {
  /*font-weight: 600;*/
  font-size: 0.9em;
  color: var(--color-clearblue);
}
.tokennews-list .news-list ul li .info-content {
  /*font-weight: 500;*/
  /*font-size: 1.0em;*/
  font-size: 0.9em;
}
.tokennews-list .news-list ul li a .info-content {
  /*color: var(--color-clearblue);*/
  color: var(--color-black);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .tokennews-list .news-list ul li :is(.nolink, a) {
    flex-direction: column;
    column-gap: 0;
    row-gap: 0.75em;
    padding: 1.0em 1.5em;
  }
  .tokennews-list .news-list ul li :is(.nolink, a) .date-cat {
    flex-direction: row;
    min-width: max-content;
    width: max-content;
    max-width: 100%;
  }
  .tokennews-list .news-list ul li .info-cat::after {
    display: inline-block;
    content: '／';
    margin: 0 0.35em;
  }
  .tokennews-list .news-list ul li .info-cat:last-child::after {
    display: none;
  }
  .tokennews-list .news-list ul li :is(.nolink, a) :is(.date, .content) {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  コラム 一覧（loop-tile-list.php）
##  （achv_column-tile-list.php）
##
############################################## */
.tile-list {
  position: relative;
  display: block;
  width: 100%;
  overflow-x: hidden;
}
.tile-list .pure-g {
  width: calc(100% + 2.0em);
  margin: 0 -1.0em;
}
.tile-list .pure-g > div {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 1.0em 3.0em;
}
.tile-list .pure-g > div .tile {
  flex-grow: 1;
}
.tile-list .pure-g > div .edit {
  flex-grow: 0;
}
.tile-list .pure-g > div .tile {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.tile-list .pure-g > div .tile a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
}
.tile-list .pure-g > div .tile a,
.tile-list .pure-g > div .tile a * {
  text-decoration: none;
}
.tile-list .pure-g > div .tile a .image {
  flex-grow: 0;
}
.tile-list .pure-g > div .tile a .text {
  flex-grow: 1;
}
.tile-list .pure-g > div .tile a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.tile-list .pure-g > div .tile a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.tile-list .pure-g > div .tile a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tile-list .pure-g > div .tile a .image .tile-term {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  font-weight: 400;
  font-size: 0.8em;
  color: var(--color-white);
  width: fit-content;
  background: var(--color-clearblue);
  padding: 0.2em 0.5em 0.2em;
}
.tile-list .pure-g > div .tile a .image .tile-term span {
  display: inline-block;
  position: relative;
  margin: 0 0.5em;
}
.tile-list .pure-g > div .tile a .image .tile-term span:first-child {
  margin-left: 0;
}
.tile-list .pure-g > div .tile a .image .tile-term span:last-child {
  margin-right: 0;
}
.tile-list .pure-g > div .tile a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
}
.tile-list .pure-g > div .tile a .text span {
  position: relative;
  display: block;
  font-weight: 500;
  width: 100%;
}
.tile-list .pure-g > div .tile a .text .tile-content {
  flex-grow: 1;
  color: var(--color-black);
  text-align: left;
}
.tile-list .pure-g > div .tile a .text .tile-date {
  flex-grow: 0;
  font-size: 0.8em;
  color: var(--color-gray);
  text-align: right;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .tile-list .pure-g {
    width: calc(100% + 1.0em);
    margin: 0 -0.5em;
  }
  .tile-list .pure-g > div {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0.5em 2.0em;
  }
}




/* ##############################################
##
##  コラム 個別ページ（sg_column.php）
##
############################################## */
/* コラム｜メイン写真（アイキャッチ画像） */
.sg_column .image_main {
  position: relative;
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 0;
}
.sg_column .image_main .image_main_fixed {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.sg_column .image_main .image_main_fixed img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sg_column .image_main a {
  position: relative;
  display: block;
  width: 100%;
  text-decoration: none;
}
.sg_column .image_main a:hover {
  opacity: 0.8;
  transition: 0.2s;
}




/* ##############################################
##
##  検索フォーム（searchform.php）
##
############################################## */
.searchform_container {
  position: relative;
  display: block;
  /*border: 1px solid var(--color-dimgray);*/
  border: none;
  padding: 0.35em 1.0em 0.15em;
  /*border-radius: 1.5em;*/
  border-radius: 0;
  /*background: var(--color-white);*/
  background: #FFFFFFBB;
  width: 100%;
  /*max-width: 300px;*/
  max-width: 160px;
  height: 2.5em;
  overflow: hidden;
}
.is-fixed .searchform_container {
  border: 1px solid #E0E0E0;
  background: var(--color-white);
}
.searchform_container input[type="text"] {
  border: none;
  height: 1.5em;
  /*width: calc(100% - 50px);*/
  width: calc(100% - 30px);
  background: transparent;
}
.searchform_container input[type="text"]:focus {
  outline: 0;
}

.searchform_container input[type="text"]::placeholder {
  /*color: #A0A0A0;*/
  font-size: 0.9em;
  color: var(--color-white);
  letter-spacing: 0.1em;
  user-select: none;
}
.is-fixed .searchform_container input[type="text"]::placeholder {
  color: var(--color-silvergray);
}

.searchform_container input[type="submit"] {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 2.5em;
  height: 2.5em;
  font-family: 'Font Awesome 6 Free', Font Awesome;
  font-weight: 900;
  /*font-size: 1.3em;*/
  font-size: 1.0em;
  /*color: var(--color-clearblue);*/
  color: var(--color-white);
  cursor: pointer;
  border: none;
  background: none;
  outline : none;
}
.is-fixed .searchform_container input[type="submit"] {
  /*color: var(--color-clearblue);*/
  /*color: var(--color-dimgray);*/
  color: var(--color-gray);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .searchform_container {
    padding: 0.6em 1.0em 0.2em;
    /*border-radius: 1.75em;*/
    /*max-width: 350px;*/
    max-width: 300px;
    height: 3.0em;
  }
}




/* ##############################################
##
##  検索結果
##  （search.php、srch_default.php）
##
############################################## */
/* 検索結果｜検索フォーム設置 */
.search-result-searchform {
  display: block;
  width: 100%;
}
.search-result-searchform .searchform-box {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 300px;
}
.search-result-searchform .searchform-box .searchform_container {
  border: 1px solid #E0E0E0;
  background: var(--color-white);
  max-width: 300px;
}
.search-result-searchform .searchform-box .searchform_container input[type="text"]::placeholder {
  color: var(--color-silvergray);
}
.search-result-searchform .searchform-box .searchform_container input[type="submit"] {
  /*color: var(--color-clearblue);*/
  /*color: var(--color-dimgray);*/
  color: var(--color-gray);
}

/* 検索結果｜結果 */
.search-result-head {
  display: block;
  position: relative;
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 1.5em;
  text-align: center;
  color: var(--color-clearblue);
  margin: 2.0em 0;
}

/* 検索結果｜リスト */
.search-result-list {
  display: block;
  position: relative;
  width: 100%;
  list-style-type: none!important;
  padding: 0!important;
  margin: 0!important;
}
.search-result-list li {
  display: block;
  position: relative;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
  border-top: 1px solid var(--color-dimgray);
  border-left: none;
  border-right: none;
  border-bottom: none;
}
.search-result-list li:last-child {
  border-bottom: 1px solid var(--color-dimgray);
}
.search-result-list li a {
  display: block;
  position: relative;
  width: 100%;
  padding: 1.0em 1.5em;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  text-decoration: none;
}
.search-result-list li a:hover {
  background: var(--color-lightblue);
  transition: 0.2s;
}
.search-result-list li a .title {
  display: inline-block;
  position: relative;
  font-weight: 400;
  font-size: 1.0em;
  margin-right: 1.0em;
}
.search-result-list li a .link {
  display: inline-block;
  position: relative;
  font-weight: 300;
  font-size: 0.9em;
  color: var(--color-gray);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .search-result-list li a {
    padding: 1.0em 1.0em;
  }
  .search-result-list li a .title {
    display: block;
    width: 100%;
    margin-right: 0;
  }
  .search-result-list li a .link {
    display: block;
    width: 100%;
    margin-top: 0.25em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  施工実績｜選択ボタン
##  （pg_works-all.php、pg_works-token.php、achv_works-case-list.php、srch_works-case-list.php）
##
############################################## */
.works_select_btn {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
}
.works_select_btn a,
.works_select_btn .btn_body,
.works_select_btn .btn_body .btn_body-text {
  flex-grow: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
.works_select_btn .btn_body {
  background: var(--color-white);
}
.works_select_btn a .btn_body {
  background: var(--color-black);
  transition: 0.2s;
}
.works_select_btn a:hover .btn_body {
  background: var(--color-black);
  transition: 0.2s;
}
.works_select_btn .btn_body .btn_body-text {
  padding: 3.5em 3.0em;
}
.works_select_btn .btn_body .btn_body-text::after {
  display: none;
  position: absolute;
  top: 50%;
  right: 1.0em;
  transform: translate(0, -50%);
  content: url('../images/link_arrow/arr-white_cir-tp.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_cir-tp.svg');*/
  width: 2.0em;
  height: 2.0em;
}
.works_select_btn a .btn_body .btn_body-text::after {
  display: block;
}
.works_select_btn .btn_body .btn_body-text span {
  font-weight: 600;
  font-size: 1.1em;
  color: var(--color-white);
  text-align: center;
}
.works_select_btn .btn_body img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.works_select_btn a {
  text-decoration: none;
}
.works_select_btn img {
  opacity: 0.9;
  transform: scale(103%);
}
.works_select_btn a img {
  /*opacity: 0.8;*/
  opacity: 0.4;
  transform: scale(100%);
  transition: 0.2s;
}
.works_select_btn a:hover img {
  /*opacity: 0.4;*/
  opacity: 0.9;
  transform: scale(103%);
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .works_select_btn {
    flex-direction: column;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  施工実績｜用途別選択
##  （achv_works-case-list.php）
##
############################################## */
.select_purpose {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
}
.select_purpose ul {
  position: relative;
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
  list-style-type: none;
  line-height: 1.5;
}
.select_purpose ul li {
  flex-grow: 1;
  position: relative;
  display: flex;
  padding: 0!important;
  margin: 0!important;
}
.select_purpose ul li a {
  flex-grow: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-decoration: none;
  color: var(--color-clearblue);
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  padding: 0.5em 0.75em 0.4em;
  margin: 0;
  transition: 0.15s;
}
.select_purpose ul li a:hover {
  background: var(--color-lightblue);
  transition: 0.15s;
}
.select_purpose ul li a span {
  flex-grow: 0;
  display: block;
  position: relative;
  text-align: center;
  width: max-content;
  max-width: 100%;
  font-weight: 500;
  font-size: 0.8em;
}
.select_purpose ul li.this a {
  color: var(--color-white);
  background: var(--color-clearblue);
  pointer-events: none;
}




/* ##############################################
##
##  施工実績｜検索ボックス
##  （achv_works-case-list.php、srch_works-case-list.php）
##
############################################## */
.works_search-box {
  position: relative;
  display: block;
  width: 100%;
  /*max-width: 750px;*/
  padding: 2.0em;
  margin: 0 auto;
  background: var(--color-lightblue);
  line-height: 1.5;
}
.works_search-box .search-body {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.works_search-box .search-body .works_genre {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
  margin-bottom: 1.0em;
}
.works_search-box .search-body .works_genre .genre-label {
  flex-grow: 0;
  position: relative;
  display: flex;
  width: 10.0em;
  max-width: 20%;
  font-weight: 500;
  color: var(--color-clearblue);
}
.works_search-box .search-body .works_genre .genre-body {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  font-weight: 400;
}
.works_search-box .search-body .works_genre .genre-body ul {
  position: relative;
  display: block;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.works_search-box .search-body .works_genre .genre-body ul li {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  padding: 0;
  margin: 0 1.5em 0.5em 0;
}
.works_search-box .search-body .works_genre .genre-body ul li:last-child {
  margin: 0 0 0.5em 0;
}
.works_search-box .search-body .works_genre.freeword .genre-label,
.works_search-box .search-body .works_genre.freeword .genre-body {
  align-items: center;
}
.works_search-box .search-body .works_genre .genre-body .textbox {
  width: 100%;
  padding: 0.5em;
}
.works_search-box .search-button {
  position: relative;
  display: flex;
  gap: 2.0em;
  justify-content: center;
  margin-top: 2.0em;
}
.works_search-box .search-button .button-submit,
.works_search-box .search-button .button-reset {
  flex-grow: 0;
  position: relative;
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  align-items: center;
}
.works_search-box .search-button .button-submit .submit,
.works_search-box .search-button .button-reset .reset {
  display: block;
  position: relative;
  padding: 0.7em 1.5em 0.5em;
  margin: 0;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.works_search-box .search-button .button-submit .submit {
  color: var(--color-white);
  background: var(--color-clearblue);
  border: 1px solid var(--color-clearblue);
  border-radius: 1.5em;
}
.works_search-box .search-button .button-submit .submit:hover {
  color: var(--color-clearblue);
  background: var(--color-white);
  transition: 0.2s;
}
.works_search-box .search-button .button-reset .reset {
  color: var(--color-clearblue);
}
.works_search-box .search-button .button-reset .reset:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.works_search-box .search-button .button-reset .reset span {
  font-size: 0.9em;
}




/* ##############################################
##
##  施工実績 一覧（loop-case-list.php）
##  （achv_works-case-list.php）
##
############################################## */
.case-list {
  position: relative;
  display: block;
  width: 100%;
  overflow-x: hidden;
  line-height: 1.5;
}
.case-list .pure-g {
  width: calc(100% + 2.0em);
  margin: 0 -1.0em;
}
.case-list .pure-g > div {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 1.0em 3.0em;
}
.case-list .pure-g > div .case-min {
  flex-grow: 1;
}
.case-list .pure-g > div .edit {
  flex-grow: 0;
}
.case-list .pure-g > div .case-min {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.case-list .pure-g > div .case-min a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  padding: 0;
}
.case-list .pure-g > div .case-min a,
.case-list .pure-g > div .case-min a * {
  text-decoration: none;
}

.case-list .pure-g > div .case-min a .image {
  flex-grow: 0;
}
.case-list .pure-g > div .case-min a .text {
  flex-grow: 1;
}
.case-list .pure-g > div .case-min a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.case-list .pure-g > div .case-min a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.case-list .pure-g > div .case-min a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case-list .pure-g > div .case-min a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  padding: 0 1.0em 0.5em;
  margin: 0;
}
.case-list .pure-g > div .case-min a .text p {
  position: relative;
  display: block;
  font-weight: 500;
  text-align: left;
  width: 100%;
  margin: 0;
}
.case-list .pure-g > div .case-min a .text .case-content {
  flex-grow: 0;
  color: var(--color-black);
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .case-list .pure-g {
    width: calc(100% + 1.0em);
    margin: 0 -0.5em;
  }
  .case-list .pure-g > div {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0.5em 2.0em;
  }
  .case-list .pure-g > div .case-min a .text {
    padding: 0 0.5em 0.5em;
  }
}

/*
.case-list {
  position: relative;
  display: block;
  width: 100%;
  overflow-x: hidden;
  line-height: 1.5;
}
.case-list .pure-g {
  width: calc(100% + 2.0em);
  margin: 0 -1.0em;
}
.case-list .pure-g > div {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0 1.0em 3.0em;
}
.case-list .pure-g > div .case {
  flex-grow: 1;
}
.case-list .pure-g > div .edit {
  flex-grow: 0;
}
.case-list .pure-g > div .case {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.case-list .pure-g > div .case a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  padding: 0 2.0em 2.0em;
}
.case-list .pure-g > div .case a,
.case-list .pure-g > div .case a * {
  text-decoration: none;
}

.case-list .pure-g > div .case a :is(.purpose, .image, .button) {
  flex-grow: 0;
}
.case-list .pure-g > div .case a .text {
  flex-grow: 1;
}
.case-list .pure-g > div .case a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.case-list .pure-g > div .case a .purpose {
  display: block;
  position: relative;
  width: calc(100% + 4.0em);
  margin: 0 -2.0em 1.5em;
}
.case-list .pure-g > div .case a .purpose .case-term {
  display: block;
  position: relative;
  font-weight: 400;
  font-size: 0.8em;
  color: var(--color-white);
  width: fit-content;
  max-width: 100%;
  background: var(--color-clearblue);
  padding: 0.1em 0.5em 0.2em;
  margin-left: auto;
  margin-right: 0;
}
.case-list .pure-g > div .case a .purpose .case-term span {
  display: inline-block;
  position: relative;
  margin: 0;
}
.case-list .pure-g > div .case a .purpose .case-term span::after {
  display: inline-block;
  position: relative;
  content: '｜';
}
.case-list .pure-g > div .case a .purpose .case-term span:last-child {}
.case-list .pure-g > div .case a .purpose .case-term span:last-child::after {
  display: none;
}

.case-list .pure-g > div .case a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.case-list .pure-g > div .case a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case-list .pure-g > div .case a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  margin: 0.5em 0;
}
.case-list .pure-g > div .case a .text p {
  position: relative;
  display: block;
  font-weight: 500;
  text-align: left;
  width: 100%;
  margin: 0;
}
.case-list .pure-g > div .case a .text .case-content {
  flex-grow: 0;
  color: var(--color-black);
}
.case-list .pure-g > div .case a .text .case-detail {
  flex-grow: 1;
  font-size: 0.9em;
  color: var(--color-clearblue);
}

.case-list .pure-g > div .case a .text .case-detail .case-business,
.case-list .pure-g > div .case a .text .case-detail .case-structure {
  display: inline;
  width: fit-content;
}
.case-list .pure-g > div .case a .text .case-detail .case-business::before,
.case-list .pure-g > div .case a .text .case-detail .case-business::after {
  position: relative;
  display: inline-block;
  content: '';
  width: 0.25em;
  height: 1.0em;
  border-top: 1px solid;
  border-bottom: 1px solid;
  transform: translate(0, 0.1em);
}
.case-list .pure-g > div .case a .text .case-detail  .case-business::before {
  border-left: 1px solid;
  border-right: none;
  margin-right: 0.25em;
}
.case-list .pure-g > div .case a .text .case-detail  .case-business::after {
  border-left: none;
  border-right: 1px solid;
  margin-left: 0.25em;
  margin-right: 0.5em;
}

.case-list .pure-g > div .case a .button {
  position: relative;
  display: block;
  width: 100%;
}
.case-list .pure-g > div .case a .button img {
  position: relative;
  display: block;
  width: 40px;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .case-list .pure-g {
    width: calc(100% + 1.0em);
    margin: 0 -0.5em;
  }
  .case-list .pure-g > div {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 0.5em 2.0em;
  }

  .case-list .pure-g > div .case a {
    padding: 0 1.0em 1.0em;
  }
  .case-list .pure-g > div .case a .purpose {
    width: calc(100% + 2.0em);
    margin: 0 -1.0em 0.5em;
  }

  .case-list .pure-g > div .case a .button img {
    width: 30px;
  }
}
*/




/* ##############################################
##
##  施工実績 個別ページ（sg_works.php）
##
############################################## */
.sg_works {
  position: relative;
}

/* 施工実績｜メイン写真 */
.sg_works .image_main {
  position: relative;
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 0;
}
.sg_works .image_main .image_main_fixed {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.sg_works .image_main .image_main_fixed img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sg_works .image_main a {
  position: relative;
  display: block;
  width: 100%;
  text-decoration: none;
}
.sg_works .image_main a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

/* 施工実績｜サブ写真 */
.sg_works .image_sub {
  position: relative;
  display: block;
  width: 100%;
  margin: 4.0em auto 0;
}
.sg_works .image_sub .pure-g {
  justify-content: center;
  width: calc(100% + 1.0em);
  margin: 0 -0.5em;
}
.sg_works .image_sub .pure-g > div {
  padding: 0.5em;
}
.sg_works .image_sub .image_sub_fixed {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 1 / 1);
}
.sg_works .image_sub .image_sub_fixed img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sg_works .image_sub a {
  position: relative;
  display: block;
  width: 100%;
  text-decoration: none;
}
.sg_works .image_sub a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

/* 施工実績｜概要（表組） */
.sg_works .tbl_overview {
  position: relative;
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 4.0em auto 0;
}
.sg_works .tbl_overview:has(:not(~ tr)) {
  display: none;
}
.sg_works .tbl_overview table {
  width: 100%;
  border: none;
  table-layout: fixed;
  border-spacing: 0;
}
.sg_works .tbl_overview table tbody {
  width: 100%;
  border: none;
}
.sg_works .tbl_overview table tbody tr {
  width: 100%;
  border: none;
}
.sg_works .tbl_overview table tbody tr :is(th, td) {
  width: 100%;
  border-top: 1px solid var(--color-clearblue);
  border-left: none;
  border-right: none;
  border-bottom: none;
  line-height: 1.5;
  padding: 0.7em 1.5em 0.5em;
}
.sg_works .tbl_overview table tbody tr:last-child :is(th, td) {
  border-bottom: 1px solid var(--color-clearblue);
}
.sg_works .tbl_overview table tbody tr th {
  font-weight: 500;
  color: var(--color-clearblue);
  text-align: center;
  background: var(--color-white);
  width: 30%;
}
.sg_works .tbl_overview table tbody tr td {
  font-weight: 400;
  color: var(--color-black);
  text-align: left;
  background: transparent;
  width: 70%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .sg_works .tbl_overview table tbody tr :is(th, td) {
    padding: 1.0em 1.0em 0.8em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  施工実績｜スライド 
##  'works-all'（pg_works-all.php）
##  -> 'works'（achv_works-case-list.php）
##
############################################## */
.works-all_slide-main {
  position: relative;
  display: block;
  width: 100%;
  /*overflow: hidden;*/
}
.works-all_slide-main .main-carousel_works {
  position: relative;
  display: block;
  width: 100%;
}
.works-all_slide-main .main-carousel_works .carousel-cell {
  position: relative;
  display: block;
  width: 100%;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 0;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj :is(.prj-image, .prj-text) {
  flex-grow: 1;
  width: 50%;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-image {
  position: relative;
  display: flex;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-image:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-image .image {
  position: relative;
  display: block;
  width: 100%;
  /*padding-top: calc(100% * 2 / 3);*/
  padding-top: calc(100% * 6 / 11);
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-image .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.0em;
  padding: 2.0em 3.0em;
  /*background: var(--color-lightblue);*/
  background: var(--color-lightgray);
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text .text {
  flex-grow: 1;
  min-height: 4.0em;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text .btns {
  flex-grow: 0;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text :is(.text, .btns) {
  position: relative;
  display: block;
  width: 100%;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text .text .text-title {
  font-weight: 500;
  /*font-size: 1.4em;*/
  font-size: 1.1em;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text .text .text-title a {
  text-decoration: none;
  /*color: var(--color-black);*/
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text .text .text-title a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text .text .text-summary {
  font-weight: 400;
  /*font-size: 1.1em;*/
  font-size: 0.9em;
}

.works-all_slide-main .main-carousel_works .flickity-page-dots {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
  /*margin-top: 2.0em;*/
  margin-top: 0;
}
.works-all_slide-main .main-carousel_works .flickity-page-dots .dot {
  display: block;
  /*width: 12px;*/
  width: 10px;
  /*height: 12px;*/
  height: 10px;
  /*border-radius: 50%;*/
  border-radius: 0;
  /*background: var(--color-lightblue);*/
  background: var(--color-gray);
  margin: 0!important;
}
.works-all_slide-main .main-carousel_works .flickity-page-dots .dot.is-selected {
  /*background: var(--color-clearblue);*/
  background: var(--color-darkgray);
}

.works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button {
  display: block;
  position: absolute;
  top: 45%;
  transform: translate(0, -50%);
  width: 1.5em;
  height: 3.0em;
  background: var(--color-white);
  border: none;
  cursor: pointer;
  opacity: 0.7;
}
.works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button.previous {
  left: 0;
  border-radius: 0 0.5em 0.5em 0;
}
.works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button.next {
  right: 0;
  border-radius: 0.5em 0 0 0.5em;
}
.works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button .arrow {
  fill: var(--color-clearblue);
}
.works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj {
    flex-direction: column;
  }
  .works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj :is(.prj-image, .prj-text) {
    flex-grow: 1;
    width: 100%;
  }
  .works-all_slide-main .main-carousel_works .carousel-cell .cell-pick-prj .prj-text {
    padding: 2.0em;
  }
  .works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button {
    top: 20%;
    width: 3.0em;
    height: 4.0em;
  }
  .works-all_slide-main .main-carousel_works .flickity-button.flickity-prev-next-button .flickity-button-icon {
    width: 50%;
  }
}
@media screen and (max-width: 567px) {
  .works-all_slide-main .main-carousel_works .flickity-page-dots {
    /*gap: 1.0em;*/
    gap: 1.5em;
  }
  .works-all_slide-main .main-carousel_works .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}

/* スライドショー＋リンクブロックを表示する（pg_default.php、service-block_slide-link.php） */
.container.slide-link {
  margin-bottom: calc(4.0em * 2.2);
}




/* ##############################################
##
##  トップページ（index.php、site-top.php）
##
############################################## */
.home .link-arrow-circle img {
  width: 60px;
  max-width: 60px;
  user-select: none;
}

.home .btn a {
  min-width: 14.0em;
}

/* トップページ｜トップイメージ スライド */
.top_header-image,
.top_header-image section {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
.top_header-image {}
.top_header-image a {
  text-decoration: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .home .btn a {
    min-width: 11.0em;
  }
}

.top_slide {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
}
.top_slide .top_slide-main {
  position: relative;
  width: 100%;
}

.top_slide .main-carousel {
  width: 100%;
}
.top_slide .carousel-cell {
  width: 100%;
  height: calc(100vw * (1 / 2));
  min-height: 500px;
}
.top_slide .carousel-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
}
.top_slide .carousel-cell {
  position: relative;
}
.top_slide .carousel-cell::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  mix-blend-mode: multiply;
  background: #0944B550;
}
.top_slide .carousel-cell.is-selected {
  background: var(--color-lightgray);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_slide .carousel-cell {
    height: calc(100vw * (2 / 3));
    min-height: initial;
  }
}
@media screen and (max-width: 567px) {
  .top_slide .carousel-cell {
    height: calc(100vw * (1 / 1));
    min-height: initial;
  }
}

.top_header-image .headline {
  position: absolute;
  bottom: 4.0em;
  right: 5.0em;
  transform: translate(0, 0);
  display: block;
  width: fit-content;
  color: var(--color-white);
}
.top_header-image .catch-main {
  display: block;
  font-weight: 400;
  font-size: 3.0em;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin: 0;
}
.top_header-image .catch-main span {
  display: block;
}
.top_header-image .catch-sub {
  display: block;
  font-weight: 600;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  margin-top: 1.0em;
}

/* .top_header-image .button_recruit は、popupに統合のため使用しない */
.top_header-image .button_recruit {
  position: absolute;
  bottom: 4.0em;
  left: 5.0em;
  transform: translate(0, 0);
  /*display: block;*/
  display: none;
  width: fit-content;
  color: var(--color-white);
  line-height: 1.5;
  opacity: 1.0;
  transition: 0.5s;
}
.top_header-image .button_recruit a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  justify-content: center;
  background: var(--color-green);
  width: 180px;
  height: 180px;
  border-radius: 50%;
  transition: 0.2s;
}
.top_header-image .button_recruit a:hover {
  /*opacity: 0.8;*/
  transition: 0.2s;
}
.top_header-image .button_recruit a::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid var(--color-white);
  border-radius: 50%;
  content: '';
  opacity: 0;
  transform: scale(100%);
  transition: 0.2s;
}
.top_header-image .button_recruit a:hover::after {
  opacity: 0.8;
  transform: scale(93%);
  transition: 0.2s;
}

.top_header-image .button_recruit a span {
  flex-grow: 0;
  display: block;
  color: var(--color-white);
  transform: translate(0, 10px);
}
.top_header-image .button_recruit a .rec-jp {
  /*font-weight: 500;*/
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
}
.top_header-image .button_recruit a .rec-en {
  /*font-weight: 600;*/
  font-size: 0.9em;
  letter-spacing: 0.2em;
  margin-right: -0.2em;
}
.top_header-image .button_recruit a .rec-arrow {
  margin-top: 0.5em;
}
.top_header-image .button_recruit a .rec-arrow img {
  width: 20px;
  transform: translate(0, 0);
  transition: 0.2s;
}
.top_header-image .button_recruit a:hover .rec-arrow img {
  transform: translate(0.1em, -0.1em);
  transition: 0.2s;
}
.is-fixed .top_header-image .button_recruit {
  opacity: 0;
  transition: 0.2s;
}
.is-fixed .top_header-image .button_recruit a {
  pointer-events: none;
}

.top_header-image .button_client {
  position: absolute;
  top: 50%;
  left: calc(100% - 35px);
  transform: translate(-50%, -50%);
  display: block;
  width: fit-content;
  color: var(--color-white);
}
.top_header-image .button_client a {
  display: block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  /*font-weight: 500;*/
  line-height: 1.5;
  width: fit-content;
  color: var(--color-white);
  background: var(--color-clearblue);
  /*padding: 1.0em 0.5em;*/
  padding: 1.25em 0.75em;
  border-radius: 1.5em;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  user-select: none;
}
.top_header-image .button_client a:hover {
  color: var(--color-clearblue);
  background: var(--color-white);
  transition: 0.2s;
}
.top_header-image .button_client a span {
  display: block;
  /*font-size: 0.9em;*/
  font-size: 0.8em;
  /*letter-spacing: 0.07em;*/
  letter-spacing: 0.15em;
}

.top_header-image .button_client a span img {
  display: none;
  width: 1.2em;
  margin-bottom: 0.3em;
}
.top_header-image .button_client a span img[src*="white"],
.top_header-image .button_client a:hover span img[src*="clearblue"] {
  display: inline-block;
}
.top_header-image .button_client a span img[src*="clearblue"],
.top_header-image .button_client a:hover span img[src*="white"] {
  display: none;
}
.top_header-image .button_sns {
  position: absolute;
  bottom: 4.0em;
  left: calc(100% - 35px);
  transform: translate(-50%, 0);
  display: block;
  width: fit-content;
  color: var(--color-white);
  line-height: 1.5;
}
.top_header-image .button_sns a {
  display: block;
  padding: 0.25em;
}
.top_header-image .button_sns a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_header-image .button_sns a img {
  width: 30px;
  max-width: 30px;
  user-select: none;
}

@media screen and (max-width: 1023px) {
  .top_header-image .button_recruit {
    left: 3.0em;
  }
  .top_header-image .catch-main {
    font-size: 2.7em;
  }
}
@media screen and (max-width: 767px) {
  .top_header-image .headline {
    bottom: initial;
    right: initial;
    top: 95%;
    left: 3.0em;
    transform: translate(0, -100%);
  }
  .top_header-image .catch-main {
    /*font-size: 2.2em;*/
    font-size: 2.1em;
  }
  .top_header-image .catch-sub {
    font-size: 0.8em;
  }

  .top_header-image .button_recruit {
    bottom: initial;
    top: 60%;
    left: 3.0em;
    transform: translate(0, -100%);
  }
  .top_header-image .button_recruit a {
    padding: 1.0em 0.5em;
    width: 130px;
    height:130px;
  }
  .top_header-image .button_recruit a span {
    font-size: 0.9em;
    transform: translate(0, 10px);
  }
  .top_header-image .button_recruit a .rec-jp {
    font-size: 1.3em;
  }
  .top_header-image .button_recruit a .rec-en {
    font-size: 0.8em;
  }
  .top_header-image .button_recruit a .rec-arrow img {
    width: 15px;
  }
  .top_header-image .button_client {
    top: 45%;
  }
  .top_header-image .button_sns {
    bottom: initial;
    top: 95%;
    transform: translate(-50%, -100%);
  }
}
@media screen and (max-width: 567px) {
  .top_header-image .headline {
    left: 2.0em;
  }
  .top_header-image .catch-main {
    /*font-size: 2.0em;*/
    font-size: 1.85em;
  }
  .top_header-image .catch-sub {
    letter-spacing: 0.07em;
  }
  .top_header-image .button_recruit {
    bottom: initial;
    top: 60%;
    left: 2.0em;
    transform: translate(0, -100%);
  }
  .top_header-image .button_recruit a {
    width: 110px;
    height:110px;
  }
  .top_header-image .button_client {
    /*top: 50%;*/
    top: 40%;
  }
}

/* トップページ｜スクロールを促すアニメーション */
/* <div class="scroll-animation"><div>SCROLL</div></div><!--.scroll-animation--> */
.scroll-animation {
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%);
  font-size: 0;
}
.scroll-animation div {
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  padding: 10px 10px 110px;
  color: var(--color-white);
  font-size: 13px;
  line-height: 0;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  /*writing-mode: vertical-lr;*/
  writing-mode: sideways-lr;
  overflow: hidden;
  user-select: none;
}
.scroll-animation div::before {
  content: '';
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1px;
  height: 90px;
  background: var(--color-white);
  opacity: 0.4;
}
.scroll-animation div::after {
  content: '';
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1px;
  height: 90px;
  background: var(--color-white);
  animation: scrldown 3.0s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes scrldown {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .scroll-animation {
    display: none;
  }
}


/* トップページ｜ニュース・コラム（top_news_column.php） */
/* ※トップページ｜トーケンニュース（top_news.php）とコラムを統合 */
/* トップページ｜ニュース */
.news-box {
  position: relative;
  display: flex;
  flex-direction: column;
  /*gap: 4.0em;*/
  /*gap: 3.0em;*/
  gap: 2.0em;
  width: 100%;
}
.news-box .news-tab {
  flex-grow: 0;
}
.news-box .news-content,
.news-box .column-content {
  flex-grow: 1;
  /*width: 50%;*/
  width: 100%;
}

.news-box .news-tab {
  position: relative;
  /*display: block;*/
  display: flex;
  flex-wrap: wrap;
  gap: 2.0em;
}
.news-box .news-title {
  flex-grow: 0;
  position: relative;
  /*display: block;*/
  display: flex;
  flex-wrap: wrap;
  gap: 1.0em;
  justify-content: flex-start;
  /*align-items: center;*/
  align-items: flex-end;
}

.news-box .news-title h2 {
  display: block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  /*color: var(--color-clearblue);*/
  color: var(--color-black);
  /*width: 100%;*/
  width: max-content;
  max-width: 100%;
  line-height: 1.2;
  /*overflow: hidden;*/
  margin-bottom: 0;
}
.news-box .news-title h2 span {
  /*display: block;*/
  display: inline-block;
  width: max-content;
  transform: translate(0, 0.1em);
  /*overflow: hidden;*/
}
.news-box .news-title p {
  display: block;
  /*font-weight: 500;*/
  font-size: 0.8em;
  letter-spacing: 0.1em;
  color: var(--color-gray);
  /*width: 100%;*/
  width: max-content;
  max-width: 100%;
  margin-top: 0;
}

.news-box .news-tab-list {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  /*align-items: center;*/
  align-items: flex-end;
  width: max-content;
  max-width: 100%;
}
.news-box .news-tab-list ul {
  list-style-type: none;
  padding: 0;
  font-size: 0.8em;
  margin: 0;
}
.news-box .news-tab-list ul li {
  /*display: block;*/
  display: inline-block;
  position: relative;
  /*padding-left: 1.5em;*/
  padding: 0;
  padding-left: 1.5em;
  /*margin-bottom: 0.5em;*/
  width: max-content;
  max-width: 100%;
  margin: 0;
  color: var(--color-dimgray);
}
.news-box .news-tab-list ul li:first-child {
  padding-left: 0;
}
.news-box .news-tab-list ul li::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  content: '／';
  color: var(--color-gray);
  padding: 0;
  padding-left: 0.25em;
  padding-right: 0.25em;
}
.news-box .news-tab-list ul li:first-child:before {
  display: none;
}
/*
.news-box .news-tab-list ul li::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 0.7em;
  height: 0.7em;
  border-radius: 50%;
  content: '';
  background: var(--color-clearblue);
}
*/
/*
.news-box .news-tab-list ul li.tab-li_news-all::before {
  background: var(--color-clearblue);
}
.news-box .news-tab-list ul li.tab-li_news::before {
  background: var(--color-deepblue);
}
.news-box .news-tab-list ul li.tab-li_sustainabilities::before {
  background: var(--color-yellow);
}
.news-box .news-tab-list ul li.tab-li_recruitment::before {
  background: var(--color-green);
}
.news-box .news-tab-list ul li.tab-li_awards::before {
  background: var(--color-orange);
}
.news-box .news-tab-list ul li.tab-li_construction::before {
  background: #4D9DB1;
}
.news-box .news-tab-list ul li.tab-li_activity::before {
  background: #E73E57;
}
.news-box .news-tab-list ul li.tab-li_healthcare::before {
  background: #7AD44A;
}

.news-box .news-tab-list ul li.tab-li_pickup::before {
  background: var(--color-clearblue);
}

.news-box .news-tab-list ul li.tab-li_chairman::before,
.news-box .news-tab-list ul li.tab-li_president::before,
.news-box .news-tab-list ul li.tab-li_blog::before,
.news-box .news-tab-list ul li.tab-li_solution::before {
  background: var(--color-clearblue);
}
*/

/* トップページ｜ニュース・コラム（top_news_column.php） */
/* トップページ｜ニュース */
.news-box .news-content {
  position: relative;
  display: block;
}

.news-box .news-list {
  position: relative;
  display: block;
  width: 100%;
}
.news-box .news-list ul {
  list-style-type: none!important;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
}
.news-box .news-list ul li {
  border: none;
  padding: 0!important;
  margin: 0 0 0.5em!important;
  line-height: 1.5;
}
.news-box .news-list ul li:last-child {
  margin: 0!important;
}
.news-box .news-list ul li :is(.nolink, a) {
  background: var(--color-lightgray);
}
.news-box .news-list ul li a {
  text-decoration: none;
  transition: 0.2s;
}
.news-box .news-list ul li a:hover {
  background: var(--color-lightblue);
  transition: 0.2s;
}
.news-box .news-list ul li a::after {
  display: none!important;
}

.news-box .news-list ul li span {
  display: block;
  padding: 0;
}
/*
.news-box .news-list ul li .info-cat.news {
  color: var(--color-deepblue);
}
.news-box .news-list ul li .info-cat.sustainabilities {
  color: var(--color-yellow);
}
.news-box .news-list ul li .info-cat.recruitment {
  color: var(--color-green);
}
.news-box .news-list ul li .info-cat.awards {
  color: var(--color-orange);
}
*/
.news-box .news-list ul li .info-cat {
  color: var(--color-white);
  /*padding: 0.2em 0.5em 0.1em;*/
  padding: 0.3em 0.5em 0.1em;
  /*border-radius: 0.25em;*/
  border-radius: 0;
  font-size: 0.8em;
  background: var(--color-clearblue);
}
/*
.news-box .news-list ul li .info-cat.news {
  background: var(--color-deepblue);
}
.news-box .news-list ul li .info-cat.sustainabilities {
  background: var(--color-yellow);
}
.news-box .news-list ul li .info-cat.recruitment {
  background: var(--color-green);
}
.news-box .news-list ul li .info-cat.awards {
  background: var(--color-orange);
}
.news-box .news-list ul li .info-cat.construction {
  background: #4D9DB1;
}
.news-box .news-list ul li .info-cat.activity {
  background: #E73E57;
}
.news-box .news-list ul li .info-cat.healthcare {
  background: #7AD44A;
}

.news-box .news-list ul li .info-cat.pickup {
  background: var(--color-clearblue);
}

.news-box .news-list ul li .info-cat.chairman,
.news-box .news-list ul li .info-cat.president,
.news-box .news-list ul li .info-cat.blog,
.news-box .news-list ul li .info-cat.solution {
  background: var(--color-clearblue);
}
*/
.news-box .news-list ul li .info-date {
  font-weight: 400;
  font-size: 0.85em;
  color: var(--color-black);
  width: max-content;
}
.news-box .news-list ul li .info-content {
  /*font-weight: 500;*/
  /*font-size: 1.0em;*/
  font-size: 0.9em;
}
.news-box .news-list ul li a .info-content {
  /*color: var(--color-clearblue);*/
  color: var(--color-black);
}

.news-box .news-list ul li :is(.nolink, a) {
  flex-grow: 1;
  position: relative;
  display: flex;
  /*flex-direction: column;*/
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  /*gap: 0.5em;*/
  gap: 1.0em;
  width: 100%;
  padding: 1.0em 1.5em;
  margin: 0;
}

.news-box .news-list ul li .date {
  flex-grow: 0;
  font-weight: 400;
  text-align: right;
  color: var(--color-black);
}
.news-box .news-list ul li .info-cat {
  /*display: inline-block;*/
  display: flex;
  justify-content: center;
  align-items: center;
  /*width: max-content;*/
  min-width: 10.0em;
}

.news-box .news-list ul li :is(.nolink, a) :is(.date-cat, .content) {
  position: relative;
  display: flex;
  align-items: flex-start;
  text-align: left;
}
.news-box .news-list ul li :is(.nolink, a) .date-cat {
  /*flex-grow: 1;*/
  flex-grow: 0;
  /*flex-direction: row;*/
  flex-direction: column;
  gap: 0.5em;
  flex-wrap: wrap;
  /*column-gap: 0.25em;*/
  justify-content: flex-start;
  min-width: initial;
}
.news-box .news-list ul li :is(.nolink, a) .content {
  flex-grow: 1;
  flex-direction: column;
  column-gap: 0;
  justify-content: center;
}

@media screen and (max-width: 1023px) {
  .news-box .news-list ul li .info-cat {
    /*display: block;*/
    width: max-content;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .news-box .news-list ul li :is(.nolink, a) {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5em;
  }
  .news-box .news-list ul li :is(.nolink, a) .date-cat {
    flex-direction: row;
    width: max-content;
    max-width: 100%;
  }
  .news-box .news-list ul li :is(.nolink, a) .content {
    width: 100%;
  }
}

/* トップページ｜トーケンニュース｜ラジオボタン動作（タブ） */
.news-box input {
  display: none;
}
.news-box .tab {
  /*color: black;*/
  display: block;
}
.news-box .tab:hover {
  cursor: pointer;
}
.news-box .tabcontent {
  display: none;
}

/* トップページ｜トーケンニュース｜ラジオボタン動作（表示） */
.news-box #tabcheck0:checked ~ #tabcontent0 { display: block; }
.news-box #tabcheck1:checked ~ #tabcontent1 { display: block; }
.news-box #tabcheck2:checked ~ #tabcontent2 { display: block; }
.news-box #tabcheck3:checked ~ #tabcontent3 { display: block; }
.news-box #tabcheck4:checked ~ #tabcontent4 { display: block; }
.news-box #tabcheck5:checked ~ #tabcontent5 { display: block; }
.news-box #tabcheck6:checked ~ #tabcontent6 { display: block; }
.news-box #tabcheck7:checked ~ #tabcontent7 { display: block; }
.news-box #tabcheck8:checked ~ #tabcontent8 { display: block; }
.news-box #tabcheck9:checked ~ #tabcontent9 { display: block; }
.news-box #tabcheck10:checked ~ #tabcontent10 { display: block; }
.news-box #tabcheck11:checked ~ #tabcontent11 { display: block; }

/* トップページ｜コラム｜ラジオボタン動作（表示） */
.news-box #col_tabcheck0:checked ~ #col_tabcontent0 { display: block; }
.news-box #col_tabcheck1:checked ~ #col_tabcontent1 { display: block; }
.news-box #col_tabcheck2:checked ~ #col_tabcontent2 { display: block; }
.news-box #col_tabcheck3:checked ~ #col_tabcontent3 { display: block; }
.news-box #col_tabcheck4:checked ~ #col_tabcontent4 { display: block; }
.news-box #col_tabcheck5:checked ~ #col_tabcontent5 { display: block; }
.news-box #col_tabcheck6:checked ~ #col_tabcontent6 { display: block; }
.news-box #col_tabcheck7:checked ~ #col_tabcontent7 { display: block; }
.news-box #col_tabcheck8:checked ~ #col_tabcontent8 { display: block; }
.news-box #col_tabcheck9:checked ~ #col_tabcontent9 { display: block; }
.news-box #col_tabcheck10:checked ~ #col_tabcontent10 { display: block; }
.news-box #col_tabcheck11:checked ~ #col_tabcontent11 { display: block; }

@media screen and (max-width: 1023px) {
  .news-box {
    flex-direction: column;
    gap: 2.0em;
  }
  .news-box .news-tab {
    display: flex;
    /*gap: 3.0em;*/
    gap: 1.0em 3.0em;
  }
  .news-box .news-title,
  .news-box .news-tab-list {
    flex-grow: 0;
    width: max-content;
  }
  .news-box .news-content,
  .news-box .column-content {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* トップページ｜コラム */
.news-box .column-content {
  position: relative;
  display: block;
  /*background: var(--color-lightgray);*/
  /*background: var(--color-lightblue);*/
  background: transparent;
  /*padding: 1.0em 2.0em 1.5em;*/
  padding: 0;
}

.news-box .column-content .column-title {
  position: relative;
  display: block;
}
.news-box .column-content .column-title h2 {
  display: block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--color-clearblue);
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.news-box .column-content .column-title h2 span {
  display: block;
  width: max-content;
  overflow: hidden;
}
.news-box .column-content .column-title p {
  display: block;
  /*font-weight: 500;*/
  letter-spacing: 0.1em;
  color: var(--color-gray);
  width: 100%;
  margin-top: 0;
}

.news-box .column-content .column-list {
  position: relative;
  display: block;
  width: 100%;
}
.news-box .column-content .column-list ul {
  position: relative;
  display: block;
  width: 100%;
  list-style-type: none;
  padding: 0!important;
  margin: 0!important;
}
.news-box .column-content .column-list ul li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  padding: 0!important;
}
.news-box .column-content .column-list ul li a {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  text-decoration: none;
  background: var(--color-lightgray);
  transition: 0.2s;
}
.news-box .column-content .column-list ul li a:hover {
  /*opacity: 0.8;*/
  background: var(--color-lightblue);
  transition: 0.2s;
}

.news-box .column-content .column-list .list-block {
  flex-grow: 1;
  position: relative;
  display: flex;
  gap: 0;
  /*background: var(--color-white);*/
  /*background: #F4F4F4;*/
  /*border-radius: 0.5em;*/
  border-radius: 0;
}
.news-box .column-content .column-list .list-block .list-block-image {
  flex-grow: 0;
  position: relative;
  /*display: flex;*/
  display: none;
  width: 100%;
  max-width: 150px;
  padding-top: calc(150px * 2 / 3);
}
.news-box .column-content .column-list .list-block .list-block-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5em 0 0 0.5em;
}
.news-box .column-content .column-list .list-block .list-block-text {
  flex-grow: 1;
  position: relative;
  display: flex;
  /*flex-direction: column;*/
  flex-direction: row;
  align-items: center;
  /*gap: 0.5em;*/
  gap: 1.0em;
  width: 100%;
  padding: 1.0em 1.5em;
  margin: 0;
}
.news-box .column-content .column-list .list-block .list-block-text p {
  position: relative;
  display: block;
  margin: 0;
  line-height: 1.5;
}
.news-box .column-content .column-list .list-block .list-block-text .term {
  flex-grow: 0;
}
.news-box .column-content .column-list .list-block .list-block-text .term span {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  /*min-width: 7.5em;*/
  min-width: 10.0em;
  color: var(--color-white);
  /*padding: 0.2em 0.5em 0.1em;*/
  padding: 0.3em 0.5em 0.1em;
  /*border-radius: 0.25em;*/
  border-radius: 0;
  /*font-weight: 600;*/
  font-size: 0.8em;
}
.news-box .column-content .column-list .list-block .list-block-text .term .chairman {
  /*background: #7B3783;*/
  background: var(--color-deepblue);
}
.news-box .column-content .column-list .list-block .list-block-text .term .president {
  background: #FB8A2D;
}
.news-box .column-content .column-list .list-block .list-block-text .term .blog {
  background: #4E9319;
}
.news-box .column-content .column-list .list-block .list-block-text .title {
  flex-grow: 1;
  /*font-weight: 500;*/
  /*font-size: 1.0em;*/
  font-size: 0.9em;
  /*text-align: left;*/
  color: var(--color-black);
}
.news-box .column-content .column-list .list-block .list-block-text .date {
  flex-grow: 0;
  font-weight: 400;
  font-size: 0.85em;
  /*text-align: right;*/
  color: var(--color-black);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .news-box .column-content {
    /*padding: 1.0em 1.5em 1.5em;*/
  }
}
@media screen and (max-width: 567px) {
  .news-box .column-content .column-list .list-block .list-block-text {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.5em;
  }
  .news-box .column-content .column-list .list-block .list-block-text .term {
    width: max-content;
  }
  .news-box .column-content .column-list .list-block .list-block-text .title {
    width: 100%;
  }
  .news-box .column-content .column-list .list-block .list-block-text .date {
    width: max-content;
  }
}

/* トップページ｜ニュース・コラム（タブ切り替え） */
.top_tab_news-column {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.5em;
  width: 100%;
}
.top_tab_news-column > label {
  flex-grow: 0;
  flex-shrink: 1;
  order: -1;
  min-width: 10.0em;
  padding: 0.75em 1.0em 0.6em;
  border-radius: 0.25em 0.25em 0 0;
  color: var(--color-white);
  /*font-size: 0.9em;*/
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
  user-select: none;
  /*background-color: var(--color-clearblue);*/
  background-color: var(--color-dimgray);
  opacity: 0.5;
  transition: 0.15s;
}
.top_tab_news-column > label span {
  display: block;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  padding-left: 0.1em;
}
.top_tab_news-column > label:hover {
  /*background-color: var(--color-clearblue);*/
  background-color: var(--color-deepblue);
  opacity: 0.8;
  transition: 0.15s;
}

.top_tab_news-column input {
  display: none;
}
.top_tab_news-column > div {
  display: none;
  width: 100%;
  padding: 0;
  padding-top: 2.0em;
  border: 0;
  /*border-top: 1px solid var(--color-clearblue);*/
  border-top: 1px solid var(--color-deepblue);
}
.top_tab_news-column label:has(:checked) {
  /*background-color: var(--color-clearblue);*/
  background-color: var(--color-deepblue);
  opacity: 1.0;
  transition: 0.15s;
}
.top_tab_news-column label:has(:checked) + div {
  display: block;
}


/* トップページ｜コラム（top_column.php） */
/* ※コラムはニュースに統合、こちらは使用しない */
/*
.top_column {
  display: block;
  position: relative;
  overflow: hidden;
}
.top_column .container {
  position: relative;
}
.top_column .container::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 500;
  font-size: calc(100vw / 9);
  line-height: 1.0;
  color: var(--color-brightgray);
  content: 'COLUMN';
  transform: translate(0, -20%);
}
.top_column .column_content {
  display: block;
  position: relative;
}

.top_column .column_content .column_content_body {
  display: block;
  position: relative;
}
.top_column .column_content .column_content_body h2 {
  display: block;
  position: relative;
  width: 100%;
  font-weight: 600;
  font-size: 1.4em;
  line-height: 1.5;
  color: var(--color-clearblue);
}
.top_column .column_content .column_content_body h2::before {
  display: inline-block;
  position: relative;
  content: '';
  width: 2.0em;
  border-top: none;
  border-left: none;
  border-right: none;
  border-top: 1px solid;
  margin-right: 0.25em;
  transform: translate(0, -0.4em);
}

.top_column .column_content_body_frame {
  position: relative;
  display: block;
}
.top_column .column_content_body_frame .column_main {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.top_column .column_content_body_frame .column_main_head {
  flex-grow: 0;
}
.top_column .column_content_body_frame .column_main_head p {
  display: block;
  width: 100%;
  line-height: 1.5;
  color: var(--color-clearblue);
  border-top: none;
  border-left: 2px solid;
  border-right: none;
  border-bottom: none;
}
.top_column .column_content_body_frame .column_main_head p .description {
  display: block;
  font-weight: 500;
  font-size: 0.9em;
}
.top_column .column_content_body_frame .column_main_head p .title {
  display: block;
  font-weight: 600;
  font-size: 1.3em;
}
.top_column .column_content_body_frame .column_main_post {
  flex-grow: 1;
  display: block;
  width: 100%;
}
.top_column .column_content_body_frame .column_main_button {
  flex-grow: 0;
  display: block;
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .top_column .container::before {
    font-size: calc(100vw / 7);
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.top_column .tile-list .pure-g > div {
  padding: 0 1.0em 2.0em;
}
*/


/* トップページ｜ページ遷移（バナー） */
.top_transition {
  position: relative;
  display: block;
  width: 100%;
}

.top_transition .top_transition_bnr {
  position: relative;
  display: flex;
  gap: 2.0em;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
}
.top_transition .top_transition_bnr .grp_transition {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: calc((100% - 2.0em * 1) / 2);
}
.top_transition .top_transition_bnr .grp_transition a {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-top: calc(100% * 1 / 4);
}
.top_transition .top_transition_bnr .grp_transition a img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_transition .top_transition_bnr .grp_transition {
    max-width: calc((100% - 2.0em * 0) / 1);
  }
}
@media screen and (max-width: 567px) {}


/* トップページ｜PICK UP */
.top_pickup {
  position: relative;
  display: block;
  width: 100%;
}
.top_pickup .pickup_frame {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.0em;
  padding: 3.0em 2.0em 4.0em;
  color: var(--color-white);
  /*background: var(--color-black);*/
  background: linear-gradient(to bottom, var(--color-deepblue), var(--color-magnusblue));
}

.top_pickup .pickup_frame .pickup-content-title {
  /*flex-grow: 0;*/
  flex-grow: 1;
}
.top_pickup .pickup_frame .pickup-content-body {
  flex-grow: 1;
}
.top_pickup .pickup_frame .pickup-content-title {
  position: relative;
  display: flex;
  /*flex-direction: column;*/
  flex-direction: row;
  gap: 1.0em;
  /*justify-content: center;*/
  justify-content: flex-start;
  /*align-items: center;*/
  align-items: flex-end;
  /*padding: 0 5.0em;*/
  padding: 0;
  border: none;
  /*border-right: 1px solid var(--color-white);*/
}
.top_pickup .pickup_frame .pickup-content-title h2 {
  position: relative;
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  /*width: 100%;*/
  width: max-content;
  max-width: 100%;
  line-height: 1.2;
  margin: 0;
  /*overflow: hidden;*/
}
.top_pickup .pickup_frame .pickup-content-title h2 span {
  position: relative;
  display: inline-block;
  width: max-content;
  transform: translate(0, 0.1em);
  /*overflow: hidden;*/
}
.top_pickup .pickup_frame .pickup-content-title p {
  position: relative;
  display: inline-block;
  /*font-weight: 500;*/
  font-size: 0.8em;
  letter-spacing: 0.1em;
  /*width: 100%;*/
  width: max-content;
  max-width: 100%;
  /*margin-top: 0;*/
  margin: 0;
}

.top_pickup .pickup_frame .pickup-content-body {
  position: relative;
  /*display: block;*/
  display: flex;
  flex-direction: row;
  /*gap: 2.0em;*/
  gap: 1.0em;
  /*padding: 0 5.0em;*/
  padding: 0;
}

.top_pickup .pickup_fix {
  position: relative;
  display: block;
  /*width: 100%;*/
  width: 28.5%;
  /*margin-bottom: 2.0em;*/
}
.top_pickup .pickup_fix a {
  position: relative;
  display: block;
  /*width: fit-content;*/
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.top_pickup .pickup_fix a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_pickup .pickup_fix a img {
  position: relative;
  display: block;
  width: 100%;
  /*max-width: 500px;*/
  user-select: none;
}

.top_pickup .main-carousel_pickup {
  position: relative;
  display: block;
  /*width: 100%;*/
  width: 71.5%;
  /*overflow: hidden;*/
}
.top_pickup .main-carousel_pickup .carousel-cell_pickup {
  position: relative;
  /*width: calc(100% / 3);*/
  /*width: calc(100% / 2);*/
  width: calc((100% - 2.0em) / 3);
  max-width: 100%;
  /*padding-top: calc((100% / 3) * 168 / 640);*/
  /*padding-top: calc((100% / 2) * 168 / 640);*/
  padding-top: calc(((100% - 2.0em) / 3) * 168 / 640);
  margin: 0;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.top_pickup .main-carousel_pickup .carousel-cell_pickup img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
}

@media screen and (max-width: 1023px) {
  /*
  .top_pickup .pickup_frame .pickup-content-title {
    padding: 0 3.0em;
  }
  .top_pickup .pickup_frame .pickup-content-body {
    padding: 0 3.0em;
  }
  */
}
@media screen and (max-width: 767px) {
  .top_pickup .pickup_frame {
    /*display: block;*/
    /*gap: initial;*/
  }

  /*
  .top_pickup .pickup_frame .pickup-content-title {
    display: flex;
    gap: 1.0em;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: max-content;
    max-width: 100%;
  }
  .top_pickup .pickup_frame .pickup-content-title :is(h2, p) {
    flex-grow: 0;
  }
  */

  .top_pickup .pickup_frame .pickup-content-body {
    flex-direction: column;
  }

  .top_pickup .pickup_fix,
  .top_pickup .main-carousel_pickup {
    width: 100%;
  }

  .top_pickup .pickup_frame .pickup-content-title {
    /*display: block;*/
    /*width: 100%;*/
    /*padding: 0 2.0em;*/
    /*border-right: none;*/
  }
  .top_pickup .pickup_frame .pickup-content-body {
    /*width: 100%;*/
    /*margin-top: 1.0em;*/
    /*min-height: 70px;*/
    /*padding: 0 2.0em;*/
  }
}
@media screen and (max-width: 567px) {}

@media screen and (max-width: 1023px) {
  /*
  .top_pickup .main-carousel_pickup .carousel-cell_pickup {
    width: calc(100% / 2);
    padding-top: calc((100% / 2) * 168 / 640);
  }
  */
}
@media screen and (max-width: 767px) {
  .top_pickup .main-carousel_pickup .carousel-cell_pickup {
    width: calc(100% / 2);
    padding-top: calc((100% / 2) * 168 / 640);
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 567px) {
  .top_pickup .main-carousel_pickup .carousel-cell_pickup {
    width: calc(100% / 1 * 0.9);
    padding-top: calc((100% / 1 * 0.9) * 168 / 640);
  }
}

/* トップページ｜PICK UP（position dots in carousel） */
.top_pickup .main-carousel_pickup .flickity-page-dots {
  /*position: relative;*/
  position: relative;
  /*top: 0;*/
  /*right: 0;*/
  /*transform: translate(0, -100%);*/
  /*display: none;*/
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
  margin: 0;
  /*margin-top: 1.0em;*/
}
.top_pickup .main-carousel_pickup .flickity-page-dots .dot {
  display: block;
  /*width: 12px;*/
  width: 10px;
  /*height: 12px;*/
  height: 10px;
  /*border-radius: 50%;*/
  border-radius: 0;
  /*background: var(--color-lightblue);*/
  /*background: var(--color-gray);*/
  background: var(--color-silvergray);
  /*border: 1px solid var(--color-lightblue);*/
  border: none;
  margin: 0!important;
}
.top_pickup .main-carousel_pickup .flickity-page-dots .dot.is-selected {
  /*background: var(--color-clearblue);*/
  background: var(--color-white);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_pickup .main-carousel_pickup .flickity-page-dots {
    /*
    position: relative;
    top: initial;
    right: initial;
    transform: translate(0, 0);
    padding-left: 0!important;
    margin-top: 1.5em;
    */
    justify-content: center;
    /*margin-top: 1.0em;*/
  }
}
@media screen and (max-width: 567px) {
  .top_pickup .main-carousel_pickup .flickity-page-dots {
    gap: 1.5em;
    margin-top: 2.0em;
  }
  .top_pickup .main-carousel_pickup .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}

/* トップページ｜PICK UP */
/*
.top_pickup {
  position: relative;
  display: block;
  width: 100%;
}
.top_pickup .pickup_frame {
  position: relative;
  display: flex;
  gap: 0;
  padding: 2.0em 0;
}

.top_pickup .pickup_frame .pickup-content-title {
  flex-grow: 0;
}
.top_pickup .pickup_frame .pickup-content-body {
  flex-grow: 1;
}
.top_pickup .pickup_frame .pickup-content-title {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 5.0em;
  border: none;
  border-right: 1px solid var(--color-white);
}
.top_pickup .pickup_frame .pickup-content-title h2 {
  position: relative;
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
}
.top_pickup .pickup_frame .pickup-content-title h2 span {
  position: relative;
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_pickup .pickup_frame .pickup-content-title p {
  position: relative;
  display: inline-block;
  letter-spacing: 0.1em;
  width: 100%;
  margin-top: 0;
}

.top_pickup .pickup_frame .pickup-content-body {
  position: relative;
  display: block;
  padding: 0 5.0em;
}

.top_pickup .pickup_fix {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 2.0em;
}
.top_pickup .pickup_fix a {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.top_pickup .pickup_fix a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_pickup .pickup_fix a img {
  position: relative;
  display: block;
  width: 100%;
}

.top_pickup .main-carousel_pickup {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
.top_pickup .main-carousel_pickup .carousel-cell_pickup {
  position: relative;
  width: calc(100% / 2);
  max-width: 100%;
  padding-top: calc((100% / 2) * 168 / 640);
}
.top_pickup .main-carousel_pickup .carousel-cell_pickup img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 1023px) {
  .top_pickup .pickup_frame .pickup-content-title {
    padding: 0 3.0em;
  }
  .top_pickup .pickup_frame .pickup-content-body {
    padding: 0 3.0em;
  }
}
@media screen and (max-width: 767px) {
  .top_pickup .pickup_frame {
    display: block;
    gap: initial;
  }

  .top_pickup .pickup_frame .pickup-content-title {
    display: flex;
    gap: 1.0em;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    width: max-content;
    max-width: 100%;
  }
  .top_pickup .pickup_frame .pickup-content-title :is(h2, p) {
    flex-grow: 0;
  }

  .top_pickup .pickup_frame .pickup-content-title {
    padding: 0 2.0em;
    border-right: none;
  }
  .top_pickup .pickup_frame .pickup-content-body {
    width: 100%;
    margin-top: 1.0em;
    min-height: 70px;
    padding: 0 2.0em;
  }
}
@media screen and (max-width: 567px) {}

@media screen and (max-width: 1023px) {
  .top_pickup .main-carousel_pickup .carousel-cell_pickup {
    width: calc(100% / 2);
    padding-top: calc((100% / 2) * 168 / 640);
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_pickup .main-carousel_pickup .carousel-cell_pickup {
    width: calc(100% / 1 * 0.9);
    padding-top: calc((100% / 1 * 0.9) * 168 / 640);
  }
}
*/

/* トップページ｜PICK UP（position dots in carousel） */
/*
.top_pickup .main-carousel_pickup .flickity-page-dots {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
  margin-top: 1.5em;
}
.top_pickup .main-carousel_pickup .flickity-page-dots .dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 0;
  background: var(--color-gray);
  border: none;
  margin: 0!important;
}
.top_pickup .main-carousel_pickup .flickity-page-dots .dot.is-selected {
  background: var(--color-white);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_pickup .main-carousel_pickup .flickity-page-dots {
    gap: 1.5em;
    margin-top: 2.0em;
  }
  .top_pickup .main-carousel_pickup .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}
*/

/* トップページ｜めざす道・信頼・事業（top_ours.php） */
.top_ours {
  position: relative;
  display: block;
}
.top_ours,
.top_ours * {
  /*overflow: hidden;*/
}

.top_ours .top_ours-tile {
  position: relative;
  display: block;
}
.top_ours .top_ours-tile > .pure-g {
  position: relative;
  width: calc(100% + (0.5em * 2));
  margin: 0 -0.5em;
}
.top_ours .top_ours-tile > .pure-g > div {
  display: flex;
  padding: 0.5em;
}

.top_ours .top_ours-tile a {
  flex-grow: 1;
  display: flex;
  position: relative;
  text-decoration: none;
  padding: 0;
  opacity: 1.0;
  transition: 0.2s;
}
.top_ours .top_ours-tile a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_ours .top_ours-tile a .tile_content {
  flex-grow: 1;
  display: flex;
  /*padding: 2.0em;*/
  padding: 3.0em 2.0em 2.0em;
  position: relative;
  width: 100%;
  /*border-radius: 1.0em;*/
  border-radius: 0;
}
.top_ours .top_ours-tile a .tile_content > .pure-g {
  position: relative;
  width: 100%;
}
.top_ours .top_ours-tile a .tile_content > .pure-g > div {
  flex-grow: 1;
  display: flex;
  padding: 0
}
.top_ours .top_ours-tile .tile_content-title,
.top_ours .top_ours-tile .tile_content-image {
  flex-grow: 1;
}

.top_ours .top_ours-tile .tile_content-title {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: 1.0em;
}
.top_ours .top_ours-tile .tile_content-title h2 {
  /*display: inline-block;*/
  display: block;
  /*font-size: 2.2em;*/
  font-size: 1.9em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_ours .top_ours-tile .tile_content-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_ours .top_ours-tile .tile_content-title p {
  /*display: inline-block;*/
  display: block;
  /*font-weight: 500;*/
  font-size: 0.8em;
  letter-spacing: 0.1em;
  text-align: left;
  width: 100%;
  margin-top: 0;
}

.top_ours .top_ours-tile .tile_content-image {
  position: relative;
  display: block;
  width: 100%;
}
.top_ours .top_ours-tile .tile_content-image .image {
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  margin-bottom: 2.0em;
}
.top_ours .top_ours-tile .tile_content-image .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: 50% 0%;
}
.top_ours .top_ours-tile .tile_content-image .image.contain img {
  object-fit: contain;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
}

.top_ours .top_ours-tile a .tile_content-image .image img {
  user-select: none;
  /*transform: scale(93%);*/
  transform: scale(100%);
  transition: 0.2s;
}
.top_ours .top_ours-tile a:hover .tile_content-image .image img {
  /*transform: scale(100%);*/
  /*transform: scale(107%);*/
  transform: scale(111%);
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {
  .top_ours .top_ours-tile .tile_content-title p {
    margin-bottom: 1.0em;
  }
  .top_ours .top_ours-tile .tile_content-title h2 {
    font-size: 1.8em;
  }
}
@media screen and (max-width: 767px) {
  .top_ours .top_ours-tile .tile_content-title h2 {
    font-size: 2.2em;
  }
}
@media screen and (max-width: 567px) {
  .top_ours .top_ours-tile a .tile_content-image .image img {
    transform: scale(100%);
  }
}

/* トップページ｜わたしたちの ミッション・強み・事業（top_ours.php） */
/*
.top_ours {
  position: relative;
  display: block;
}
.top_ours,
.top_ours * {
  overflow: hidden;
}
.top_ours a {
  position: relative;
  display: block;
  text-decoration: none;
}
.top_ours .ours-content {
  opacity: 1.0;
  transition: 0.2s;
}
.top_ours .ours-content:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.top_ours .ours-content .ours-content-title .ours-image img {
  transform: scale(93%);
  transition: 0.2s;
}
.top_ours .ours-content:hover .ours-content-title .ours-image img {
  transform: scale(100%);
  transition: 0.2s;
}

.top_ours .ours-content {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 1.0em;
}
.top_ours .ours-content .pure-g {
  position: relative;
  width: 100%;
  margin: 0;
}
.top_ours .ours-content .pure-g > div {
  display: flex;
  padding: 0;
}
.top_ours .ours-content-title,
.top_ours .ours-content-text {
  flex-grow: 1;
}
.top_ours .ours-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_ours .ours-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_ours .ours-content-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_ours .ours-content-title p {
  display: inline-block;
  font-weight: 500;
  width: 100%;
  margin-top: 0;
  margin-bottom: -2.0em;
}
.top_ours .ours-content-title .ours-image {
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.top_ours .ours-content-title .ours-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: 50% 0%;
}
.top_ours .ours-content-title .ours-image img.contain {
  object-fit: contain;
  object-position: 50% 50%;
  width: 100%;
  height: 100%;
}
.top_ours .ours-content-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_ours .ours-content-text h3 {
  font-size: 1.2em;
  font-weight: 600;
  width: 100%;
}
.top_ours .ours-content-text p {
  font-weight: 500;
  width: 100%;
}
.top_ours .ours-content-text p.topic span {
  display: block;
  width: 100%;
  font-weight: 600;
  color: var(--color-clearblue);
  background: var(--color-white);
  padding: 0.5em 1.0em 0.3em;
  margin: 0.5em 0;
  border-radius: 0.5em;
}

@media screen and (max-width: 1023px) {
  .top_ours .ours-content-title p {
    margin-bottom: 1.0em;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_ours .ours-content .ours-content-title .ours-image img {
    transform: scale(100%);
  }
}
*/

/* トップページ｜施工事例 */
.top_works {
  position: relative;
  display: block;
}

.top_works .works-content-title {
  display: flex;
  gap: 1.0em;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
}
.top_works .works-content-title :is(h2, p) {
  flex-grow: 0;
}
.top_works .works-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--color-clearblue);
  line-height: 1.2;
}
.top_works .works-content-title h2 span {
  display: inline-block;
  width: max-content;
}
.top_works .works-content-title p {
  display: inline-block;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  color: var(--color-gray);
  margin-top: 0;
}

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

.top_works .main-carousel_works {
  position: relative;
  width: 100%;
}
.top_works .main-carousel_works .carousel-cell_works {
  width: 350px;
  max-width: 100%;
  /*min-height: 450px;*/
}

.top_works .main-carousel_works .carousel-cell_works {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_works .main-carousel_works .carousel-cell_works {
    /*min-height: 400px;*/
  }
}
@media screen and (max-width: 567px) {}

.top_works .main-carousel_works .carousel-cell_works .case-min {
  flex-grow: 1;
}
.top_works .main-carousel_works .carousel-cell_works .edit {
  flex-grow: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case-min {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  border-left: none;
  padding: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a,
.top_works .main-carousel_works .carousel-cell_works .case-min a * {
  text-decoration: none;
}

.top_works .main-carousel_works .carousel-cell_works .case-min a .image {
  flex-grow: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a .text {
  flex-grow: 1;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.top_works .main-carousel_works .carousel-cell_works .case-min a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.top_works .main-carousel_works .carousel-cell_works .case-min a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  padding: 0 1.0em 0.5em;
  margin: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a .text p {
  position: relative;
  display: block;
  font-weight: 500;
  text-align: left;
  width: 100%;
  margin: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case-min a .text .case-content {
  flex-grow: 0;
  color: var(--color-black);
  min-height: 4.0em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_works .main-carousel_works .carousel-cell_works .case-min a .text {
    padding: 0 0.5em 0.5em;
  }
}

/*
.top_works {
  position: relative;
  display: block;
}

.top_works .works-content-title {
  display: flex;
  gap: 1.0em;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
}
.top_works .works-content-title :is(h2, p) {
  flex-grow: 0;
}
.top_works .works-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--color-clearblue);
  line-height: 1.2;
}
.top_works .works-content-title h2 span {
  display: inline-block;
  width: max-content;
}
.top_works .works-content-title p {
  display: inline-block;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  color: var(--color-gray);
  margin-top: 0;
}

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

.top_works .main-carousel_works {
  position: relative;
  width: 100%;
}
.top_works .main-carousel_works .carousel-cell_works {
  width: 350px;
  max-width: 100%;
  min-height: 450px;
}

.top_works .main-carousel_works .carousel-cell_works {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_works .main-carousel_works .carousel-cell_works {
    min-height: 400px;
  }
}
@media screen and (max-width: 567px) {}

.top_works .main-carousel_works .carousel-cell_works .case {
  flex-grow: 1;
}
.top_works .main-carousel_works .carousel-cell_works .edit {
  flex-grow: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.top_works .main-carousel_works .carousel-cell_works .case a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  border-left: none;
  padding: 0 2.0em 2.0em;
}
.top_works .main-carousel_works .carousel-cell_works .case a,
.top_works .main-carousel_works .carousel-cell_works .case a * {
  text-decoration: none;
}

.top_works .main-carousel_works .carousel-cell_works .case a .purpose,
.top_works .main-carousel_works .carousel-cell_works .case a .image,
.top_works .main-carousel_works .carousel-cell_works .case a .button {
  flex-grow: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text {
  flex-grow: 1;
}
.top_works .main-carousel_works .carousel-cell_works .case a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.top_works .main-carousel_works .carousel-cell_works .case a .purpose {
  display: block;
  position: relative;
  width: calc(100% + 4.0em);
  margin: 0 -2.0em 1.5em;
}
.top_works .main-carousel_works .carousel-cell_works .case a .purpose .case-term {
  display: block;
  position: relative;
  font-weight: 400;
  font-size: 0.8em;
  text-align: center;
  line-height: 1.5;
  color: var(--color-white);
  width: fit-content;
  min-width: 10.0em;
  max-width: 100%;
  background: var(--color-clearblue);
  padding: 0.3em 0.5em 0.2em;
  margin-left: auto;
  margin-right: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case a .purpose .case-term span {
  display: inline-block;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}
.top_works .main-carousel_works .carousel-cell_works .case a .purpose .case-term span::after {
  display: inline-block;
  position: relative;
  content: '｜';
}
.top_works .main-carousel_works .carousel-cell_works .case a .purpose .case-term span:last-child {}
.top_works .main-carousel_works .carousel-cell_works .case a .purpose .case-term span:last-child::after {
  display: none;
}

.top_works .main-carousel_works .carousel-cell_works .case a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.top_works .main-carousel_works .carousel-cell_works .case a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  margin: 0.5em 0;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text p {
  position: relative;
  display: block;
  font-weight: 500;
  text-align: left;
  width: 100%;
  margin: 0;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-content {
  flex-grow: 0;
  color: var(--color-black);
  min-height: 4.5em;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail {
  flex-grow: 1;
  font-size: 0.9em;
  color: var(--color-clearblue);
}

.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail .case-business,
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail .case-structure {
  display: inline;
  width: fit-content;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail .case-business::before,
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail .case-business::after {
  position: relative;
  display: inline-block;
  content: '';
  width: 0.25em;
  height: 1.0em;
  border-top: 1px solid;
  border-bottom: 1px solid;
  transform: translate(0, 0.1em);
}
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail  .case-business::before {
  border-left: 1px solid;
  border-right: none;
  margin-right: 0.25em;
}
.top_works .main-carousel_works .carousel-cell_works .case a .text .case-detail  .case-business::after {
  border-left: none;
  border-right: 1px solid;
  margin-left: 0.25em;
  margin-right: 0.5em;
}

.top_works .main-carousel_works .carousel-cell_works .case a .button {
  position: relative;
  display: block;
  width: 100%;
}
.top_works .main-carousel_works .carousel-cell_works .case a .button img {
  position: relative;
  display: block;
  width: 40px;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_works .main-carousel_works .carousel-cell_works .case a {
    padding: 0 1.0em 1.0em;
  }
  .top_works .main-carousel_works .carousel-cell_works .case a .purpose {
    width: calc(100% + 2.0em);
    margin: 0 -1.0em 0.5em;
  }
  .top_works .main-carousel_works .carousel-cell_works .case a .button img {
    width: 30px;
  }
}
*/

/* トップページ｜施工事例（position dots in carousel） */
.top_works .main-carousel_works .flickity-page-dots {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
}
.top_works .main-carousel_works .flickity-page-dots .dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 0;
  background: var(--color-gray);
  margin: 0!important;
}
.top_works .main-carousel_works .flickity-page-dots .dot.is-selected {
  /*background: var(--color-darkgray);*/
  background: var(--color-deepblue);
}

.top_works .main-carousel_works .flickity-button.flickity-prev-next-button.previous {
  display: none;
}
.top_works .main-carousel_works .flickity-button.flickity-prev-next-button.next {
  display: none;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_works .main-carousel_works .flickity-page-dots {
    gap: 1.5em;
  }
  .top_works .main-carousel_works .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}

/* トップページ｜サステナビリティ（環境づくり） */
.top_sus {
  position: relative;
  display: block;
  /*background-image: url('../images/top_bg_env.jpg');*/
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_bg_env.jpg');*/
  /*background-size: cover;*/
  /*background-position: center;*/
  margin: 8.0em 0;
  /*transition: 0.2s;*/
  overflow: hidden;
}
/*
.top_sus:hover {
  transition: 0.2s;
}
*/
.top_sus::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  min-height: 100%;
  /* 背景画像は site-top.php で可変処理（カスタムフィールド読み込み） */
  /* background-image: url('../images/top_sus-image_27344452_l.jpg'); */
  /* background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_sus-image_27344452_l.jpg'); */
  background-size: cover;
  background-position: center;
  content: '';
  transition: 0.4s;
}
.top_sus:hover::before {
  width: 107%;
  min-height: 107%;
  transition: 0.4s;
}

.top_sus,
.top_sus * {
  font-family: "IBM Plex Sans JP", serif;
  font-style: normal;
  color: var(--color-white);
  overflow-x: hidden;
}
.top_sus .sus-bgfilter {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-black);
  opacity: 0.1;
  transition: 0.2s;
}
.top_sus:hover .sus-bgfilter {
  opacity: 0.5;
  transition: 0.2s;
}

.top_sus a {
  position: relative;
  display: block;
  text-decoration: none;
}
.top_sus .sus-content {
  width: calc(100% + 2.0em);
  padding: 0;
  margin: 0 -1.0em;
}
.top_sus .sus-content .pure-g {
  position: relative;
  width: 100%;
}
.top_sus .sus-content .pure-g > div {
  display: flex;
  padding: 1.0em;
}
.top_sus .sus-content-title,
.top_sus .sus-content-text {
  flex-grow: 1;
  min-height: 35vh;
}
.top_sus .sus-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_sus .sus-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_sus .sus-content-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_sus .sus-content-title p {
  display: inline-block;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  width: 100%;
  margin-top: 0;
}
.top_sus .sus-content-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_sus .sus-content-text h3 {
  font-size: 1.2em;
  font-weight: 600;
  width: 100%;
}
.top_sus .sus-content-text p {
  font-weight: 500;
  width: 100%;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_sus {
    background-position: left center;
  }
  .top_sus .sus-content-title,
  .top_sus .sus-content-text {
    min-height: 15vh;
  }
}
@media screen and (max-width: 567px) {}

/* トップページ｜環境づくりへの取り組み */
/* ※.top_sus を使用、.top_env は使用しない */
.top_env {
  position: relative;
  display: block;
  background-image: url('../images/top_bg_env.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_bg_env.jpg');*/
  background-size: cover;
  background-position: center;
  margin: 8.0em 0;
  opacity: 1.0;
  transition: 0.2s;
}
.top_env:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_env,
.top_env * {
  color: var(--color-white);
  overflow-x: hidden;
}
.top_env a {
  position: relative;
  display: block;
  text-decoration: none;
}
.top_env .env-content {
  width: calc(100% + 2.0em);
  padding: 0;
  margin: 0 -1.0em;
}
.top_env .env-content .pure-g {
  position: relative;
  width: 100%;
}
.top_env .env-content .pure-g > div {
  display: flex;
  padding: 1.0em;
}
.top_env .env-content-title,
.top_env .env-content-text {
  flex-grow: 1;
}
.top_env .env-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_env .env-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_env .env-content-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_env .env-content-title p {
  display: inline-block;
  /*font-weight: 500;*/
  letter-spacing: 0.1em;
  width: 100%;
  margin-top: 0;
}
.top_env .env-content-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_env .env-content-text h3 {
  font-size: 1.2em;
  font-weight: 600;
  width: 100%;
}
.top_env .env-content-text p {
  font-weight: 500;
  width: 100%;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_env {
    background-position: left center;
  }
}
@media screen and (max-width: 567px) {}

/* トップページ｜採用情報（バナー） */
.top_recruit-bnr {
  position: relative;
  display: block;
  width: 100%;
  margin: 8.0em 0;
}
.top_recruit-bnr,
.top_recruit-bnr * {
  color: var(--color-white);
}
.top_recruit-bnr a {
  position: relative;
  display: block;
  text-decoration: none;
  opacity: 1.0;
  transition: 0.2s;
}
.top_recruit-bnr a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.top_recruit-bnr .entry-content,
.top_recruit-bnr .entry-content a {
  position: relative;
  display: flex;
}
.top_recruit-bnr .entry-content a .container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 0;
  width: 100%;
}
.top_recruit-bnr .container :is(.rec_bnr-left, .rec_bnr-right) {
  flex-grow: 1;
  width: 50%;
  height: 35vh;
}

.top_recruit-bnr .rec_bnr-left {
  display: flex;
  gap: 0;
  /*flex-direction: column;*/
  flex-direction: row;
  justify-content: center;
  background-position: left bottom;
  background-image: url('../images/top_bg_rec-1.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_bg_rec-1.png');*/
}
.top_recruit-bnr .rec_bnr-left .bnr-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_recruit-bnr .rec_bnr-left :is(.bnr-title, .bnr-text) {
  flex-grow: 1;
}
.top_recruit-bnr .rec_bnr-left .bnr-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_recruit-bnr .rec_bnr-left .bnr-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_recruit-bnr .rec_bnr-left .bnr-title p {
  display: inline-block;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  width: 100%;
  margin-top: 0;
}
.top_recruit-bnr .rec_bnr-left .bnr-text {
  position: relative;
  /*display: block;*/
  display: flex;
  justify-content: flex-end;
  align-items: center;
  /*width: 100%;*/
  width: max-content;
  max-width: 100%;
}

.top_recruit-bnr .rec_bnr-right {
  position: relative;
  display: block;
  overflow: hidden;
  user-select: none;
}
.top_recruit-bnr a .rec_bnr-right img {
  display: block;
  position: absolute;
  /*top: 0;*/
  /*left: 0;*/
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
  transform: scale(100%);
  transition: 0.4s;
}
.top_recruit-bnr a:hover .rec_bnr-right img {
  transform: scale(107%);
  transition: 0.4s;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_recruit-bnr .entry-content a .container {
    display: block;
  }
  .top_recruit-bnr .container :is(.rec_bnr-left, .rec_bnr-right) {
    width: 100%;
    height: 25vh;
  }
}
@media screen and (max-width: 567px) {}

/* トップページ｜採用情報（簡易版） */
/* ※.top_recruit-bnr を使用、.top_recruit-min および .top_recruit は使用しない */
.top_recruit-min {
  position: relative;
  display: block;
  width: 100%;
  margin: 8.0em 0;
}
.top_recruit-min,
.top_recruit-min * {
  color: var(--color-white);
  overflow-x: hidden;
}
.top_recruit-min a {
  position: relative;
  display: block;
  text-decoration: none;
}
.top_recruit-min .top_recruit-bg {
  position: relative;
  display: flex;
  gap: 0;
  width: 100%;
  opacity: 1.0;
  transition: 0.2s;
}
.top_recruit-min .top_recruit-bg:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_recruit-min .top_recruit-bg > div {
  flex-grow: 1;
  background-size: cover;
  background-repeat: no-repeat;
  width: 50%;
}
.top_recruit-min .top_recruit-bg .rec-left {
  background-position: left bottom;
  background-image: url('../images/top_bg_rec-1.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_bg_rec-1.png');*/
}
.top_recruit-min .top_recruit-bg .rec-right {
  background-position: center;
  background-image: url('../images/top_bg_rec-2_022_trim.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_bg_rec-2_022_trim.jpg');*/
}
.top_recruit-min .entry-content {
  position: relative;
  display: flex;
}
.top_recruit-min .entry-content .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  width: 100%;
  max-width: calc((1100px / 2) - 1.5em);
  margin-left: auto;
  margin-right: 0;
}

.top_recruit-min .rec-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_recruit-min .rec-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_recruit-min .rec-content-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_recruit-min .rec-content-title p {
  display: inline-block;
  /*font-weight: 500;*/
  letter-spacing: 0.1em;
  width: 100%;
  margin-top: 0;
}
.top_recruit-min .rec-content-text {
  position: relative;
  display: block;
  width: 100%;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_recruit-min .top_recruit-bg {
    display: block;
  }
  .top_recruit-min .top_recruit-bg > div {
    width: 100%;
  }
  .top_recruit-min .top_recruit-bg .rec-right {
    height: calc(100vw * 2 / 3);
  }

  .top_recruit-min .entry-content .container {
    gap: 2.0em;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 567px) {}

/* トップページ｜採用情報 */
/* ※.top_recruit-bnr を使用、.top_recruit-min および .top_recruit は使用しない */
/*
.top_recruit {
  position: relative;
  display: block;
  width: 100%;
  margin: 8.0em 0;
}
.top_recruit,
.top_recruit * {
  color: var(--color-white);
  overflow-x: hidden;
}
.top_recruit a {
  position: relative;
  display: block;
  text-decoration: none;
}
.top_recruit .top_recruit-bg {
  position: relative;
  display: flex;
  gap: 0;
  width: 100%;
  opacity: 1.0;
  transition: 0.2s;
}
.top_recruit .top_recruit-bg:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.top_recruit .top_recruit-bg > div {
  flex-grow: 1;
  background-size: cover;
  background-repeat: no-repeat;
  width: 50%;
}
.top_recruit .top_recruit-bg .rec-left {
  background-position: left bottom;
  background-image: url('../images/top_bg_rec-1.png');
}
.top_recruit .top_recruit-bg .rec-right {
  background-position: center;
  background-image: url('../images/top_bg_rec-2_022_trim.jpg');
}
.top_recruit .entry-content {
  position: relative;
  display: flex;
}
.top_recruit .entry-content .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10.0em;
  width: 100%;
  max-width: calc((1100px / 2) - 1.5em);
  margin-left: auto;
  margin-right: 0;
}

.top_recruit .rec-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top_recruit .rec-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  overflow: hidden;
}
.top_recruit .rec-content-title h2 span {
  display: inline-block;
  width: max-content;
  overflow: hidden;
}
.top_recruit .rec-content-title p {
  display: inline-block;
  font-weight: 500;
  width: 100%;
  margin-top: 0;
}
.top_recruit .rec-content-text {
  display: flex;
  gap: 1.0em;
  justify-content: center;
}
.top_recruit .rec-content-text h3 {
  flex-grow: 1;
  font-size: 1.2em;
  font-weight: 600;
  letter-spacing: 0.1em;
  width: 100%;
}
.top_recruit .rec-content-text h3 span {
  display: block;
}
.top_recruit .rec-content-text p {
  flex-grow: 0;
  min-width: 60px;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_recruit .top_recruit-bg {
    display: block;
  }
  .top_recruit .top_recruit-bg > div {
    width: 100%;
  }
  .top_recruit .top_recruit-bg .rec-right {
    height: calc(100vw * 2 / 3);
  }

  .top_recruit .entry-content .container {
    gap: 2.0em;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 567px) {}
*/


/* トップページ｜採用情報ボタン（ポップアップ）（site-top.php） */
.button_recruit_popup {
  position: sticky;
  bottom: 0;
  left: 2.0em;
  transform: translate(2.0em, -2.0em);
  transform-origin: bottom left;
  display: block;
  width: fit-content;
  color: var(--color-white);
  line-height: 1.5;
  padding-bottom: 2.0em;
  opacity: 1.0;
  transition: 0.5s;
  z-index: 10;
}
.is-fixed .button_recruit_popup {
  transform: translate(0, 0);
  transition: 0.3s;
}
.button_recruit_popup a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  justify-content: center;
  background: var(--color-green);
  width: 180px;
  height: 180px;
  border-radius: 50%;
  text-decoration: none;
  user-select: none;
  transition: 0.1s;
}
.button_recruit_popup a::after {
  display: block;
  position: absolute;
  width: 100%;
  height:100%;
  border: 1px solid var(--color-white);
  border-radius: 50%;
  content: '';
  opacity: 0;
  transform: scale(100%);
  transition: 0.2s;
}
.button_recruit_popup a:hover::after {
  opacity: 0.8;
  transform: scale(93%);
  transition: 0.2s;
}

.is-fixed .button_recruit_popup a {
  width: 130px;
  height: 130px;
  transition: 0.3s;
}
.button_recruit_popup a:hover {
  transition: 0.2s;
}
.is-fixed .button_recruit_popup a:hover {}

.button_recruit_popup a span {
  flex-grow: 0;
  display: block;
  color: var(--color-white);
  transform: translate(0, 10px);
}

.button_recruit_popup a .rec-jp {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
}
.button_recruit_popup a .rec-en {
  font-size: 0.9em;
  letter-spacing: 0.2em;
  margin-right: -0.2em;
}
.button_recruit_popup a .rec-arrow {
  margin-top: 0.5em;
}
.button_recruit_popup a .rec-arrow img {
  width: 20px;
  transform: translate(0, 0);
  transition: 0.2s;
}
.button_recruit_popup a:hover .rec-arrow img {
  transform: translate(0.1em, -0.1em);
  transition: 0.2s;
}
.is-fixed .button_recruit_popup a span {}
.is-fixed .button_recruit_popup a .rec-jp {
  /*font-size: 1.3em;*/
  font-size: 1.1em;
}
.is-fixed .button_recruit_popup a .rec-en {
  font-size: 0.8em;
}
.is-fixed .button_recruit_popup a .rec-arrow {}
.is-fixed .button_recruit_popup a .rec-arrow img {
  width: 15px;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .button_recruit_popup {
    bottom: 1.0em;
    left: 1.0em;
    transform: translate(0, 0);
  }
  .button_recruit_popup a {
    width: 130px;
    height:130px;
  }
  .is-fixed .button_recruit_popup a {
    width: 110px;
    height:110px;
  }
  .is-fixed .button_recruit_popup a span {
    transform: translate(0, 10px);
  }
  .is-fixed .button_recruit_popup a .rec-jp {
    /*font-size: 1.3em;*/
    /*font-size: 1.2em;*/
    font-size: 1.1em;
  }
  .is-fixed .button_recruit_popup a .rec-en {
    font-size: 0.8em;
  }
  .button_recruit_popup a .rec-arrow img {
    width: 15px;
  }
  .is-fixed .button_recruit_popup a .rec-arrow img {
    /*width: 15px;*/
    width: 12px;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  採用情報トップ（pg_recruit_top.php）
##
############################################## */
/* 採用情報トップ｜トップイメージ */
.rec_top_header-image {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  padding-top: 80px;
}
.rec_top_header-image a {
  text-decoration: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .rec_top_header-image {
    padding-top: 60px;
  }
}

/* 採用情報トップ｜トップイメージ（スライド） */
.rec_top_slide {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.rec_top_slide .container {
  position: relative;
}
.rec_top_slide .container .rec_top_slide-main {
  position: relative;
  display: block;
  padding: 2.0em 0;
  z-index: 0;
}
.rec_top_slide .container .rec_top_slide-main::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background-image: url('../images/rec_top_hito.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/rec_top_hito.svg');*/
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
}

.rec_top_slide .main-carousel {
  position: relative;
  display: block;
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: 0;
  z-index: 1;

}
.rec_top_slide .carousel-cell {
  position: relative;
  width: 100%;
  padding-top: calc(100% * (2 / 3));
  min-height: 300px;
}
.rec_top_slide .carousel-cell img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2.0em;
  user-select: none;
}
.rec_top_slide .carousel-cell {}
.rec_top_slide .carousel-cell.is-selected {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_slide .carousel-cell {
    padding-top: calc(100% * (3 / 4));
    min-height: initial;
  }
}
@media screen and (max-width: 567px) {
  .rec_top_slide .container .rec_top_slide-main::after {
    top: auto;
    left: -0.5em;
    bottom: 0;
    width: 70%;
    height: 70%;
    background-image: url('../images/rec_top_hito-green.svg');
    /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/rec_top_hito-green.svg');*/
  }
  .rec_top_slide .carousel-cell {
    padding-top: calc(100% * (1 / 1));
    min-height: initial;
  }
}

/* 採用情報トップ｜トップイメージ（メインタイトル） */
.rec_top_slide .rec_top_main-title {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  padding: 0;
  z-index: 3;
}
.rec_top_slide .rec_top_main-title :is(h1, h2) {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  line-height: 1.3;
  text-shadow: var(--color-green) 0 0 2.0em;
}
.rec_top_slide .rec_top_main-title h1 {
  font-size: 1.05em;
  letter-spacing: 0.1em;
  margin: 0 0 0.5em!important;
  padding-left: 0.2em;
}
.rec_top_slide .rec_top_main-title h2 {
  font-size: 3.5em;
  letter-spacing: 0.1em;
  margin: 0!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_slide .rec_top_main-title {
    padding-left: 1.0em;
  }
}
@media screen and (max-width: 567px) {}

/* 採用情報トップ｜トップイメージ（エントリーボタン） */
.rec_top_slide .rec_top_main-entry {
  display: block;
  position: absolute;
  top: 1.0em;
  right: 2.0em;
  transform: translate(0, 0);
  width: fit-content;
  color: var(--color-white);
  line-height: 1.5;
  opacity: 1.0;
  transition: 0.5s;
}
.rec_top_slide .rec_top_main-entry .button_entry {
  position: relative;
  display: block;
  width: 150px;
  height:150px;
}
.rec_top_slide .rec_top_main-entry .button_entry a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--color-clearblue);
  background: var(--color-lightyellow);
  border-radius: 50%;
  transition: 0.2s;
}
.rec_top_slide .rec_top_main-entry .button_entry a:hover {
  background: var(--color-lemonyellow);
  transition: 0.2s;
}
.rec_top_slide .rec_top_main-entry .button_entry a span {
  flex-grow: 0;
  display: block;
  transform: translate(0, 10px);
}
.rec_top_slide .rec_top_main-entry .button_entry a .entry-text {
  font-weight: 500;
  font-size: 1.5em;
}
.rec_top_slide .rec_top_main-entry .button_entry a .entry-arrow {
  margin-top: 0.5em;
}
.rec_top_slide .rec_top_main-entry .button_entry a .entry-arrow img {
  width: 20px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_slide .rec_top_main-entry {
    top: initial;
    bottom: 1.0em;
    right: 1.0em;
    transform: translate(0, 0);
  }
  .rec_top_slide .rec_top_main-entry .button_entry {
    width: 120px;
    height:120px;
  }
}
@media screen and (max-width: 567px) {}

/* 採用情報トップ｜トップイメージ（SNSアイコン） */
.rec_top_slide .rec_top_main-sns {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 3.0em 2.0em;
}
.rec_top_slide .rec_top_main-sns .main-sns-icon {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  position: relative;
}
.rec_top_slide .rec_top_main-sns .main-sns-icon a {
  flex-grow: 0;
  display: block;
  position: relative;
  width: 2.0em;
}
.rec_top_slide .rec_top_main-sns .main-sns-icon a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.rec_top_slide .rec_top_main-sns .main-sns-icon a img {
  display: block;
  position: relative;
  user-select: none;
}
@media screen and (max-width: 1023px) {
  .rec_top_slide .rec_top_main-sns {
    display: block;
    position: relative;
    bottom: initial;
    right: initial;
    padding: 1.0em 0;
  }
  .rec_top_slide .rec_top_main-sns .main-sns-icon {
    flex-direction: initial;
    justify-content: center;
    gap: 1.0em;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* 採用情報トップ｜ニュース（loop-recruit_top_list.php） */
.rec_top_news {}

.rec_top_news a {
  color: var(--color-white);
  text-decoration: none;
}

.rec_top_news .news_block {
  position: relative;
  display: flex;
  gap: 3.0em;
  line-height: 1.5;
  width: 100%;
  background: var(--color-clearblue);
  border-radius: 1.0em;
  /*padding: 1.5em;*/
  padding: 1.5em 3.0em;
}
.rec_top_news .news_block .news_content,
.rec_top_news .news_block .news_arrow {
  position: relative;
  display: flex;
}
.rec_top_news .news_block .news_content {
  flex-grow: 1;
  align-items: center;
}
.rec_top_news .news_block .news_arrow {
  flex-grow: 0;
  align-items: flex-end;
}

.rec_top_news .news_block .news_content {
  width: 100%;
  gap: 0;
}
.rec_top_news .news_block .news_content .news_content_title {
  flex-grow: 0;
}
.rec_top_news .news_block .news_content .news_content_list {
  flex-grow: 1;
}
.rec_top_news .news_block .news_content .news_content_title,
.rec_top_news .news_block .news_content .news_content_list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.rec_top_news .news_block .news_content .news_content_title {
  /*padding-right: 1.5em;*/
  padding-right: 3.0em;
}
.rec_top_news .news_block .news_content .news_content_title .title-main {
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.rec_top_news .news_block .news_content .news_content_title .title-sub {
  font-size: 1.0em;
  font-weight: 500;
  margin-top: 0.25em;
}

.rec_top_news .news_block .news_content .news_content_list {
  /*padding-left: 1.5em;*/
  padding-left: 3.0em;
  border-top: none;
  border-left: 1px solid var(--color-white);
  border-right: none;
  border-bottom: none;
}
.rec_top_news .news_block .news_content .news_content_list ul {
  position: relative;
  display: block;
  list-style-type: none!important;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
}
.rec_top_news .news_block .news_content .news_content_list ul li {
  position: relative;
  display: block;
  width: 100%;
  padding: 0.5em 0!important;
  margin: 0!important;
}
.rec_top_news .news_block .news_content .news_content_list ul li a,
.rec_top_news .news_block .news_content .news_content_list ul li div {
  position: relative;
  display: block;
  width: 100%;
}
.rec_top_news .news_block .news_content .news_content_list ul li a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.rec_top_news .news_block .news_content .news_content_list ul li a span,
.rec_top_news .news_block .news_content .news_content_list ul li div span {
  position: relative;
  display: inline-block;
}
.rec_top_news .news_block .news_content .news_content_list ul li a .info-date,
.rec_top_news .news_block .news_content .news_content_list ul li div .info-date {
  font-size: 0.9em;
  font-weight: 400;
  margin-right: 1.5em;
}
.rec_top_news .news_block .news_content .news_content_list ul li a .info-content,
.rec_top_news .news_block .news_content .news_content_list ul li div .info-content {
  font-size: 1.0em;
  font-weight: 500;
}

.rec_top_news .news_block .news_arrow p {
  display: block;
  position: relative;
  width: 100%;
}
.rec_top_news .news_block .news_arrow a {
  display: block;
  position: relative;
  font-weight: 500;
  padding-right: 1.5em;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  margin-right: 0;
}
.rec_top_news .news_block .news_arrow a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
.rec_top_news .news_block .news_arrow a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-100%, -50%);
  width: 1.0em;
  height: 1.0em;
  padding: 0;
  content: url('../images/link_arrow/arr-white_plain.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg');*/
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_news .news_block {
    flex-direction: column;
    gap: 1.0em;
  }
  .rec_top_news .news_block {
    padding: 1.5em;
  }
  .rec_top_news .news_block .news_content .news_content_title {
    padding-right: 1.5em;
  }
  .rec_top_news .news_block .news_content .news_content_list {
    padding-left: 1.5em;
  }
  .rec_top_news .news_block .news_content,
  .rec_top_news .news_block .news_arrow {
    width: 100%;
  }
  .rec_top_news .news_block .news_content .news_content_list ul li {
    padding: 0.75em 0!important;
  }
  .rec_top_news .news_block .news_content .news_content_list ul li a span,
  .rec_top_news .news_block .news_content .news_content_list ul li div span {
    display: block;
    width: 100%;
  }
  .rec_top_news .news_block .news_content .news_content_list ul li a .info-date,
  .rec_top_news .news_block .news_content .news_content_list ul li div .info-date {
    margin-right: 0;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 567px) {}


/* 採用情報トップ｜メッセージ */
.rec_top_message {
  position: relative;
  display: block;
  overflow: hidden;
}
.rec_top_message .rec_top_message_bg-image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: calc(2% + (100% * 9 / 16));
  overflow: hidden;
  /*background: #8db0c6;*/
  /*background: #7db1c7;*/
}
.rec_top_message .rec_top_message_bg-image img {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  user-select: none;
}
.rec_top_message .rec_top_message_eclipse {
  position: relative;
  display: block;
  width: 100%;
  height: 10vw;
  background: var(--color-green);
  clip-path: ellipse(100% 600% at 50% -500%);
  margin: 0 0 4.0em;
}

.rec_top_message .top_message_body {
  position: relative;
  padding: 0 2.0em 2.0em;
}
.rec_top_message .top_message_body::before {
  display: block;
  position: absolute;
  top: 4.0em;
  right: 0;
  width: calc(100% + 100%);
  height: calc(100% - 4.0em);
  background: var(--color-white);
  border-radius: 0 1.0em 1.0em 0;
  content: '';
}

.rec_top_message .top_message_body .pure-g {
  position: relative;
  width: 100%;
}

.rec_top_message .top_message_body .body_image {
  position: relative;
  width: 100%;
  padding-top: calc(100% * (2 / 3));
}
.rec_top_message .top_message_body .body_image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2.0em;
  user-select: none;
}

.rec_top_message .top_message_title,
.rec_top_message .top_message_content {
  padding-right: 2.0em;
}

.rec_top_message .top_message_title {}
.rec_top_message .top_message_title .title-sub {
  display: block;
  font-size: 1.0em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--color-white);
  width: 100%;
  margin-bottom: 0;
}
.rec_top_message .top_message_title .title-main {
  display: block;
  font-size: 4.0em;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-green);
  width: 100%;
  line-height: 1.2;
  margin: 0;
}

.rec_top_message .top_message_content {}
.rec_top_message .top_message_content .content-main {
  display: block;
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-size: 2.2em;
  letter-spacing: 0.1em;
  color: var(--color-green);
  width: 100%;
  line-height: 1.5;
}
.rec_top_message .top_message_content .content-main span {
  display: inline-block;
}
.rec_top_message .top_message_content a {
  color: var(--color-black);
}
.rec_top_message .top_message_content a:hover {}
.rec_top_message .top_message_content a::after {}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_message .top_message_title,
  .rec_top_message .top_message_content {
    padding-right: 0;
  }
  .rec_top_message .top_message_content {
    padding-bottom: 2.0em;
  }
}
@media screen and (max-width: 567px) {}


/* 採用情報トップ｜会社を知る｜数字で見るトーケン */
/* 採用情報トップ｜仕事を知る｜職種紹介 */
/* 採用情報トップ｜働く環境を知る｜トーケンの福利厚生 */
.rec_top_about {
  position: relative;
  display: block;
}
.rec_top_about,
.rec_top_about * {
  overflow: hidden;
}
.rec_top_about a {
  position: relative;
  display: block;
  text-decoration: none;
}
.rec_top_about .about-content {
  opacity: 1.0;
  transition: 0.2s;
}
.rec_top_about .about-content:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.rec_top_about .about-content {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 1.0em;
}
.rec_top_about .about-content .pure-g {
  position: relative;
  width: 100%;
  margin: 0;
}
.rec_top_about .about-content .pure-g.reverse {
  flex-direction: row-reverse;
}
.rec_top_about .about-content .pure-g > div {
  display: flex;
  flex-direction: column;
  gap: 2.0em;
  padding: 0;
}
.rec_top_about .about-content-title,
.rec_top_about .about-content-text {
  flex-grow: 1;
}
.rec_top_about .about-content-arrow {
  flex-grow: 0;
}

.rec_top_about .about-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rec_top_about .about-content-title .title-sub {
  display: inline-block;
  font-size: 1.0em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  margin-bottom: 1.0em;
}
.rec_top_about .about-content-title .title-main {
  display: inline-block;
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-size: 2.2em;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
}
.rec_top_about .about-content-title .title-main span {
  display: inline-block;
  width: max-content;
  max-width: 100%;
}
.rec_top_about .about-content-title .lead {
  display: inline-block;
  font-weight: 500;
  width: 100%;
  padding: 0;
}
.rec_top_about .about-content-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.rec_top_about .about-content-arrow {
  display: block;
  padding-bottom: 2.0em;
}

.rec_top_about .link-arrow-circle img {
  width: 60px;
  max-width: 60px;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_about .about-content-arrow {
    padding-bottom: 0;
  }
  .rec_top_about .about-content .pure-g.reverse {
    flex-direction: initial;
  }
}
@media screen and (max-width: 567px) {}

/* 採用情報トップ｜会社を知る｜数字で見るトーケン */
.rec_top_about.company {}
.rec_top_about.company .about-image {
  position: relative;
  display: flex;
  gap: 1.0em;
  width: 100%;
}
.rec_top_about.company .about-image img {
  flex-grow: 1;
  position: relative;
  display: block;
  justify-content: space-between;
  width: 100%;
  user-select: none;
}

/* 採用情報トップ｜仕事を知る｜職種紹介 */
.rec_top_about.works {}
.rec_top_about.works .about-image {
  display: block;
  position: relative;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  border-radius: 1.0em;
}
.rec_top_about.works .about-image img {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  object-fit: cover;
  object-position: 50% 100%;
  width: 100%;
  height: 100%;
  user-select: none;
}

/* 採用情報トップ｜働く環境を知る｜トーケンの福利厚生 */
.rec_top_about.workplace {}
.rec_top_about.workplace .about-content-text {
  justify-content: flex-end!important;
}
.rec_top_about.workplace .about-image {
  display: block;
  position: relative;
  width: 100%;
}
.rec_top_about.workplace .about-image img {
  display: block;
  position: relative;
  width: 100%;
  user-select: none;
}


/* 採用情報トップ｜社員の声 */
.rec_personnel {
  overflow: hidden;
}
.rec_personnel .entry-content {
  position: relative;
}

/* 採用情報トップ｜社員の声（タイトル） */
.rec_personnel .personnel_title {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, -65%);
  color: var(--color-green);
}
.rec_personnel .personnel_title .title-sub {
  display: block;
  font-size: 1.0em;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: 100%;
  margin-bottom: 0;
}
.rec_personnel .personnel_title .title-main {
  display: block;
  font-size: 4.0em;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  width: 100%;
  line-height: 1.2;
  margin: 0;
}

/* 採用情報トップ｜社員の声（スライド） */
.rec_personnel .personnel_slide {
  position: relative;
  display: block;
  width: 100%;
  /*overflow: hidden;*/
  line-height: 1.5;
}
.rec_personnel .personnel_slide .main-carousel_works {
  position: relative;
  width: 100%;
}
.rec_personnel .personnel_slide .main-carousel_works .carousel-cell {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 370px;
  height: 370px;
  padding: 0 0.75em;
}

.rec_personnel .carousel-cell a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--color-green);
  border-radius: 0 0 1.5em 0;
  text-decoration: none;
}
.rec_personnel .carousel-cell a .cell-image {
  flex-grow: 0;
}
.rec_personnel .carousel-cell a .cell-text {
  flex-grow: 1;
}
.rec_personnel .carousel-cell a:hover {}

.rec_personnel .carousel-cell a .cell-image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
  overflow: hidden;
}
.rec_personnel .carousel-cell a .cell-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(100%);
  opacity: 1.0;
  transition: 0.2s;
}
.rec_personnel .carousel-cell a:hover .cell-image img {
  transform: scale(105%);
  opacity: 0.8;
  transition: 0.5s;
}
.rec_personnel .carousel-cell a .cell-image .job {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: max-content;
  padding: 0.25em 0.75em 0.1em;
  font-weight: 500;
  font-size: 0.9em;
  color: var(--color-white);
  background: var(--color-green);
}

.rec_personnel .carousel-cell a .cell-text {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  justify-content: center;
  padding: 1.0em 4.5em 1.0em 1.0em;
}
.rec_personnel .carousel-cell a .cell-text::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.0em;
  transform: translate(0, -50%);
  content: '';
  width: 2.5em;
  height: 2.5em;
  background-image: url('../images/link_arrow/arr-green_cir-tp.svg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_cir-tp.svg');*/
  background-size: contain;
  background-repeat: no-repeat;
}
.rec_personnel .carousel-cell a .cell-text .dept {
  font-weight: 500;
  font-size: 1.1em;
  color: var(--color-black);
}
.rec_personnel .carousel-cell a .cell-text .year {
  font-weight: 500;
  font-size: 0.9em;
  color: var(--color-green);
}

.rec_personnel .personnel_slide .main-carousel_works .flickity-page-dots {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
  margin-top: 2.0em;
}
.rec_personnel .personnel_slide .main-carousel_works .flickity-page-dots .dot {
  display: block;
  /*width: 12px;*/
  width: 10px;
  /*height: 12px;*/
  height: 10px;
  /*border-radius: 50%;*/
  border-radius: 0;
  /*background: var(--color-lightblue);*/
  background: var(--color-gray);
  margin: 0!important;
}
.rec_personnel .personnel_slide .main-carousel_works .flickity-page-dots .dot.is-selected {
  background: var(--color-green);
}

.rec_personnel .personnel_slide .main-carousel_works .flickity-button.flickity-prev-next-button.previous {
  display: none;
}
.rec_personnel .personnel_slide .main-carousel_works .flickity-button.flickity-prev-next-button.next {
  display: none;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .rec_personnel .personnel_slide .main-carousel_works .flickity-page-dots {
    /*gap: 1.0em;*/
    gap: 1.5em;
  }
  .rec_personnel .personnel_slide .main-carousel_works .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}

/* 採用情報トップ｜社員の声（ボタン） */
.rec_personnel .personnel_button {
  position: absolute;
  top: 100%;
  left: 0;
  transform: translate(0, -50%);
}

/* 採用情報トップ｜写真カット */
.rec_image_picture {
  position: relative;
  display: block;
  overflow: hidden;
}
.rec_image_picture .picture_box {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 110%;
  margin: 0 -5%;
}
.rec_image_picture .picture_box .image {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc((100% * 2 / 3) / 3);
}
.rec_image_picture .picture_box .image:nth-child(even) {
  transform: translate(0, 1.0em);
}
.rec_image_picture .picture_box .image:nth-child(odd) {
  transform: translate(0, -1.0em);
}
.rec_image_picture .picture_box .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .rec_image_picture .picture_box {
    gap: 0.5em;
  }
  .rec_image_picture .picture_box .image:nth-child(even) {
    transform: translate(0, 0.75em);
  }
  .rec_image_picture .picture_box .image:nth-child(odd) {
    transform: translate(0, -0.75em);
  }
}

/* 採用情報トップ｜ボタン（インターンシップ・募集要項） */
.rec_top_button {
  position: relative;
  display: flex;
}
.rec_top_button .button_wrap {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
}
.rec_top_button .button_wrap .button_body {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
}
.rec_top_button .button_wrap .button_body a {
  display: block;
  position: relative;
  text-decoration: none;
  text-align: center;
  /*font-weight: 500;*/
  line-height: 1.5;
  width: 100%;
  transition: 0.2s;
  padding: 2.0em 3.5em 2.0em 1.5em;
  margin-top: 0.5em;
  border-radius: 3.0em;
  cursor: pointer;
  user-select: none;
}
.rec_top_button .button_wrap .button_body a:hover {
  transition: 0.2s;
}
.rec_top_button .button_wrap .button_body a::after {
  display: block!important;
  position: absolute!important;
  top: 50%!important;
  right: 1.0em!important;
  transform: translate(0, -50%)!important;
  width: 1.0em!important;
  height: 1.0em!important;
  padding: 0!important;
  transition: 0.2s;
}
.rec_top_button .button_wrap .button_body.clearblue a {
  color: var(--color-white);
  background-color: var(--color-clearblue);
  border: 1px solid var(--color-clearblue);
}
.rec_top_button .button_wrap .button_body.clearblue a:hover {
  color: var(--color-clearblue);
  background-color: var(--color-white);
}
.rec_top_button .button_wrap .button_body.clearblue a::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}
.rec_top_button .button_wrap .button_body.clearblue a:hover::after {
  content: url('../images/link_arrow/arr-clearblue_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-clearblue_plain.svg')!important;*/
}
.rec_top_button .button_wrap .button_body.green a {
  color: var(--color-white);
  background-color: var(--color-green);
  border: 1px solid var(--color-green);
}
.rec_top_button .button_wrap .button_body.green a:hover {
  color: var(--color-green);
  background-color: var(--color-white);
}
.rec_top_button .button_wrap .button_body.green a::after {
  content: url('../images/link_arrow/arr-white_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_plain.svg')!important;*/
}
.rec_top_button .button_wrap .button_body.green a:hover::after {
  content: url('../images/link_arrow/arr-green_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_plain.svg')!important;*/
}
.rec_top_button .button_wrap .button_body.yellow a {
  color: var(--color-clearblue);
  background-color: var(--color-lightyellow);
  border: 1px solid var(--color-lightyellow);
}
.rec_top_button .button_wrap .button_body.yellow a:hover {
  color: var(--color-clearblue);
  background-color: var(--color-lemonyellow);
  border: 1px solid var(--color-lemonyellow);
}
.rec_top_button .button_wrap .button_body.yellow a::after {
  content: url('../images/link_arrow/arr-clearblue_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-clearblue_plain.svg')!important;*/
}
.rec_top_button .button_wrap .button_body.yellow a:hover::after {
  content: url('../images/link_arrow/arr-clearblue_plain.svg')!important;
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-clearblue_plain.svg')!important;*/
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_top_button .button_wrap {
    flex-direction: column;
  }
}
@media screen and (max-width: 567px) {}


/* 採用情報トップ｜共通部品 */
.rec_link-menu_box {
  position: relative;
  display: block;
  font-weight: 600;
  line-height: 1.5;
  width: 100%;
  border-top: 1px solid var(--color-green);
  border-left: none;
  border-right: none;
  border-bottom: 1px solid var(--color-green);
}
.rec_link-menu_box ul {
  position: relative;
  display: flex;
  gap: 0;
  list-style-type: none!important;
  width: 100%;
  padding: 1.0em 0!important;
  margin: 0!important;
}
.rec_link-menu_box ul li {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
  border-top: none;
  border-left: 1px dotted var(--color-green);
  border-right: none;
  border-bottom: none;
}
.rec_link-menu_box ul li:first-child {
  border-left: none;
}
.rec_link-menu_box ul li a {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.1em;
  text-decoration: none;
  color: var(--color-green);
  background: transparent;
  width: 100%;
  padding: 1.5em 3.5em 1.5em 1.5em;
}
.rec_link-menu_box ul li a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.0em;
  transform: translate(0, -50%);
  content: url('../images/link_arrow/arr-green_cir-tp.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-green_cir-tp.svg');*/
  width: 2.0em;
  height: 2.0em;
}
.rec_link-menu_box ul li a:hover {
  color: var(--color-white);
  background: var(--color-green);
  transition: 0.2s;
}
.rec_link-menu_box ul li a:hover::after {
  content: url('../images/link_arrow/arr-white_cir-tp.svg');
  /*content: url('<?php echo get_template_directory_uri(); ?>/images/link_arrow/arr-white_cir-tp.svg');*/
  transition: 0.2s;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_link-menu_box ul {
    flex-direction: column;
    padding: 0!important;
  }
  .rec_link-menu_box ul li {
    border-top: 1px dotted var(--color-green);
    border-left: none;
  }
  .rec_link-menu_box ul li:first-child {
    border-top: none;
  }
  .rec_link-menu_box ul li a {
    padding: 2.0em 3.5em 2.0em 1.5em;
  }
}
@media screen and (max-width: 567px) {}

/* 採用情報トップ｜共通｜採用エントリーボタン 縦型（footer.php） */
.rec_entry_btn {
  display: block;
  position: fixed;
  top: 30%;
  right: 0;
  transform: translate(0, -50%);
  width: fit-content;
  line-height: 1.0;
  z-index: 15;
}
.rec_entry_btn .button_entry {
  position: relative;
  display: block;
}
.rec_entry_btn .button_entry a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
  /*padding: 0.75em 1.25em;*/
  padding: 1.0em;
  padding-left: 1.25em;
  padding-right: 1.25em;
  text-decoration: none;
  color: var(--color-clearblue);
  background: var(--color-lightyellow);
  border-radius: 0.5em 0 0 0.5em;
  user-select: none;
  transition: 0.1s;
}
.rec_entry_btn .button_entry a:hover {
  background: var(--color-lemonyellow);
  transition: 0.1s;
}
.rec_entry_btn .button_entry a span {
  flex-grow: 0;
  display: block;
  position: relative;
}
.rec_entry_btn .button_entry a .entry-text {
  display: block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  /*font-weight: 500;*/
  font-weight: 400;
  /*font-size: 1.0em;*/
  font-size: 0.9em;
  letter-spacing: 0.07em;
}
.rec_entry_btn .button_entry a .entry-arrow {
  display: block;
  position: relative;
  /*width: 0.9em;*/
  width: 0.8em;
  transform: translate(0, 0);
  transition: 0.2s;
}
.rec_entry_btn .button_entry a:hover .entry-arrow {
  transform: translate(0.1em, -0.1em);
  transition: 0.2s;
}
.is-fixed .rec_entry_btn .button_entry a {
  /*padding: 0.75em 0.75em;*/
  padding-left: 0.75em;
  padding-right: 0.75em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .rec_entry_btn {
    top: 45vw;
  }
}

/* 採用情報トップ */
main.rec_top_body-main {
  background: var(--color-lightgray);
}

/* 採用情報トップ｜コーポレートTOP戻るボタン（pg_recruit_top.php） */
.button_returntop_popup {
  position: sticky;
  bottom: 0;
  left: 2.0em;
  transform: translate(2.0em, -2.0em);
  transform-origin: bottom left;
  display: block;
  width: fit-content;
  color: var(--color-white);
  line-height: 1.5;
  padding-bottom: 2.0em;
  user-select: none;
  opacity: 1.0;
  transition: 0.5s;
  z-index: 10;
  /*transition: 0.1s;*/
}
.is-fixed .button_returntop_popup {
  transform: translate(0, 0);
  transition: 0.3s;
}
.button_returntop_popup a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  justify-content: center;
  background: var(--color-deepblue);
  width: 180px;
  height: 180px;
  border-radius: 50%;
  text-decoration: none;
  transition: 0.1s;
}
.button_returntop_popup a::after {
  display: block;
  position: absolute;
  width: 100%;
  height:100%;
  border: 1px solid var(--color-white);
  border-radius: 50%;
  content: '';
  opacity: 0;
  transform: scale(100%);
  transition: 0.2s;
}
.button_returntop_popup a:hover::after {
  opacity: 0.8;
  transform: scale(93%);
  transition: 0.2s;
}

.is-fixed .button_returntop_popup a {
  width: 130px;
  height:130px;
  transition: 0.3s;
}
.button_returntop_popup a:hover {
  /*opacity: 0.8;*/
  transition: 0.2s;
}
.is-fixed .button_returntop_popup a:hover {}

.button_returntop_popup a span {
  flex-grow: 0;
  display: block;
  color: var(--color-white);
  transform: translate(0, 10px);
}
.button_returntop_popup a .rec-jp {
  /*font-weight: 500;*/
  font-size: 1.2em;
  letter-spacing: 0.1em;
  margin-right: -0.1em;
}
.button_returntop_popup a .rec-en {
  /*font-weight: 600;*/
  font-size: 0.8em;
  letter-spacing: 0.2em;
  margin-right: -0.2em;
}
.button_returntop_popup a .rec-arrow {
  margin-top: 0.5em;
}
.button_returntop_popup a .rec-arrow img {
  width: 20px;
  transform: translate(0, 0);
  transition: 0.2s;
}
.button_returntop_popup a:hover .rec-arrow img {
  transform: translate(0.1em, -0.1em);
  transition: 0.2s;
}
.is-fixed .button_returntop_popup a span {}
.is-fixed .button_returntop_popup a .rec-jp {
  /*font-size: 1.0em;*/
  font-size: 0.9em;
}
.is-fixed .button_returntop_popup a .rec-en {}
.is-fixed .button_returntop_popup a .rec-arrow {}
.is-fixed .button_returntop_popup a .rec-arrow img {
  width: 15px;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .button_returntop_popup {
    bottom: 1.0em;
    left: 1.0em;
    transform: translate(0, 0);
  }
  .button_returntop_popup a {
    width: 130px;
    height:130px;
  }
  .is-fixed .button_returntop_popup a {
    width: 110px;
    height:110px;
  }
  .button_returntop_popup a .rec-arrow img {
    width: 15px;
  }
  .is-fixed .button_returntop_popup a .rec-arrow img {
    width: 12px;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  採用情報｜仕事を知る｜社員の声 個別ページ
##  （pg_recruit_child-voice.php）
##
############################################## */
/* 採用情報｜仕事を知る｜社員の声 個別ページ｜ヘッダータイトル */
.rec_voice_header {
  display: block;
  position: relative;
  width: 100%;
  height: 50vw;
  min-height: 500px;
  padding: 0;
  margin: 0;
}
.rec_voice_header .voice_header_image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.rec_voice_header .voice_header_image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rec_voice_header .voice_header_txt {
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  width: max-content;
  min-width: 35%;
  max-width: 55%;
  padding: 2.0em 4.0em;
  line-height: 1.5;
  color: var(--color-black);
  background: #FFFFFFE0;
}
.rec_voice_header .voice_header_txt.title_right {
  right: 0;
  border-radius: 1.0em 0 0 1.0em;
}
.rec_voice_header .voice_header_txt.title_left {
  left: 0;
  border-radius: 0 1.0em 1.0em 0;
}
.rec_voice_header .voice_header_txt h2 {
  text-align: left;
  margin: 0 0 0.5em!important;
}
.rec_voice_header .voice_header_txt p {
  text-align: left;
  margin: 0.25em 0 0!important;
}
.rec_voice_header .voice_header_txt .header_txt_title {
  font-weight: 400;
  font-size: 2.2em;
  letter-spacing: 0.05em;
}
.rec_voice_header .voice_header_txt .header_txt_dept {
  font-weight: 500;
  font-size: 1.0em;
}
.rec_voice_header .voice_header_txt .header_txt_dept span {
  display: inline-block;
  font-size: 0.75em;
  padding: 0.2em 0.75em 0.05em;
  margin-right: 0.75em;
  transform: translate(0, -0.1em);
  color: var(--color-white);
  background: var(--color-black);
}
.rec_voice_header .voice_header_txt .header_txt_year,
.rec_voice_header .voice_header_txt .header_txt_qualification {
  font-weight: 400;
  font-size: 0.9em;
  margin: 0.5em 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_voice_header .voice_header_txt .header_txt_title {
    font-size: 1.5em;
    margin: 0.75em 0;
  }
  .rec_voice_header .voice_header_txt .header_txt_dept {
    font-size: 1.0em;
  }
  .rec_voice_header .voice_header_txt .header_txt_year,
  .rec_voice_header .voice_header_txt .header_txt_qualification {
    font-size: 0.9em;
  }
}
@media screen and (max-width: 567px) {
  .rec_voice_header {
    height: 100vw;
    min-height: 300px;
  }
  .rec_voice_header .voice_header_image.origin-left img {
    object-position: 25% center;
  }
  .rec_voice_header .voice_header_image.origin-right img {
    object-position: 75% center;
  }
  .rec_voice_header .voice_header_txt {
    top: 100%;
    max-width: calc(100% - 1.5em);
    transform: translate(0, -100%);
    padding: 1.5em 2.0em 1.0em;
  }
  .rec_voice_header .voice_header_txt.title_right {
    border-radius: 1.0em 0 0 0;
  }
  .rec_voice_header .voice_header_txt.title_left {
    border-radius: 0 1.0em 0 0;
  }
}

/* 採用情報｜仕事を知る｜社員の声 個別ページ｜インタビュー本文 */
.rec_voice_content {}

.rec_voice_content .voice_content_image {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 50%;
}
.rec_voice_content .voice_content_image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.0em;
}
.rec_voice_content .voice_content_title-1,
.rec_voice_content .voice_content_title-2 {
  display: block;
  position: relative;
  width: 100%;
  font-weight: 500;
}
.rec_voice_content .voice_content_title-1 {
  text-align: center;
  font-size: 1.4em;
  margin: 3.0em 0 1.0em;
  padding-bottom: 0.75em;
}
.rec_voice_content .voice_content_title-1:before {
  display: block;
  position: absolute;
  top: calc(100% - 0.25em);
  left: 50%;
  transform: translate(-50%, -50%);
  content: '';
  width: 2.5em;
  height: 2px;
  background: var(--color-white);
}
.rec_voice_content .voice_content_title-2 {
  text-align: left;
  font-size: 1.6em;
  margin: 3.0em 0 1.5em;
  padding-left: 0.75em;
}
.rec_voice_content .voice_content_title-2:before {
  display: block;
  position: absolute;
  top: 48%;
  left: 0;
  transform: translate(0, -50%);
  content: '';
  width: 2px;
  height: calc(100% - 0.5em);
  background: var(--color-white);
}
.rec_voice_content .voice_content_title-message {
  display: block;
  position: absolute;
  top: -1.75em;
  left: -2px;
  border: 2px solid var(--color-white);
  border-radius: 0.75em;
  width: max-content;
  max-width: 100%;
  font-weight: 500;
  font-size: 1.4em;
  color: var(--color-green);
  padding: 0.75em 1.5em 0.65em;
  /*background: var(--color-green);*/
  background: var(--color-white);
}
.rec_voice_content .voice_content_text {
  font-weight: 400;
  font-size: 1.1em;
  line-height: 2.0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .rec_voice_content .voice_content_title-1 {
    font-size: 1.2em;
  }
  .rec_voice_content .voice_content_title-2 {
    font-size: 1.4em;
  }
  .rec_voice_content .voice_content_title-message {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 567px) {
  .rec_voice_content .voice_content_image {
    padding-top: calc(100% * 2 / 3);
  }
}




/* 'service' */
/* 総合建設事業（ID:57） */
.service_slide {
  position: relative;
  display: block;
  width: 100%;
  /*overflow: hidden;*/
}
.service_slide .main-carousel_works {
  position: relative;
  display: block;
  width: 100%;
}
.service_slide .main-carousel_works .carousel-cell {
  position: relative;
  display: block;
  width: 100%;
}
.service_slide .main-carousel_works .carousel-cell a {
  position: relative;
  display: block;
  width: 100%;
}
.service_slide .main-carousel_works .carousel-cell a img {
  position: relative;
  display: block;
  width: 100%;
}

.service_slide .main-carousel_works .flickity-page-dots {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
  /*margin-top: 2.0em;*/
  margin-top: 0;
}
.service_slide .main-carousel_works .flickity-page-dots .dot {
  display: block;
  /*width: 12px;*/
  width: 10px;
  /*height: 12px;*/
  height: 10px;
  /*border-radius: 50%;*/
  border-radius: 0;
  /*background: var(--color-lightblue);*/
  background: var(--color-gray);
  margin: 0!important;
}
.service_slide .main-carousel_works .flickity-page-dots .dot.is-selected {
  /*background: var(--color-clearblue);*/
  background: var(--color-darkgray);
}

.service_slide .main-carousel_works .flickity-button.flickity-prev-next-button.previous {
  display: none;
}
.service_slide .main-carousel_works .flickity-button.flickity-prev-next-button.next {
  display: none;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .service_slide .main-carousel_works .flickity-page-dots {
    /*gap: 1.0em;*/
    gap: 1.5em;
  }
  .service_slide .main-carousel_works .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}




/* ##############################################
##
##  404ページ（404.php）
##
############################################## */
#post-not-found .content-main {
  position: relative;
  display: flex;
  gap: 4.0em;
  width: 100%;
}
#post-not-found .content-main .main-block {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin: 0;
}
#post-not-found .content-main .main-block .notfound-image {
  position: relative;
  display: block;
  width: 100%;
}
#post-not-found .content-main .main-block .notfound-image img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #post-not-found .content-main {
    flex-direction: column;
    gap: 3.0em;
  }
  #post-not-found .content-main .main-block .notfound-image img {
    max-width: 450px;
  }
}
@media screen and (max-width: 567px) {
  #post-not-found .content-main {
    gap: 2.0em;
  }
  #post-not-found .content-main .main-block .notfound-image img {
    max-width: 370px;
  }
}




/* ##############################################
##
##  サイドバーを使用する（pg_default.php）
##  サイドバー（sidebar.php、sidebar-XXX.php）
##
############################################## */
/* サイドバーを使用する（pg_default.php） */
.container .cont {
  position: relative;
  display: flex;
  gap: 4.0em;
  width: 100%;
}
.container .cont :is(.cont-main, .cont-sidebar) {
  flex-grow: 1;
  position: relative;
  width: 100%;
}
.container .cont .cont-main {
  position: relative;
  display: block;
}
.container .cont .cont-sidebar {
  position: relative;
  display: block;
  max-width: 250px;
}
.container .cont .cont-sidebar * {
  width: max-content;
  max-width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .container .cont {
    flex-direction: column;
  }
  .container .cont .cont-sidebar {
    max-width: initial;
  }
}
@media screen and (max-width: 567px) {}

/* サイドバー｜メイン（sidebar.php、sidebar-XXX.php） */
.container .cont .cont-sidebar .sidebar_main {
  position: sticky;
  top: 120px;
  display: block;
  width: 100%;
  font-weight: 500;
  line-height: 1.5;
}
.container .cont .cont-sidebar .sidebar_main * {
  position: relative;
  display: block;
  width: 100%;
}
.container .cont .cont-sidebar .sidebar_main .title {
  font-weight: 500!important;
  font-size: 1.1em!important;
  color: var(--color-clearblue)!important;
  margin-bottom: 0.5em!important;
}
.container .cont .cont-sidebar .sidebar_main ul ,
.container .cont .cont-sidebar .sidebar_main ul * {
  margin: 0!important;
}
.container .cont .cont-sidebar .sidebar_main ul {
  padding: 0!important;
  list-style-type: none;
}
.container .cont .cont-sidebar .sidebar_main ul li {
  padding: 0!important;
}
.container .cont .cont-sidebar .sidebar_main a {
  padding: 0.6em 1.0em 0.5em;
  text-decoration: none;
  opacity: 1.0;
  transition: 0.15s;
}
.container .cont .cont-sidebar .sidebar_main a:hover {
  opacity: 0.8;
  transition: 0.15s;
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent,
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent * {
  user-select: none;
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li > a,
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this ul.sidebar_child > li > a {
  border: none;
  border-bottom: 1px solid var(--color-clearblue);
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this ul.sidebar_child > li.thispage > a {
  color: var(--color-white);
  background: var(--color-clearblue);
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li:last-child > a {
  border-bottom: none;
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent {}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li > a {
  color: var(--color-black);
  /*background: var(--color-lightblue);*/
  background: var(--color-lightgray);
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this > a {
  color: var(--color-white);
  background: var(--color-clearblue);
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this > a:has(+ ul.sidebar_child > li.thispage) {
  color: var(--color-black);
  background: var(--color-silvergray);
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li > a:hover {}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this > a:hover {}

.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li:not(.this) ul.sidebar_child,
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li:not(.this) ul.sidebar_child * {
  display: none!important;
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this ul.sidebar_child > li {}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this ul.sidebar_child > li > a {
  font-weight: 400;
  color: var(--color-black);
  background: var(--color-lightgray);
  padding-left: 1.75em;
}
.container .cont .cont-sidebar .sidebar_main ul.sidebar_parent > li.this ul.sidebar_child > li > a:hover {}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .container .cont .cont-sidebar .sidebar_main {
    position: relative;
    top: initial;
  }
}
@media screen and (max-width: 567px) {}

/* サイドバー｜バナー（sidebar.php、sidebar-XXX.php） */
.sidebar_bnr {
  display: block;
  position: relative;
  margin: 0;
  margin-top: 2.0em;
}
.sidebar_bnr .bnr_wrap {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
  margin-top: 1.0em;
}
.sidebar_bnr .bnr_wrap a {
  display: block;
  position: relative!important;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0!important;
}
.sidebar_bnr .bnr_wrap a img {
  display: block;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  [inner_ws] ショートコード（inner_works-slide.php）
##  スライドの呼び出し（事業紹介｜不動産開発、賃貸マンション）
##
############################################## */
/* ショートコード｜inner_works-slide.php */
.inner_works-slide {
  position: relative;
  display: block;
}

.inner_works-slide .works-content-title {
  display: flex;
  gap: 1.0em;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
}
.inner_works-slide .works-content-title :is(h2, p) {
  flex-grow: 0;
}
.inner_works-slide .works-content-title h2 {
  display: inline-block;
  font-size: 2.2em;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--color-clearblue);
  line-height: 1.2;
}
.inner_works-slide .works-content-title h2 span {
  display: inline-block;
  width: max-content;
  max-width: 100%;
}
.inner_works-slide .works-content-title p {
  display: inline-block;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  color: var(--color-gray);
  margin-top: 0;
}

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

/* [class^="main-carousel_works"]｜.main-carousel_works0, main-carousel_works1, main-carousel_works2 ... */
.inner_works-slide [class^="main-carousel_works"] {
  position: relative;
  width: 100%;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works {
  width: 315px;
  max-width: 100%;
  /*min-height: 450px;*/
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .inner_works-slide [class^="main-carousel_works"] .carousel-cell_works {
    width: 340px;
    /*min-height: 400px;*/
  }
}
@media screen and (max-width: 567px) {}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min {
  flex-grow: 1;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .edit {
  flex-grow: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  border-left: none;
  /*padding: 0 2.0em 2.0em;*/
  padding: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a,
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a * {
  text-decoration: none;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .image {
  flex-grow: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .text {
  flex-grow: 1;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  padding: 0 1.0em 0.5em;
  margin: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .text p {
  position: relative;
  display: block;
  font-weight: 500;
  text-align: left;
  width: 100%;
  margin: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .text .case-content {
  flex-grow: 0;
  color: var(--color-black);
  min-height: 4.0em;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case-min a .text {
    padding: 0 0.5em 0.5em;
  }
}

/*
.inner_works-slide [class^="main-carousel_works"] {
  position: relative;
  width: 100%;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works {
  width: 315px;
  max-width: 100%;
  min-height: 450px;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .inner_works-slide [class^="main-carousel_works"] .carousel-cell_works {
    width: 340px;
    min-height: 400px;
  }
}
@media screen and (max-width: 567px) {}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case {
  flex-grow: 1;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .edit {
  flex-grow: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  background: var(--color-white);
  border: 1px solid var(--color-clearblue);
  border-left: none;
  padding: 0 2.0em 2.0em;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a,
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a * {
  text-decoration: none;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose,
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .image,
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .button {
  flex-grow: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text {
  flex-grow: 1;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose {
  display: block;
  position: relative;
  width: calc(100% + 4.0em);
  margin: 0 -2.0em 1.5em;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose .case-term {
  display: block;
  position: relative;
  font-weight: 400;
  font-size: 0.8em;
  text-align: center;
  line-height: 1.5;
  color: var(--color-white);
  width: fit-content;
  min-width: 10.0em;
  max-width: 100%;
  background: var(--color-clearblue);
  padding: 0.3em 0.5em 0.2em;
  margin-left: auto;
  margin-right: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose .case-term span {
  display: inline-block;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose .case-term span::after {
  display: inline-block;
  position: relative;
  content: '｜';
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose .case-term span:last-child {}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose .case-term span:last-child::after {
  display: none;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .image {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 2 / 3);
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  width: 100%;
  margin: 0.5em 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text p {
  position: relative;
  display: block;
  font-weight: 500;
  text-align: left;
  width: 100%;
  margin: 0;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-content {
  flex-grow: 0;
  color: var(--color-black);
  min-height: 4.5em;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail {
  display: none;
  flex-grow: 1;
  font-size: 0.9em;
  color: var(--color-clearblue);
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail .case-business,
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail .case-structure {
  display: inline;
  width: fit-content;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail .case-business::before,
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail .case-business::after {
  position: relative;
  display: inline-block;
  content: '';
  width: 0.25em;
  height: 1.0em;
  border-top: 1px solid;
  border-bottom: 1px solid;
  transform: translate(0, 0.1em);
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail  .case-business::before {
  border-left: 1px solid;
  border-right: none;
  margin-right: 0.25em;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .text .case-detail  .case-business::after {
  border-left: none;
  border-right: 1px solid;
  margin-left: 0.25em;
  margin-right: 0.5em;
}

.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .button {
  position: relative;
  display: block;
  width: 100%;
}
.inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .button img {
  position: relative;
  display: block;
  width: 40px;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a {
    padding: 0 1.0em 1.0em;
  }
  .inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .purpose {
    width: calc(100% + 2.0em);
    margin: 0 -1.0em 0.5em;
  }
  .inner_works-slide [class^="main-carousel_works"] .carousel-cell_works .case a .button img {
    width: 30px;
  }
}
*/

/* ショートコード｜inner_works-slide.php（position dots in carousel） */
.inner_works-slide [class^="main-carousel_works"] .flickity-page-dots {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-left: 0!important;
  /*margin-top: 2.0em;*/
  margin-top: 0em;
}
.inner_works-slide [class^="main-carousel_works"] .flickity-page-dots .dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 0;
  background: var(--color-gray);
  margin: 0!important;
}
.inner_works-slide [class^="main-carousel_works"] .flickity-page-dots .dot.is-selected {
  background: var(--color-darkgray);
}

.inner_works-slide [class^="main-carousel_works"] .flickity-button.flickity-prev-next-button.previous {
  display: none;
}
.inner_works-slide [class^="main-carousel_works"] .flickity-button.flickity-prev-next-button.next {
  display: none;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .inner_works-slide [class^="main-carousel_works"] .flickity-page-dots {
    /*gap: 2.0em;*/
    gap: 1.5em;
  }
  .inner_works-slide [class^="main-carousel_works"] .flickity-page-dots .dot {
    width: 15px;
    height: 15px;
  }
}




/* ##############################################
##
##  事業紹介（/service/）
##  クリッカブルマップ（イメージマップ）
##
############################################## */
#service-img-wrap {
  display: block;
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  z-index: 1;
}
#service-img-wrap img {
  display: block;
  max-width: 100%;
}
#service-img-wrap svg {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 2;
}




/* ##############################################
##
##  事業紹介（/service/）
##  事業紹介｜建設｜本文上部見出し
##
############################################## */
/* 事業紹介｜建設｜本文上部見出し */
.service_title-wrap {
  position: relative;
  display: flex;
  gap: 0;
  z-index: 1;
}
.service_title-wrap .item:is(.title, .img) {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.service_title-wrap .item.title {
  flex-grow: 1;
  width: 35%;
  z-index: 2;
}
.service_title-wrap .item.img {
  flex-grow: 0;
  width: 65%;
  z-index: 1;
}
.service_title-wrap .item h2.item-title {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: max-content;
  max-width: 100%;
  transform: translate(0, -50%) scale(1.3);
  transform-origin: center left;
  font-weight: 400;
  font-size: 1.9em;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: var(--color-clearblue);
  border: none;
  /*
  display: block;
  position: relative;
  font-weight: 400;
  font-size: 1.9em;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: var(--color-clearblue);
  width: 100%;
  transform: scale(1.4);
  transform-origin: center left;
  border: none;
  */
}
.service_title-wrap .item h2.item-title span {
  position: relative;
  display: inline-block;
  width: max-content;
}
@media screen and (max-width: 1023px) {
  .service_title-wrap .item h2.item-title {
    font-size: calc(100vw / 33);
    transform: translate(0, -50%) scale(1.2);
  }
}
@media screen and (max-width: 767px) {
  .service_title-wrap {
    flex-direction: column;
    gap: 2.0em;
  }
  .service_title-wrap .item:is(.title, .img) {
    width: 100%;
  }
  .service_title-wrap .item h2.item-title {
    position: relative;
    top: initial;
    left: initial;
    width: 100%;
    transform: scale(1.2);
  }
  .service_title-wrap .item h2.item-title span {
    display: block;
  }
}
@media screen and (max-width: 567px) {
  .service_title-wrap .item h2.item-title {
    font-size: 1.7em;
    letter-spacing: 0.05em;
    line-height: 1.5;
    transform: scale(1.0);
  }
}




/* ##############################################
##
##  タブレット・スマートフォン表示用
##  PC表示用
##
############################################## */
.visible-only-sp {
  display: none;
}
.visible-only-pc {
  display: block;
  position: relative;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .visible-only-sp {
    display: block;
    position: relative;
  }
  .visible-only-pc {
    display: none;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  Lightbox（代替テキスト表示）
##
############################################## */
#slb_viewer_wrap .slb_theme_slb_default .slb_data_title,
#slb_viewer_wrap .slb_theme_slb_default .slb_group_status {
  font-family: "IBM Plex Sans JP", serif!important;
  font-weight: 400!important;
  font-style: normal!important;
  font-size: 1.0em!important;
}
#slb_viewer_wrap .slb_theme_slb_default .slb_data_title *,
#slb_viewer_wrap .slb_theme_slb_default .slb_group_status * {
  font-size: inherit;
}