@charset "UTF-8";
/*--------------------------------------------------------------
共通でインポートモジュール
# mixinや変数の定義を行う
--------------------------------------------------------------*/
:root {
  --text-color: #333;
  --main-color: #143261;
  --sub-color: #0066ff;
  --cat-color-protect: #6a3fad;
  --cat-color-advance: #2199e0;
  --cat-color-simplify: #38b3bc;
  --cat-color-equip: #e8ac42;
  --bg-color: #fff;
  --bg-color-page: #eaf0fd;
  --border-color: #d3d3d3;
  --link-button-font-size: 1em;
  --link-color: #036ea9;
  --bg-section-grad: linear-gradient(180deg, rgba(245, 248, 253, 1) 0%, rgba(234, 240, 253, 1) 99.95%);
  --site-width: 1200px;
  --site-inline-padding: 20px;
  --content-width: 1200px;
  --header-content-width: 1466px;
  --header-height: 60px;
  --header-inline-padding: 20px;
  --menu-fsz: 16px;
  --menu-color: var(--main-color);
  --global-submenu-bg: rgba(255, 255, 255, 0.8);
  --entry-title-fsz: 20px;
  --entry-h2-fsz: 18px;
  --article-mt: 20px;
  --artilce-heading-mt: 40px;
  --news-navi-icon-size: 30px;
  --page-h2-fsz: 22px;
  --page-h3-fsz: 18px;
}
@media screen and (min-width:520px) {
  :root {
    --site-inline-padding: 40px;
  }
}
@media screen and (min-width: 768px) {
  :root {
    --site-inline-padding: 60px;
  }
}
@media screen and (min-width: 1025px) {
  :root {
    --entry-title-fsz: 26px;
    --entry-h2-fsz: 20px;
    --article-mt: 20px;
    --news-navi-icon-size: 40px;
    --artilce-heading-mt: 60px;
    --page-h2-fsz: 28px;
    --page-h3-fsz: 22px;
    --site-inline-padding: 60px;
  }
}
@media screen and (min-width: 1025px) {
  :root {
    --header-height: 96px;
    --menu-fsz: 16px;
    --header-inline-padding: 20px 0;
  }
}
@media screen and (min-width: 1367px) {
  :root {
    --site-inline-padding: 0;
  }
}
@media screen and (min-width: 1500px) {
  :root {
    --header-inline-padding: 40px 0;
    --site-inline-padding: 0;
  }
}
:root {
  --fw-medium: 500;
  --fw-regular: 400;
  --fw-bold: 700;
  --fw-black: 900;
  --transition-time: 0.5s;
  --transition: var(--transition-time) ease;
  --image-radius: 43px 0 43px 0;
  --min-viewport: 520;
  --max-viewport: 1025;
  --max-size: 80px;
  --min-size: 20px;
  /* a 傾き */
  --slope: calc((var(--max-size) - var(--min-size)) / (var(--max-viewport) - var(--min-viewport)));
  /* b 切片 */
  --intercept: calc(var(--min-size) - var(--slope) * var(--min-viewport));
  /* y = ax + b */
  --fluid-size: calc(var(--slope) * 100vw + var(--intercept) / 16 * 1rem);
  /* clamp( 最小サイズ , 可変サイズ , 最大サイズ) */
  --clamp-size: clamp(var(--min-size) / 16 * 1rem, var(--fluid-size), var(--max-size) / 16 * 1rem);
}

html,
body,
div,
span,
object,
iframe,
button,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
sub,
sup,
var,
b,
i,
a,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  font-weight: inherit;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  word-break: normal;
  line-break: strict;
  word-wrap: normal;
  word-break: normal;
  line-height: inherit;
}

textarea,
input[type=button],
input[type=text],
input[type=image],
input[type=submit] {
  -webkit-appearance: none;
  word-break: normal;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

* {
  outline: none;
}

body {
  font-size: 15px;
  word-break: break-all;
  -webkit-text-size-adjust: none;
}

* html body {
  font-size: small;
  font: x-small;
}

*:first-child + html body {
  font-size: small;
  font: x-small;
}

img {
  border: 0;
  vertical-align: bottom;
}

ul,
dl {
  text-indent: 0;
}

ul li {
  list-style: none;
}

ol li {
  list-style: decimal;
}

ol ul li {
  list-style: none;
}

address,
caption,
cite,
code,
dfn,
em,
var {
  font-style: normal;
  font-weight: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

* html input,
* html textarea,
* html select {
  font-size: 100%;
}

*:first-child + html + input,
*:first-child html + textarea,
*:first-child + html select {
  font-size: 100%;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  font-size: inherit;
  width: 100%;
}

th,
td {
  text-align: left;
  vertical-align: top;
}

caption {
  text-align: left;
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
}

* html pre,
* html code,
* html kbd,
* html samp,
* html tt {
  font-size: 108%;
  line-height: 100%;
}

*:first-child + html pre,
*:first-child html + code,
*:first-child html + kbd,
*:first-child + html + samp,
*:first-child + html tt {
  font-size: 108%;
  line-height: 100%;
}

input,
select,
textarea {
  font-size: 100%;
  font-family: Verdana, Helvetica, sans-serif;
  margin: 0;
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  line-height: inherit;
}

figure {
  line-height: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  backface-visibility: hidden;
}

input,
textarea {
  border-radius: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}
@media  {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.75;
  font-weight: var(--fw-medium);
  color: var(--text-color);
}

.is_serif_light {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.is_serif_regular {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.is_serif_medium {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.is_serif_semibold {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.is_serif_bold {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.is_serif_black {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.is_sans_regular {
  font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.is_sans_medium {
  font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.is_sans_bold {
  font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.is_sans_black {
  font-family: YakuHanJP_Narrow, "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.is_garamond_regular {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.is_garamond_medium {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.is_garamond_semiBold {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.is_garamond_bold {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.is_garamond_black {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.is_shippori_mincho_regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

.shippori-mincho-bold {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

@media screen and (min-width: 1025px) {
  .br_sp {
    display: none;
  }
}

@media screen and (min-width:520px) {
  .br_sp_s {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .br_pc {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .br_sp_menu {
    display: none;
  }
}

@media screen and (min-width: 1367px) {
  .br_pc_w {
    display: none;
  }
}

@media screen and (max-width: 1366px) {
  .br_pc_w-max {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .is-pc {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .is-mobile {
    display: none !important;
  }
}

.section_pb_tb {
  padding-block: 30px 25px;
}
@media screen and (min-width: 1025px) {
  .section_pb_tb {
    padding-block: 70px;
  }
}

.pd_tb_m {
  padding-top: 30px;
  padding-bottom: 45px;
}
@media screen and (min-width: 1025px) {
  .pd_tb_m {
    padding-top: 40px;
    padding-bottom: 90px;
  }
}

.pd_tb_s {
  padding-top: 30px;
  padding-bottom: 40px;
}
@media screen and (min-width: 1025px) {
  .pd_tb_s {
    padding-top: 53px;
    padding-bottom: 63px;
  }
}

.pd_tb_eq_s {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media screen and (min-width: 1025px) {
  .pd_tb_eq_s {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.is_align_center {
  margin-inline: auto;
}

@media screen and (min-width: 1025px) {
  .is_align_left {
    float: right;
    margin-inline: 1.7em 0;
    margin-bottom: 1em;
  }
}

@media screen and (min-width: 1025px) {
  .is_align_right {
    float: left;
    margin-inline: 0 1.7em;
    margin-bottom: 1em;
  }
}

.is_text_center {
  text-align: center;
}

@media screen and (min-width: 1025px) {
  .is_text_center_pc {
    text-align: center;
  }
}

.is_text_right {
  text-align: right;
}

.is_text_left {
  text-align: left;
}

.is_text_green {
  color: var(--main-color);
}

.is_text_red {
  color: #e75b6a;
}

.is_text_blue {
  color: #036ea9;
}

.is_text_orange {
  color: var(--sub-color);
}

.is_text_white_bg {
  background-color: #fff;
  color: var(--main-color);
  padding-inline: 0.5em;
}

.is_green_shadow {
  box-shadow: 0 0 3px #9fcc97;
}

.mt_s {
  margin-top: 15px;
}
@media screen and (min-width: 1025px) {
  .mt_s {
    margin-top: 30px;
  }
}

.mt_m {
  margin-top: 40px !important;
}
@media screen and (min-width: 1025px) {
  .mt_m {
    margin-top: 80px !important;
  }
}

.mt_l {
  margin-top: 70px !important;
}
@media screen and (min-width: 1025px) {
  .mt_l {
    margin-top: 140px !important;
  }
}

.is_underLine {
  text-decoration: underline;
  text-decoration-color: rgba(255, 189, 184, 0.6);
  text-decoration-thickness: 8px;
  text-underline-offset: -1px;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

.plr-s {
  --site-inline-padding: 12px;
}

.is_large_size {
  font-size: var(--large-font-size, 30px);
}

.is_medium_size {
  font-size: var(--medium-font-size, 20px);
}

.ly_siteHeader {
  width: 100%;
  z-index: 15;
  background: #fff;
}
@media screen and (min-width: 1025px) {
  .page-recruit .ly_siteHeader, .home .ly_siteHeader {
    background: transparent;
  }
}
.is_scrolled .ly_siteHeader {
  background: rgb(255, 255, 255);
}
.is_open .ly_siteHeader {
  background: #fff;
}
@media (hover: hover) {
  .ly_siteHeader:hover {
    background: rgb(255, 255, 255);
  }
}

.ly_siteHeader_content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: height var(--transition);
  height: var(--header-height);
  width: 100%;
  margin-inline: auto;
  position: relative;
  gap: 15px;
  margin-inline: auto;
  padding-inline: var(--header-inline-padding);
}

.ly_siteHeader_nav {
  display: flex;
  gap: 10px;
  height: 100%;
}
.ly_header_nav {
  margin-inline: auto;
  max-width: var(--site-width);
}
@media screen and (min-width: 1025px) {
  .ly_header_nav {
    display: flex;
    justify-content: space-around;
  }
}

.ly_fixed_header {
  margin-top: 0;
}
.ly_fixed_header .ly_siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  transition: all var(--transition);
}
.ly_fixed_header.admin-bar .ly_siteHeader {
  top: 32px;
}

.ly_back_show_header.is_scrolled:not(.home):not(.page-recruit) .ly_content {
  margin-top: 100px;
}
.ly_back_show_header.is_scrolled .ly_siteHeader {
  position: fixed;
  top: -300px;
  left: 0;
  background-color: #fff;
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}
.ly_back_show_header.is_scrolled.is_show_header .ly_siteHeader {
  transform: translateY(300px);
}
.ly_back_show_header.admin-bar {
  margin-top: calc(var(--header-height) + 32px);
}
.ly_back_show_header.admin-bar .ly_siteHeader {
  top: 32px;
}

@media screen and (max-width: 1024px) {
  .ly_mainVisual {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

.ly_breadcrumb_wrapper {
  position: relative;
  z-index: 3;
  margin-top: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-inline: var(--site-inline-padding);
  border-bottom: 1px solid;
  -o-border-image: linear-gradient(90deg, rgb(234, 240, 253) 0%, rgb(211, 211, 211) 50%, rgb(234, 240, 253) 100%) 1;
     border-image: linear-gradient(90deg, rgb(234, 240, 253) 0%, rgb(211, 211, 211) 50%, rgb(234, 240, 253) 100%) 1;
}

.ly_breadcrumb {
  max-width: var(--site-width);
  margin-inline: auto;
  display: flex;
  margin-inline: auto;
  padding-block: 10px;
  height: 63px;
  align-items: center;
}

.ly_content_header {
  margin-inline: auto;
  max-width: var(--site-width);
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--content-header-height, 150px);
  padding: 20px;
}

.ly_siteMain {
  margin-inline: auto;
  width: 100%;
  overflow: clip;
  position: relative;
  z-index: 1;
  margin-top: var(--header-height);
}
@media screen and (min-width: 1025px) {
  .page-recruit .ly_siteMain, .home .ly_siteMain {
    margin-top: 0;
  }
}

.ly_mainContent {
  max-width: var(--site-width);
  margin-inline: auto;
}

.ly_pageHeader {
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  width: 100dvw;
  margin-left: calc(50% - 50dvw);
}

.ly_article {
  margin-inline: auto;
}
.ly_article .bl_postThumbnail {
  margin-bottom: var(--article-mt);
}
.ly_article .bl_article_content {
  max-width: var(--content-width);
  margin-inline: auto;
  padding-inline: var(--site-inline-padding);
}
.ly_article .bl_article_content > * + * {
  margin-top: var(--article-mt);
}

.ly_siteFooter {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  --bg-color-page: #eaf0fd;
  background-color: var(--bg-color-page);
  padding-block: 60px 77px;
}
@media screen and (min-width: 1025px) {
  .ly_siteFooter {
    padding-block: 80px 100px;
  }
}
.ly_siteFooter .bl_siteFooter {
  padding-inline: var(--site-inline-padding);
  max-width: var(--content-width);
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 1025px) {
  .ly_siteFooter .bl_siteFooter {
    width: 100%;
    align-items: flex-start;
  }
}
@media screen and (max-width: 1024px) {
  .page-recruit .ly_siteFooter, .home .ly_siteFooter {
    margin-bottom: 64px;
  }
}

.bl_article_content .ly_footerCTA {
  --article-mt: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.ly_inner_content {
  max-width: var(--content-width);
  margin-inline: auto;
  padding-inline: var(--site-inline-padding);
}

.ly_pc2colsp1col {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1025px) {
  .ly_pc2colsp1col {
    grid-template-columns: 1fr 1fr;
  }
}

article.not_found {
  grid-column: 1/-1;
  text-align: center;
}

.bl_button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  padding: 20px;
  border-radius: 10px;
  background-color: var(--link-button-bg);
  color: var(--link-button-color);
  font-size: var(--link-button-font-size);
  transition: color 0.3s ease, background-color 0.3s ease;
}
.bl_button:before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border-style: solid solid none none;
  border-width: 2px;
  border-color: inherit;
  transform: rotate(45deg);
  margin-right: 6px;
}
@media (hover: hover) {
  .bl_button:hover {
    background-color: var(--link-button-hover-bg);
    color: var(--link-button-hover-color);
  }
}

.el_arrow {
  display: inline-flex;
  align-items: center;
  font-size: 1.1em;
}
.el_arrow::before {
  content: "";
  display: inline-block;
  position: relative;
  width: var(--el-arrow-size, 0.625em);
  height: var(--el-arrow-size, 0.625em);
  background-color: transparent;
  border-style: solid solid none none;
  border-width: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.el_arrow__left {
  margin-left: 5px;
}

.el_arrow__right {
  margin-right: 5px;
}
.el_arrow__right::before {
  border-style: none none solid solid;
}

.el_btn_lineArrow {
  border: 1px solid;
  display: flex;
  min-height: 76px;
  align-items: center;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.4;
  gap: 0;
  justify-content: space-between;
  width: 100%;
  max-width: 385px;
  transition: background-color var(--transition-time);
  padding: 20px;
  white-space: nowrap;
}
@media screen and (min-width:520px) {
  .el_btn_lineArrow {
    padding: 21px;
  }
}
@media screen and (min-width: 1025px) {
  .el_btn_lineArrow {
    padding-inline: 38px;
  }
}
.el_btn_lineArrow::after {
  content: "";
  width: 45px;
  height: 8px;
}
@media screen and (min-width:520px) {
  .el_btn_lineArrow::after {
    width: 90px;
    height: 12px;
  }
}
.el_btn_lineArrow::after {
  background-image: url(../images/button-arrow-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) {
  .el_btn_lineArrow:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

.el_moreLink > span,
.el_moreLink a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  max-width: 230px;
  padding: 10px 0px 10px 25px;
  line-height: 1.8;
  text-decoration: none;
  color: var(--main-color);
  transition: 0.3s ease-in-out;
  font-weight: 500;
  --morelink-radius: 3rem;
  --moreLink-arrow-left: 1.2rem;
  --moreLink-arrow-top: 1.1rem;
}
.el_moreLink > span:before, .el_moreLink > span:after,
.el_moreLink a:before,
.el_moreLink a:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}
.el_moreLink > span:before,
.el_moreLink a:before {
  content: "";
  background-image: url(../images/more_button_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 13px;
  left: var(--moreLink-arrow-left);
  top: var(--moreLink-arrow-top);
  z-index: 2;
  transition: all 0.3s;
}
.el_moreLink > span:after,
.el_moreLink a:after {
  left: 0;
  background: var(--main-color);
  z-index: 1;
  width: var(--morelink-radius);
  height: var(--morelink-radius);
  border-radius: 4rem;
  transform: translateY(-50%);
  transition: all 0.5s;
}
.el_moreLink > span span,
.el_moreLink a span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
}
@media (hover: hover) {
  .el_moreLink > span:hover span,
  .el_moreLink a:hover span {
    color: #fff;
  }
  .el_moreLink > span:hover:before,
  .el_moreLink a:hover:before {
    left: 2.5rem;
  }
  .el_moreLink > span:hover:after,
  .el_moreLink a:hover:after {
    right: 0;
    width: 100%;
    background: var(--main-color);
  }
}

.bl_postThumbnail img {
  filter: none;
}

.el_linkButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  gap: 16px;
  color: var(--main-color);
  font-weight: var(--fw-bold);
  letter-spacing: 0;
  line-height: 1.75;
  transition: opacity var(--transition);
  white-space: nowrap;
  position: relative;
}
@media (hover: hover) {
  .el_linkButton:hover {
    opacity: 1;
  }
  .el_linkButton:hover::after {
    transform: scale(1.1);
  }
}
.el_linkButton::after {
  content: "";
  background-image: url(../images/common/arrow-white.svg);
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: center;
  border-radius: 100%;
  background-color: var(--main-color);
  transition: all var(--transition);
  width: 54px;
  height: 54px;
}
@media screen and (min-width: 1025px) {
  .el_linkButton::after {
    width: 64px;
    height: 64px;
  }
}
.el_linkButton.is_boxButton {
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  padding-block: 10px;
  padding-inline: 20px;
  color: #fff;
  font-weight: var(--fw-bold);
  --linkButton-mt: auto;
  transition: opacity var(--transition);
  background-color: var(--main-color);
}
.el_linkButton.is_boxButton::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-color: transparent;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  transition: right var(--transition);
}
@media (hover: hover) {
  .el_linkButton.is_boxButton:hover {
    opacity: 0.8;
  }
  .el_linkButton.is_boxButton:hover::after {
    right: 20px;
  }
}

.bl_mediaText {
  --content-width: 1fr;
  --image-width: 1fr;
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1025px) {
  .bl_mediaText {
    grid-template-columns: var(--content-width) var(--image-width);
  }
  .bl_mediaText.is_image_left {
    grid-template-columns: var(--image-width) var(--content-width);
  }
}
.bl_mediaText figure {
  text-align: center;
}
.bl_mediaText figure img {
  display: block;
  width: 100%;
}
.bl_mediaText.l_46_54 {
  --image-width: 54%;
  gap: 20px;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .bl_mediaText.l_46_54 {
    gap: 70px;
  }
  .bl_mediaText.l_46_54.is_image_left {
    gap: 110px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_mediaText.is_image_left {
    grid-template-areas: "image content";
  }
  .bl_mediaText, .bl_mediaText.is_image_right {
    grid-template-areas: "content image";
  }
  .bl_mediaText .el_mediaText_content {
    grid-area: content;
  }
  .bl_mediaText .el_mediaText_image {
    grid-area: image;
  }
}
.bl_mediaText.is_half_fullwidth {
  gap: 48px;
  gap: clamp(0px, -54.972px + 5.363vw, 48px);
  --image-width: clamp(460px, -66.816px + 51.397vw, 920px);
}
@media screen and (max-width: 1024px) {
  .bl_mediaText.is_half_fullwidth {
    grid-template-areas: "content" "image";
  }
  .bl_mediaText.is_half_fullwidth .el_mediaText_content {
    grid-area: content;
  }
  .bl_mediaText.is_half_fullwidth .el_mediaText_image {
    grid-area: image;
  }
}
@media screen and (min-width: 1025px) {
  .bl_mediaText.is_half_fullwidth {
    width: calc(100vw - (50vw - 50%));
  }
  .bl_mediaText.is_half_fullwidth.is_image_left {
    margin-left: calc(50% - 50vw);
  }
  .bl_mediaText.is_half_fullwidth .el_mediaText_image {
    align-self: flex-start;
  }
}
.bl_mediaText.is_half_fullwidth + .bl_mediaText {
  margin-top: 80px;
}
@media screen and (min-width: 1025px) {
  .bl_mediaText.is_half_fullwidth + .bl_mediaText {
    margin-top: 120px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_mediaText.is_half_fullwidth.is_image_left figure.el_mediaText_image {
    border-radius: 0 24px 24px 0;
  }
}
@media screen and (min-width: 1025px) {
  .bl_mediaText.is_half_fullwidth.is_image_right figure.el_mediaText_image {
    border-radius: 24px 0 0 24px;
  }
}

.bl_columns {
  display: grid;
  gap: 20px;
}
@media screen and (min-width: 1025px) {
  .bl_columns {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .bl_columns.l_30_70 {
    grid-template-columns: 30% 70%;
  }
}

.bl_tile {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .bl_tile {
    gap: 40px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.bl_tile.sp2pc3 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
  .bl_tile.sp2pc3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.full-width {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  --article-mt: 0;
}

.is_content_narrow {
  --content-width: 1100px;
  --site-inline-padding: 20px;
}

.is_sticky_parent {
  padding-top: 18px !important;
}

.is_bg_gradation {
  background: linear-gradient(0deg, rgb(245, 248, 253) 0%, rgb(234, 240, 253) 99.95%);
}

.is_bg_gradation_reverse {
  background: linear-gradient(180deg, rgb(245, 248, 253) 0%, rgb(234, 240, 253) 99.95%);
}

.el_siteHeader_logo {
  flex-shrink: 0;
}
.el_siteHeader_logo a {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}
.el_siteHeader_logo a .header_logo_image {
  margin-right: 10px;
  transition: all var(--transition);
  grid-column: 1/-1;
  grid-row: 1/-1;
  width: 234px;
}
@media screen and (min-width: 1025px) {
  .el_siteHeader_logo a .header_logo_image {
    width: 260px;
    width: clamp(200px, 93.333px + 10.417vw, 260px);
  }
}

@media screen and (max-width: 1024px) {
  .ly_siteHeader_nav {
    visibility: hidden;
    position: fixed;
    top: var(--header-height);
    right: 0;
    width: 100%;
    height: calc(100vh - var(--header-height));
    height: calc(100dvh - var(--header-height));
    z-index: 0;
    background-color: #fff;
    justify-content: center;
    padding-top: 27px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-inline: 20px;
    transform: translateX(110%);
    transition: all var(--transition-time) ease;
    background-image: url(../images/common/default-texture.webp);
    background-repeat: repeat;
    display: block;
    padding-bottom: 80px;
  }
  .is_open .ly_siteHeader_nav {
    transform: translateX(0);
    visibility: visible;
    z-index: 9;
  }
}

.bl_siteHeader_nav {
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  .bl_siteHeader_nav {
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    padding-bottom: 30px;
    max-width: 480px;
    margin-inline: auto;
  }
  .bl_siteHeader_nav > li {
    font-size: 16px;
  }
  .bl_siteHeader_nav > li .sub-menu {
    font-size: 14px;
  }
  .bl_siteHeader_nav > li:not(.menu-item-has-children)::after {
    content: "";
    background-image: url(../images/header/arrow-menu.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 8px;
    height: 4px;
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 11px;
    transform: rotate(-90deg);
  }
  .bl_siteHeader_nav li {
    letter-spacing: 0;
    display: flex;
    border-bottom: 1px solid var(--border-color);
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
  }
  .bl_siteHeader_nav li a {
    padding-block: 18px;
    padding-inline: 10px;
    display: flex;
    flex-direction: column;
    color: var(--main-color);
    width: 100%;
  }
  .bl_siteHeader_nav li a .global_menu-description {
    font-size: 12px;
    letter-spacing: -0.1em;
    margin-top: 0;
    color: var(--text-color);
    display: block;
    line-height: 1;
    align-self: center;
  }
  .bl_siteHeader_nav li.megamenu_heading {
    display: none;
  }
  .bl_siteHeader_nav li .sub-menu {
    width: 100%;
    display: none;
    padding-left: 10px;
    padding-top: 0;
    margin-bottom: 10px;
  }
  .bl_siteHeader_nav li .sub-menu li a {
    padding-block: 12px;
    width: 100%;
  }
  .bl_siteHeader_nav li .sub-menu li:last-child {
    border-bottom: none;
  }
  .bl_siteHeader_nav li .sub-menu > li > a {
    display: grid;
    grid-template-columns: 85px 1fr;
  }
  .bl_siteHeader_nav li.menu-item-has-children > a {
    padding-right: 40px;
  }
  .bl_siteHeader_nav li.el_siteHeader_button {
    border-bottom: none;
  }
  .bl_siteHeader_nav li.el_siteHeader_button::after {
    content: none;
  }
  .bl_siteHeader_nav li.el_siteHeader_button > a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
    margin-top: 24px;
    transition: all var(--transition);
  }
}
@media screen and (max-width: 1024px) and (hover: hover) {
  .bl_siteHeader_nav li.el_siteHeader_button > a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
}
@media screen and (max-width: 1024px) {
  .bl_siteHeader_nav li.el_siteHeader_button > a:before {
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
  }
  .bl_siteHeader_nav li.is_recruit {
    margin-top: 24px;
  }
  .bl_siteHeader_nav li.is_recruit > a {
    border: 2px solid var(--menu-color);
    border-radius: 99px;
    height: 56px;
  }
  .bl_siteHeader_nav li.is_recruit > a::before {
    content: "";
    background-image: url(../images/common/icon-recruit.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 18px;
  }
}
@media screen and (max-width: 1024px) and (hover: hover) {
  .bl_siteHeader_nav li.is_recruit > a:hover {
    background-color: var(--menu-color);
    color: #fff;
  }
  .bl_siteHeader_nav li.is_recruit > a:hover::before {
    filter: brightness(0) invert(1);
  }
}
@media screen and (max-width: 1024px) {
  .bl_siteHeader_nav li.is_contact > a {
    background-color: var(--menu-color);
    color: #fff;
    border-radius: 99px;
    height: 56px;
  }
  .bl_siteHeader_nav li.is_contact > a::before {
    content: "";
    width: clamp(14px, 3.333px + 1.042vw, 20px);
    aspect-ratio: 20/16;
    background-color: #fff;
    -webkit-mask-image: url(../images/common/icon-mail.svg);
    mask-image: url(../images/common/icon-mail.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color var(--transition);
  }
}
@media screen and (max-width: 1024px) and (hover: hover) {
  .bl_siteHeader_nav li.is_contact > a:hover {
    border: 2px solid var(--menu-color);
    background-color: #fff;
    color: var(--menu-color);
  }
  .bl_siteHeader_nav li.is_contact > a:hover::before {
    background-color: #143261;
  }
}
@media screen and (max-width: 1024px) {
  .bl_siteHeader_nav li.is_instagram > a {
    padding-inline: 0;
    flex-direction: row;
    gap: 10px;
    padding-left: 30px;
  }
  .bl_siteHeader_nav li.is_instagram > a .global_menu-title {
    font-size: 14px;
  }
  .bl_siteHeader_nav li.is_instagram > a::before {
    flex-shrink: 0;
    content: "";
    background-image: url(../images/common/icon-instagram.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
  }
}
@media screen and (max-width: 1024px) and (hover: hover) {
  .bl_siteHeader_nav li.is_instagram:hover > a {
    background-color: transparent;
    color: var(--main-color);
    opacity: 0.7;
  }
}
@media screen and (max-width: 1024px) {
  .bl_siteHeader_nav li.is_remote > a {
    padding-inline: 1.25em;
    background: linear-gradient(45deg, rgb(234, 143, 61) 0%, rgb(234, 112, 75) 100%);
    color: #fff;
    height: 100%;
    gap: 8px;
    flex-direction: row;
  }
  .bl_siteHeader_nav li.is_remote > a::before {
    content: "";
    background-image: url(../images/common/icon-remote.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 18px;
  }
  .bl_siteHeader_nav li.is_remote > a br {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    min-height: 50px;
    gap: 0;
  }
  .bl_siteHeader_nav li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
  }
  .bl_siteHeader_nav li.mega_menu {
    position: initial;
    max-width: 240px;
  }
  .bl_siteHeader_nav li.mega_menu:hover > a {
    padding-block: 40px;
  }
  .bl_siteHeader_nav li.mega_menu:hover > .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  .bl_siteHeader_nav li.mega_menu.mega_menu_2col > .sub-menu {
    grid-template-columns: repeat(2, 48%);
    width: 46vw;
    padding-left: clamp(150px, 42.437px + 10.504vw, 200px);
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu {
    width: 100vw;
    width: 100dvw;
    height: 400px;
    left: 50%;
    transform: translateX(-50%);
    padding-inline: clamp(30px, -68.628px + 7.22vw, 70px);
    padding-top: 80px;
    padding-bottom: 80px;
    border-radius: 0;
    top: auto;
    z-index: 10;
    padding-left: 45%;
    padding-right: 40px;
    background-image: url(../images/header/bg-megamenu-about.webp);
    background-repeat: no-repeat;
    background-position: left 25% top 20px;
    background-size: 392px auto;
    position: absolute;
    background-color: #fff;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1024px) {
  .bl_siteHeader_nav li.mega_menu > .sub-menu li.megamenu_heading {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav li.mega_menu > .sub-menu li.megamenu_heading > a {
    font-size: 24px;
    font-weight: var(--fw-bold);
    color: var(--text-color);
    line-height: 1.3;
    gap: 2px;
    pointer-events: none;
    padding-inline: 0;
    padding-top: 0;
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu li.megamenu_heading .global_menu-description {
    font-size: 0.5em;
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu li.megamenu_heading .sub-menu {
    display: block;
    margin-top: 20px;
    box-shadow: none;
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu li.megamenu_heading .sub-menu a {
    border-radius: 90px;
    border: 1px solid var(--main-color);
    justify-content: center;
    position: relative;
    width: 90%;
    margin-inline: auto;
    font-size: 18px;
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu li:not(.megamenu_heading) > a {
    padding-block: 5px;
    display: grid;
    grid-template-columns: 120px auto;
    gap: 0;
    width: 100%;
    transition: color var(--transition);
    white-space: normal;
    line-height: 1.2;
    font-size: clamp(13px, 7.012px + 0.585vw, 15px);
    color: var(--menu-color);
  }
}
@media screen and (min-width: 1025px) and (min-width: 1367px) {
  .bl_siteHeader_nav li.mega_menu > .sub-menu li:not(.megamenu_heading) > a {
    font-size: clamp(15px, 7.584px + 0.542vw, 18px);
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav li.mega_menu > .sub-menu li:not(.megamenu_heading) > a .global_menu-description {
    color: var(--text-color);
    font-size: 16px;
    font-weight: var(--fw-regular);
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu li:not(.megamenu_heading):hover > a {
    color: var(--text-color);
    opacity: 0.7;
  }
  .bl_siteHeader_nav li.mega_menu > .sub-menu li:not(.megamenu_heading):hover > a::after {
    transform: translateX(5px);
  }
  .bl_siteHeader_nav a {
    transition: color 0.5s ease;
  }
  .bl_siteHeader_nav li.menu-item-has-children > a::after {
    content: "";
    background-image: url(../images/header/arrow-menu.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 8px;
    height: 4px;
    flex-shrink: 0;
    transition: transform var(--transition);
  }
  .bl_siteHeader_nav > li {
    width: auto;
    position: relative;
    font-size: var(--menu-fsz);
    letter-spacing: 0;
    align-self: stretch;
  }
  .bl_siteHeader_nav > li > a {
    color: var(--menu-color);
    display: flex;
    align-items: center;
    position: relative;
    gap: 8px;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding-block: 13px 10px;
    padding-inline: 16px;
    padding-inline: clamp(8px, -6.222px + 1.389vw, 16px);
    line-height: 1.2;
    position: relative;
    transition: all var(--transition);
    font-size: clamp(11.5px, 3.5px + 0.781vw, 16px);
    font-weight: var(--fw-bold);
  }
  .bl_siteHeader_nav > li:not(.el_siteHeader_button) > a::before {
    content: "";
    width: calc(100% - 2em);
    height: 3px;
    background-color: var(--menu-color);
    position: absolute;
    bottom: 0;
    left: 1em;
    transition: all var(--transition);
    opacity: 0;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .bl_siteHeader_nav > li:not(.el_siteHeader_button):hover > a {
    opacity: 1;
  }
  .bl_siteHeader_nav > li:not(.el_siteHeader_button):hover > a::before {
    opacity: 1;
  }
  .bl_siteHeader_nav > li:not(.el_siteHeader_button):hover > a::after {
    transform: rotate(180deg);
  }
}
@media screen and (min-width: 1025px) and (min-width: 1025px) {
  .bl_siteHeader_nav > li.is_mobile {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav > li.el_siteHeader_button > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    margin-inline: 0.5em;
    gap: clamp(3px, -13px + 1.563vw, 12px);
    font-size: clamp(11px, 2.111px + 0.868vw, 16px);
    padding-block: 5px;
  }
  .bl_siteHeader_nav > li.is_recruit {
    align-self: center;
  }
  .bl_siteHeader_nav > li.is_recruit > a {
    width: clamp(90px, -77.111px + 16.319vw, 184px);
    height: clamp(40px, 11.556px + 2.778vw, 56px);
    border: 2px solid var(--menu-color);
    border-radius: 99px;
    transition: all var(--transition);
  }
  .bl_siteHeader_nav > li.is_recruit > a::before {
    content: "";
    background-image: url(../images/common/icon-recruit.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(14px, 3.333px + 1.042vw, 20px);
    aspect-ratio: 20/18;
    transition: filter var(--transition);
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .bl_siteHeader_nav > li.is_recruit > a:hover {
    background-color: var(--menu-color);
    color: #fff;
  }
  .bl_siteHeader_nav > li.is_recruit > a:hover::before {
    filter: brightness(0) invert(1);
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav > li.is_contact {
    align-self: center;
  }
  .bl_siteHeader_nav > li.is_contact > a {
    width: clamp(100px, -49.333px + 14.583vw, 184px);
    height: clamp(40px, 11.556px + 2.778vw, 56px);
    background-color: var(--menu-color);
    color: #fff;
    border-radius: 99px;
    transition: background-color var(--transition), color var(--transition);
  }
  .bl_siteHeader_nav > li.is_contact > a::before {
    content: "";
    width: clamp(14px, 3.333px + 1.042vw, 20px);
    aspect-ratio: 20/16;
    background-color: #fff;
    -webkit-mask-image: url(../images/common/icon-mail.svg);
    mask-image: url(../images/common/icon-mail.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color var(--transition);
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .bl_siteHeader_nav > li.is_contact > a:hover {
    border: 2px solid var(--menu-color);
    background-color: #fff;
    color: var(--menu-color);
  }
  .bl_siteHeader_nav > li.is_contact > a:hover::before {
    background-color: #143261;
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav > li.is_instagram > a {
    width: auto;
    padding-inline: 1em;
    padding-inline: clamp(0px, -28.444px + 2.778vw, 16px);
  }
  .bl_siteHeader_nav > li.is_instagram > a .global_menu-title {
    display: none;
  }
  .bl_siteHeader_nav > li.is_instagram > a::before {
    flex-shrink: 0;
    content: "";
    background-image: url(../images/common/icon-instagram.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
  }
  .bl_siteHeader_nav > li.is_remote > a {
    flex-direction: column;
    width: auto;
    padding-inline: 5px;
    background: linear-gradient(45deg, rgb(234, 143, 61) 0%, rgb(234, 112, 75) 100%);
    color: #fff;
    height: 100%;
    margin-inline: 0.5em 0;
    gap: 8px;
    width: clamp(60px, 3.581px + 5.51vw, 100px);
    white-space: normal;
  }
  .bl_siteHeader_nav > li.is_remote > a::before {
    flex-shrink: 0;
    content: "";
    background-image: url(../images/common/icon-remote.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 18px;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1750px) {
  .bl_siteHeader_nav > li.is_remote > a {
    width: 168px;
  }
  .bl_siteHeader_nav > li.is_remote > a br {
    display: none;
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .bl_siteHeader_nav > li.is_remote > a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteHeader_nav .sub-menu {
    display: block;
    position: absolute;
    background-color: var(--global-submenu-bg, #fff);
    min-width: 100%;
    box-shadow: 0px 8px 30px 0px rgba(167, 167, 167, 0.3);
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition);
  }
  .bl_siteHeader_nav .sub-menu a {
    color: var(--text-color);
    font-size: 16px;
    display: flex;
    align-items: center;
    padding: 0.8em 1em;
    white-space: nowrap;
    transition: color var(--transition);
  }
}
@media screen and (min-width: 1025px) and (hover: hover) {
  .bl_siteHeader_nav .sub-menu a:hover {
    color: var(--sub-color);
    opacity: 1;
  }
}

.el_siteHeader_mobile {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1025px) {
  .el_siteHeader_mobile {
    display: none;
  }
}
.el_siteHeader_mobile .el_linkButton {
  padding-left: 30px;
}
.el_siteHeader_mobile .el_linkButton::before {
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  width: 38px;
  height: 38px;
  position: absolute;
  left: 25px;
}

/* スライドメニューボタン */
.bl_menuToggleButton {
  z-index: 10;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: 32px;
  height: 20px;
  aspect-ratio: 1/1;
  background-color: transparent;
  transition: all var(--transition-time) ease;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .bl_menuToggleButton {
    display: none;
  }
}
.is_open .bl_menuToggleButton::before {
  transform: translateX(0);
}
.bl_menuToggleButton .openbtn1 {
  position: relative; /*ボタン内側の基点となるためrelativeを指定*/
  width: 32px;
  height: 22px;
}
.bl_menuToggleButton {
  /*ボタン内側*/
}
.bl_menuToggleButton .openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  height: 2px;
  background: var(--main-color);
  border-radius: 2px;
  width: 100%;
}
.bl_menuToggleButton .openbtn1 span:nth-of-type(1) {
  top: 0;
}
.bl_menuToggleButton .openbtn1 span:nth-of-type(2) {
  top: 9px;
}
.bl_menuToggleButton .openbtn1 span:nth-of-type(3) {
  top: 18px;
}
.bl_menuToggleButton.is_open .openbtn1 span {
  background: var(--main-color);
}
.bl_menuToggleButton.is_open .openbtn1 span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.bl_menuToggleButton.is_open .openbtn1 span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  animation: active-btn05-bar02 0.8s forwards;
}
.bl_menuToggleButton.is_open .openbtn1 span:nth-of-type(3) {
  width: 100%;
  left: 0;
  right: auto;
  transform: translateY(-9px) rotate(45deg);
}

@keyframes slideToTop {
  from {
    right: -100px;
  }
  to {
    right: 0;
  }
}
@keyframes active-btn05-bar02 {
  100% {
    height: 0;
  }
}
body.is_open {
  overflow: hidden;
}

@media screen and (min-width: 1025px) {
  .global-menu-toggle {
    display: none !important;
  }
}
.global-menu-toggle {
  cursor: pointer;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.global-menu-toggle:before {
  content: "";
  background-image: url(../images/header/arrow-menu.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8px;
  height: 4px;
  display: block;
  position: absolute;
  top: 31px;
  right: 10px;
  transform-origin: center;
  transition: transform var(--transition);
}
.global-menu-toggle.is-open::before {
  transform: rotate(-180deg);
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  visibility: hidden;
  opacity: 0;
  transition: all var(--transition-time);
}

.bl_breadcrumb_wrapper {
  position: absolute;
  padding-block: 22px;
  padding-inline: 25px;
}

.bl_breadcrumb {
  letter-spacing: 0.06em;
  overflow-x: auto;
  overflow-y: hidden;
  font-size: 12px;
}
@media screen and (min-width: 1025px) {
  .bl_breadcrumb {
    font-size: 14px;
  }
}
.bl_breadcrumb li {
  padding-block: 5px;
  list-style: none;
  white-space: nowrap;
}
.bl_breadcrumb li + li::before {
  content: "/";
  padding-inline: 16px;
  color: #ccc;
}
.bl_breadcrumb a {
  transition: opacity var(--transition);
  color: var(--main-color);
}
@media (hover: hover) {
  .bl_breadcrumb a:hover {
    opacity: 0.7;
  }
}

body.page {
  background-color: var(--bg-color-page);
}

.ly_pageHeader {
  --bg-img-width: 60%;
  position: relative;
  padding-inline: var(--site-inline-padding);
  height: 160px;
  background-size: var(--bg-img-width) auto;
  background-position: bottom right -60px;
  background-repeat: no-repeat;
  background-color: var(--bg-color-page);
  background-image: url(../images/common/bg-page-header.webp);
}
@media screen and (min-width: 768px) {
  .ly_pageHeader {
    --bg-img-width: clamp(400px, 60px + 44.271vw, 910px);
    height: auto;
    aspect-ratio: 1920/480;
  }
}
@media screen and (min-width: 1367px) {
  .ly_pageHeader {
    --site-inline-padding: clamp(0px, 273.438px + -15.625vw, 60px);
  }
}
@media screen and (max-width: 767px) {
  .page-ms-genkakanri .ly_pageHeader, .page-simplify .ly_pageHeader, .page-equip .ly_pageHeader, .page-protect .ly_pageHeader, .page-advance .ly_pageHeader {
    height: 360px;
    --bg-img-width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .page-ms-genkakanri .ly_pageHeader::before, .page-simplify .ly_pageHeader::before, .page-equip .ly_pageHeader::before, .page-protect .ly_pageHeader::before, .page-advance .ly_pageHeader::before {
    content: "";
    background-image: var(--product-bg-img, none);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 30px;
    left: 0;
    aspect-ratio: 356/295;
    height: auto;
    width: 356px;
    width: clamp(240px, 107.429px + 12.946vw, 356px);
  }
  .page-ms-genkakanri .ly_pageHeader .bl_pageHeader_inner, .page-simplify .ly_pageHeader .bl_pageHeader_inner, .page-equip .ly_pageHeader .bl_pageHeader_inner, .page-protect .ly_pageHeader .bl_pageHeader_inner, .page-advance .ly_pageHeader .bl_pageHeader_inner {
    margin-inline: clamp(190px, -4.286px + 18.973vw, 360px) auto;
  }
}
@media screen and (min-width: 1921px) {
  .page-ms-genkakanri .ly_pageHeader .bl_pageHeader_inner, .page-simplify .ly_pageHeader .bl_pageHeader_inner, .page-equip .ly_pageHeader .bl_pageHeader_inner, .page-protect .ly_pageHeader .bl_pageHeader_inner, .page-advance .ly_pageHeader .bl_pageHeader_inner {
    margin-inline: auto;
  }
}
.page-protect .ly_pageHeader {
  --tw-box-bg-color: var(--cat-color-protect);
  --product-bg-img: url(../images/page/bg-page-header-protect.webp);
}
.page-simplify .ly_pageHeader {
  --tw-box-bg-color: var(--cat-color-simplify);
  --product-bg-img: url(../images/page/bg-page-header-simplify.webp);
}
.page-advance .ly_pageHeader {
  --tw-box-bg-color: var(--cat-color-advance);
  --product-bg-img: url(../images/page/bg-page-header-advance.webp);
}
.page-equip .ly_pageHeader {
  --tw-box-bg-color: var(--cat-color-equip);
  --product-bg-img: url(../images/page/bg-page-header-equip.webp);
}
.page-ms-genkakanri .ly_pageHeader {
  --tw-box-bg-color: var(--cat-color-simplify);
  --product-bg-img: url(../images/page/bg-genkakanri-heading-2.webp);
  background-image: url(../images/page/bg-genkakanri-heading.webp);
}
@media screen and (max-width: 767px) {
  .page-ms-genkakanri .ly_pageHeader {
    height: 620px;
    height: clamp(600px, 322.577px + 73.98vw, 890px);
    background-position: bottom center;
  }
}
@media screen and (min-width: 768px) {
  .page-ms-genkakanri .ly_pageHeader {
    --bg-img-width: clamp(500px, 42.857px + 44.643vw, 900px);
    height: 356px;
  }
}
@media screen and (min-width: 1025px) {
  .page-ms-genkakanri .ly_pageHeader {
    height: auto;
    aspect-ratio: 1920/640;
  }
}
.page-ms-genkakanri .ly_pageHeader .bl_pageHeader_inner {
  padding-top: clamp(30px, -12.314px + 4.132vw, 60px);
}
@media screen and (min-width: 1750px) {
  .page-ms-genkakanri .ly_pageHeader .bl_pageHeader_inner {
    padding-top: 160px;
  }
}
.page-ms-genkakanri .ly_pageHeader .bl_page_title {
  font-size: 30px;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .page-ms-genkakanri .ly_pageHeader .bl_page_title {
    font-size: clamp(32px, 13.714px + 1.786vw, 48px);
  }
}
@media screen and (min-width: 1025px) {
  .page-ms-genkakanri .ly_pageHeader .bl_page_title {
    font-size: clamp(28px, -1.942px + 2.924vw, 38px);
  }
}
@media screen and (min-width: 1367px) {
  .page-ms-genkakanri .ly_pageHeader .bl_page_title {
    font-size: clamp(32px, 13.714px + 1.786vw, 48px);
  }
}
@media screen and (min-width: 1750px) {
  .page-ms-genkakanri .ly_pageHeader .bl_page_title br {
    display: none;
  }
}

.bl_pageHeader_inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding-inline: 0;
  padding-block: 50px;
  width: 100%;
  margin-inline: auto;
  max-width: var(--content-width);
  height: 100%;
}
@media screen and (min-width: 768px) {
  .bl_pageHeader_inner {
    padding-top: clamp(30px, 18.571px + 1.116vw, 40px);
  }
}
@media screen and (min-width: 1025px) {
  .bl_pageHeader_inner {
    padding-top: 160px;
    padding-bottom: 0;
    padding-top: clamp(40px, -97.143px + 13.393vw, 160px);
  }
}
.bl_pageHeader_inner .bl_page_title {
  position: relative;
  z-index: 2;
  color: var(--main-color);
  font-weight: var(--fw-bold);
  line-height: 1.2;
  text-align: left;
  letter-spacing: 0.1em;
  font-size: 32px;
  text-shadow: 0 0px 5px var(--bg-color-page);
}
@media screen and (min-width: 768px) {
  .bl_pageHeader_inner .bl_page_title {
    font-size: 56px;
    font-size: clamp(44px, 30.286px + 1.339vw, 56px);
  }
}
.bl_pageHeader_inner .bl_page_title .product_name {
  display: block;
  color: var(--text-color);
  font-size: 0.833em;
  margin-bottom: 14px;
}
@media screen and (min-width: 768px) {
  .bl_pageHeader_inner .bl_page_title .product_name {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_pageHeader_inner .bl_page_title .product_name {
    margin-bottom: clamp(8px, -27.93px + 3.509vw, 20px);
  }
}
@media screen and (min-width: 1367px) {
  .bl_pageHeader_inner .bl_page_title .product_name {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .page-terms-of-use .bl_pageHeader_inner .bl_page_title {
    font-size: 28px;
    font-feature-settings: "palt";
  }
  .page-terms-of-use .bl_pageHeader_inner .bl_page_description {
    font-size: 12px;
    font-feature-settings: "palt";
  }
}
.bl_pageHeader_inner .bl_page_description {
  font-weight: var(--fw-bold);
  margin-top: 14px;
  font-size: 14px;
  letter-spacing: 0em;
}
@media screen and (min-width: 768px) {
  .bl_pageHeader_inner .bl_page_description {
    margin-top: 20px;
    font-size: clamp(16px, 13.714px + 0.223vw, 18px);
  }
}
@media screen and (min-width: 1025px) {
  .bl_pageHeader_inner .bl_page_description {
    margin-top: clamp(8px, -27.93px + 3.509vw, 20px);
    font-size: clamp(14px, 8.012px + 0.585vw, 16px);
  }
}
@media screen and (min-width: 1367px) {
  .bl_pageHeader_inner .bl_page_description {
    margin-top: 20px;
    font-size: clamp(16px, 13.714px + 0.223vw, 18px);
  }
}
.bl_pageHeader_inner .tw-box {
  font-size: 16px;
  line-height: 1.5;
  height: 24px;
  letter-spacing: 0em;
  margin-bottom: 10px;
  text-shadow: none;
}
@media screen and (min-width: 1025px) {
  .bl_pageHeader_inner .tw-box {
    margin-bottom: 20px;
    font-size: clamp(15px, 4.714px + 1.004vw, 24px);
    height: clamp(30px, 18.571px + 1.116vw, 40px);
  }
}
.bl_pageHeader_inner ul.bl_page_labels {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 8px;
       column-gap: 8px;
  margin-top: 20px;
  row-gap: 8px;
}
@media screen and (min-width: 768px) {
  .bl_pageHeader_inner ul.bl_page_labels {
    -moz-column-gap: 16px;
         column-gap: 16px;
    margin-top: 15px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_pageHeader_inner ul.bl_page_labels {
    margin-top: 20px;
  }
}
.bl_pageHeader_inner ul.bl_page_labels .bl_page_label {
  font-feature-settings: "palt";
  background-color: #fff;
  color: var(--main-color);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 10px;
  font-weight: var(--fw-bold);
  letter-spacing: 0em;
  padding-block: 1px;
  font-size: 14px;
  line-height: 1.2;
  border-radius: 99px;
  padding-inline: 20px;
  border: 1px solid #d3d3d3;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .bl_pageHeader_inner ul.bl_page_labels .bl_page_label {
    font-size: 12px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_pageHeader_inner ul.bl_page_labels .bl_page_label {
    font-size: clamp(14px, 9.429px + 0.446vw, 18px);
    min-height: 36px;
  }
}

.archive .bl_article_content,
.page .bl_article_content {
  --article-mt: 15px;
  --page-fsz: 14px;
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
  font-size: var(--page-fsz, 16px);
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content,
  .page .bl_article_content {
    --page-fsz: 16px;
    --article-mt: 30px;
  }
}
.archive .bl_article_content > * + h2,
.page .bl_article_content > * + h2 {
  --article-mt: 60px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content > * + h2,
  .page .bl_article_content > * + h2 {
    --article-mt: 80px;
  }
}
.archive .bl_article_content p,
.page .bl_article_content p {
  line-height: 1.75;
}
.archive .bl_article_content p a,
.page .bl_article_content p a {
  color: var(--link-color);
  transition: opacity var(--transition);
  text-decoration: underline;
  text-underline-offset: 8px;
}
@media (hover: hover) {
  .archive .bl_article_content p a:hover,
  .page .bl_article_content p a:hover {
    opacity: 0.7;
  }
}
.archive .bl_article_content p + p,
.page .bl_article_content p + p {
  margin-top: 2em;
}
.archive .bl_article_content h2,
.page .bl_article_content h2 {
  position: relative;
  font-weight: var(--fw-bold);
  font-style: normal;
  font-size: var(--page-h2-fsz);
  color: var(--main-color);
}
.archive .bl_article_content h2.lp_heading,
.page .bl_article_content h2.lp_heading {
  color: var(--main-color);
  line-height: 1.5;
  --page-h2-fsz: 24px;
  position: relative;
  font-feature-settings: "palt";
  letter-spacing: 0em;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content h2.lp_heading,
  .page .bl_article_content h2.lp_heading {
    letter-spacing: 0.1em;
    gap: 20px;
    --page-h2-fsz: 48px;
    --page-h2-fsz: clamp(36px, 22.286px + 1.339vw, 48px);
  }
}
.archive .bl_article_content h2.lp_heading .tw-box,
.page .bl_article_content h2.lp_heading .tw-box {
  font-size: 16px;
  line-height: 1.3;
  margin-bottom: 16px;
  padding-block: 3px;
  height: 26px;
  padding-inline: 5px;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content h2.lp_heading .tw-box,
  .page .bl_article_content h2.lp_heading .tw-box {
    font-size: 24px;
    font-size: clamp(18px, 11.143px + 0.67vw, 24px);
    height: clamp(32px, 22.857px + 0.893vw, 40px);
    margin-bottom: 40px;
    margin-bottom: clamp(20px, -2.857px + 2.232vw, 40px);
  }
}
.archive .bl_article_content h2.lp_heading .el_heading_flex,
.page .bl_article_content h2.lp_heading .el_heading_flex {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-direction: row;
}
@media screen and (min-width: 768px) {
  .archive .bl_article_content h2.lp_heading .el_heading_flex,
  .page .bl_article_content h2.lp_heading .el_heading_flex {
    gap: 20px;
  }
}
.archive .bl_article_content h2.lp_heading .el_balloon,
.page .bl_article_content h2.lp_heading .el_balloon {
  color: var(--text-color);
  background-image: url(../images/common/bg-balloon.svg);
  background-repeat: no-repeat;
  background-position: left bottom;
  padding-block: 0 23px;
  letter-spacing: 0em;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .archive .bl_article_content h2.lp_heading .el_balloon,
  .page .bl_article_content h2.lp_heading .el_balloon {
    right: 0px;
    background-size: 372px 16px;
    top: -24px;
    position: absolute;
    width: 45%;
  }
}
@media screen and (min-width: 768px) {
  .archive .bl_article_content h2.lp_heading .el_balloon,
  .page .bl_article_content h2.lp_heading .el_balloon {
    right: 0px;
    top: 60px;
    background-size: 100%;
    letter-spacing: 0;
    margin-top: -20px;
    width: auto;
  }
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content h2.lp_heading .el_balloon,
  .page .bl_article_content h2.lp_heading .el_balloon {
    margin-inline: 20px;
    font-size: 16px;
  }
}
.archive .bl_article_content h2.is-style-page-heading,
.archive .bl_article_content h2.page_heading,
.page .bl_article_content h2.is-style-page-heading,
.page .bl_article_content h2.page_heading {
  font-weight: var(--fw-bold);
  letter-spacing: 0.1em;
  line-height: 1.3;
  --page-h2-fsz: 26px;
  padding-bottom: 23px;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content h2.is-style-page-heading,
  .archive .bl_article_content h2.page_heading,
  .page .bl_article_content h2.is-style-page-heading,
  .page .bl_article_content h2.page_heading {
    padding-bottom: 26px;
    --page-h2-fsz: 40px;
  }
}
.archive .bl_article_content h2.is-style-page-heading:after,
.archive .bl_article_content h2.page_heading:after,
.page .bl_article_content h2.is-style-page-heading:after,
.page .bl_article_content h2.page_heading:after {
  content: "";
  display: block;
  width: 80px;
  height: 6px;
  border-radius: 3px;
  background-color: var(--sub-color);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.archive .bl_article_content h2.is-style-page-heading.is_heading_left,
.archive .bl_article_content h2.page_heading.is_heading_left,
.page .bl_article_content h2.is-style-page-heading.is_heading_left,
.page .bl_article_content h2.page_heading.is_heading_left {
  text-align: left;
}
.archive .bl_article_content h2.is-style-page-heading.is_heading_left::after,
.archive .bl_article_content h2.page_heading.is_heading_left::after,
.page .bl_article_content h2.is-style-page-heading.is_heading_left::after,
.page .bl_article_content h2.page_heading.is_heading_left::after {
  left: 0;
  transform: none;
}
.archive .bl_article_content h2.bl_product_heading,
.page .bl_article_content h2.bl_product_heading {
  letter-spacing: 0.1em;
  line-height: 1.3;
  --page-h2-fsz: 26px;
  --section-mt: 80px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content h2.bl_product_heading,
  .page .bl_article_content h2.bl_product_heading {
    --section-mt: 120px;
    --page-h2-fsz: 40px;
  }
}
.archive .bl_article_content h2.bl_product_heading .el_product_subTitle,
.page .bl_article_content h2.bl_product_heading .el_product_subTitle {
  display: block;
  color: var(--sub-color);
  letter-spacing: 0em;
  font-size: 13px;
  margin-bottom: 8px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content h2.bl_product_heading .el_product_subTitle,
  .page .bl_article_content h2.bl_product_heading .el_product_subTitle {
    font-size: 18px;
    margin-bottom: 18px;
  }
}
.archive .bl_article_content h3,
.page .bl_article_content h3 {
  font-weight: var(--fw-bold);
  font-size: var(--page-h3-fsz, 32px) !important;
  line-height: 1.5;
  font-feature-settings: "palt";
}
.archive .bl_article_content h3.has_underLine,
.page .bl_article_content h3.has_underLine {
  --page-h3-fsz: 28px;
  position: relative;
  padding-bottom: 20px;
  text-align: center;
}
.archive .bl_article_content h3.has_underLine::after,
.page .bl_article_content h3.has_underLine::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 6px;
  background-color: var(--sub-color);
}
@media screen and (min-width: 768px) {
  .archive .bl_article_content h3.has_underLine,
  .page .bl_article_content h3.has_underLine {
    --page-h3-fsz: 40px;
  }
}
.archive .bl_article_content h4,
.page .bl_article_content h4 {
  font-weight: var(--fw-bold);
  font-feature-settings: "palt";
  font-size: var(--page-h4-fsz, 24px) !important;
  line-height: 1.5;
  color: var(--main-color);
}
.archive .bl_article_content table,
.page .bl_article_content table {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  border-collapse: collapse;
}
.archive .bl_article_content table th,
.archive .bl_article_content table td,
.page .bl_article_content table th,
.page .bl_article_content table td {
  padding-block: 20px;
  padding-inline: 8px;
  border: 1px solid var(--border-color);
  letter-spacing: 0.05em;
  font-size: 14px;
  line-height: 2.07;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content table th,
  .archive .bl_article_content table td,
  .page .bl_article_content table th,
  .page .bl_article_content table td {
    padding-block: 25px;
    padding-inline: 40px;
  }
}
.archive .bl_article_content table th,
.page .bl_article_content table th {
  background: #f5f8fd;
  width: 28%;
}
.archive .bl_article_content table td,
.page .bl_article_content table td {
  background: #fff;
}
.archive .bl_article_content table td ul,
.page .bl_article_content table td ul {
  padding-left: 1.3em;
}
.archive .bl_article_content table td ul li,
.page .bl_article_content table td ul li {
  list-style: disc;
  line-height: 1.4;
}
.archive .bl_article_content table td ul li + li,
.page .bl_article_content table td ul li + li {
  margin-top: 10px;
}
.archive .bl_article_content section,
.page .bl_article_content section {
  max-width: var(--content-width);
  margin-inline: auto;
}
.archive .bl_article_content section.full-width,
.page .bl_article_content section.full-width {
  max-width: none;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  --article-mt: 0;
}
.archive .bl_article_content section > * + *,
.page .bl_article_content section > * + * {
  margin-top: 30px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content section > * + *,
  .page .bl_article_content section > * + * {
    margin-top: 40px;
  }
}
.archive .bl_article_content section > .is_align_left + *,
.archive .bl_article_content section > .is_align_right + *,
.archive .bl_article_content section > h3 + *,
.archive .bl_article_content section > h2 + *,
.page .bl_article_content section > .is_align_left + *,
.page .bl_article_content section > .is_align_right + *,
.page .bl_article_content section > h3 + *,
.page .bl_article_content section > h2 + * {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content section > .is_align_left + *,
  .archive .bl_article_content section > .is_align_right + *,
  .archive .bl_article_content section > h3 + *,
  .archive .bl_article_content section > h2 + *,
  .page .bl_article_content section > .is_align_left + *,
  .page .bl_article_content section > .is_align_right + *,
  .page .bl_article_content section > h3 + *,
  .page .bl_article_content section > h2 + * {
    margin-top: 30px;
  }
}
.archive .bl_article_content section > * + h2,
.page .bl_article_content section > * + h2 {
  margin-top: 60px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content section > * + h2,
  .page .bl_article_content section > * + h2 {
    margin-top: 80px;
  }
}
.archive .bl_article_content section > * + h3,
.page .bl_article_content section > * + h3 {
  margin-top: 40px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content section > * + h3,
  .page .bl_article_content section > * + h3 {
    margin-top: 60px;
  }
}
.archive .bl_article_content .bl_section_inner,
.page .bl_article_content .bl_section_inner {
  --section-mt: 36px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .bl_section_inner,
  .page .bl_article_content .bl_section_inner {
    --section-mt: 60px;
  }
}
.archive .bl_article_content .bl_section_inner > * + *,
.page .bl_article_content .bl_section_inner > * + * {
  margin-top: var(--section-mt, 30px);
}
.archive .bl_article_content .is_style_disc,
.page .bl_article_content .is_style_disc {
  padding-left: 1.3em;
}
.archive .bl_article_content .is_style_disc li,
.page .bl_article_content .is_style_disc li {
  list-style: disc;
}
.archive .bl_article_content figure.has_cover,
.page .bl_article_content figure.has_cover {
  position: relative;
}
.archive .bl_article_content figure.has_cover::after,
.page .bl_article_content figure.has_cover::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #777e00;
  opacity: 0.08;
}
.archive .bl_article_content figcaption,
.page .bl_article_content figcaption {
  line-height: 1;
  font-size: 16px;
  text-align: right;
}
.archive .bl_article_content .el_contentBox,
.page .bl_article_content .el_contentBox {
  background-color: #f2f5f6;
  padding-block: 30px;
  padding-inline: 25px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .el_contentBox,
  .page .bl_article_content .el_contentBox {
    padding-block: 40px;
    padding-inline: 60px;
  }
}
.archive .bl_article_content .el_contentBox > * + *,
.page .bl_article_content .el_contentBox > * + * {
  margin-top: 20px;
}
.archive .bl_article_content .bl_columns.is_flex,
.page .bl_article_content .bl_columns.is_flex {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .bl_columns.is_flex,
  .page .bl_article_content .bl_columns.is_flex {
    flex-direction: row;
    gap: 70px;
    justify-content: center;
  }
}
.archive .bl_article_content .bl_columns.is_flex .el_column figure,
.page .bl_article_content .bl_columns.is_flex .el_column figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.archive .bl_article_content .bl_columns.is_flex .el_column figure figcaption,
.page .bl_article_content .bl_columns.is_flex .el_column figure figcaption {
  width: 100%;
  text-align: right;
}
.archive .bl_article_content .bl_companyMap,
.page .bl_article_content .bl_companyMap {
  --article-mt: 80px;
}
.archive .bl_article_content .bl_companyMap iframe,
.page .bl_article_content .bl_companyMap iframe {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1000/680;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .bl_companyMap iframe,
  .page .bl_article_content .bl_companyMap iframe {
    aspect-ratio: 1000/480;
  }
}
.archive .bl_article_content .el_mediaText_content > * + *,
.page .bl_article_content .el_mediaText_content > * + * {
  margin-top: var(--media-content-mt, 20px);
}
.archive .bl_article_content .el_linkButton,
.page .bl_article_content .el_linkButton {
  margin-top: var(--linkButton-mt, 60px);
  margin-inline: auto;
  --linkButton-mt: 40px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .el_linkButton,
  .page .bl_article_content .el_linkButton {
    --linkButton-mt: 60px;
    margin-inline: 0 auto;
  }
}
.archive .bl_article_content .bl_pageFootButtons,
.page .bl_article_content .bl_pageFootButtons {
  display: flex;
  justify-content: center;
  margin-block: 60px;
}
.archive .bl_article_content .bl_pageFootButtons .el_linkButton,
.page .bl_article_content .bl_pageFootButtons .el_linkButton {
  margin-inline: auto;
}
.archive .bl_article_content .bl_mediaText,
.page .bl_article_content .bl_mediaText {
  --content-width: 1fr;
  --image-width: 46.6%;
  gap: 40px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .bl_mediaText,
  .page .bl_article_content .bl_mediaText {
    gap: 80px;
    gap: clamp(30px, -27.143px + 5.58vw, 80px);
  }
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .bl_mediaText.is_half_fullwidth,
  .page .bl_article_content .bl_mediaText.is_half_fullwidth {
    --image-width: clamp(460px, -66.816px + 51.397vw, 920px);
  }
}
.archive .bl_article_content .bl_mediaText .el_mediaText_content > * + *,
.page .bl_article_content .bl_mediaText .el_mediaText_content > * + * {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .archive .bl_article_content .bl_mediaText .el_mediaText_content > * + *,
  .page .bl_article_content .bl_mediaText .el_mediaText_content > * + * {
    margin-top: 30px;
  }
}
.archive .bl_article_content .bl_mediaText figure,
.page .bl_article_content .bl_mediaText figure {
  border-radius: 24px;
  overflow: hidden;
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .archive .bl_article_content .bl_mediaText figure img,
  .page .bl_article_content .bl_mediaText figure img {
    display: block;
    max-width: 520px;
    margin-inline: auto;
  }
}
.archive .bl_article_content .bl_mediaText.has_frame figure,
.page .bl_article_content .bl_mediaText.has_frame figure {
  background: linear-gradient(90deg, rgb(245, 248, 253) 0%, rgb(234, 240, 253) 99.95%);
  border: 1px solid #d3d3d3;
  padding: 30px;
  height: -moz-fit-content;
  height: fit-content;
}
.archive .bl_article_content .bl_mediaText.has_frame.is_white_frame figure,
.page .bl_article_content .bl_mediaText.has_frame.is_white_frame figure {
  background: #fff;
}
.archive .bl_article_content .bl_mediaText.has_frame.no_padding figure,
.page .bl_article_content .bl_mediaText.has_frame.no_padding figure {
  padding: 0;
}

.bl_problem_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .bl_problem_list {
    margin-top: 60px;
    gap: clamp(20px, -2.857px + 2.232vw, 40px);
    grid-template-columns: 1fr 1fr;
  }
}
.bl_problem_list .bl_problem_item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  background-color: #fff;
  min-height: 120px;
  padding-block: 10px;
  padding-inline: 30px;
  border-radius: 24px;
  font-size: 16px;
  line-height: 1.75;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 1025px) {
  .bl_problem_list .bl_problem_item {
    font-size: 18px;
  }
}
.bl_problem_list .bl_problem_item::before {
  content: "";
  background-image: url(../images/common/icon-check-circle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.el_box_bordered {
  border: 1px solid var(--border-color);
  padding-block: 34px;
  padding-inline: 30px;
  letter-spacing: 0em;
}

.bl_product_list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  counter-reset: product-counter;
  max-width: 520px;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .bl_product_list {
    max-width: none;
    gap: 39px;
    gap: clamp(20px, -1.714px + 2.121vw, 39px);
    flex-direction: row;
  }
}
.bl_product_list .bl_product_item {
  flex: 1;
  list-style: none;
  counter-increment: product-counter;
  width: 100%;
}
.bl_product_list .bl_product_item a {
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background-color: #fff;
  padding-block: 10px;
  padding-inline: 24px;
  border-radius: 8px;
  min-height: 54px;
  text-align: center;
  font-weight: var(--fw-bold);
  color: var(--main-color);
  transition: border-color var(--transition);
}
@media screen and (min-width: 1025px) {
  .bl_product_list .bl_product_item a {
    min-height: clamp(72px, 35.429px + 3.571vw, 104px);
    font-size: clamp(14px, 11.714px + 0.223vw, 16px);
    gap: clamp(16px, -11.429px + 2.679vw, 40px);
    padding-inline: clamp(20px, 15.429px + 0.446vw, 24px);
  }
}
.bl_product_list .bl_product_item a::before {
  content: counter(product-counter, decimal-leading-zero);
  width: 56px;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sub-color);
  font-weight: var(--fw-bold);
  font-size: 18px;
  background-color: var(--bg-color-page);
  flex-shrink: 0;
}
.bl_product_list .bl_product_item a::after {
  flex-shrink: 0;
  content: "";
  background-image: url(../images/common/icon-arrow-down.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 6px;
}
@media (hover: hover) {
  .bl_product_list .bl_product_item a:hover {
    border-color: var(--main-color);
    border-width: 2px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_product_list.col-4 {
    gap: clamp(10px, -1.429px + 1.116vw, 20px);
  }
  .bl_product_list.col-4 .bl_product_item a {
    gap: 8px;
    font-size: clamp(12px, 8.571px + 0.335vw, 15px);
    padding-inline: clamp(10px, -1.429px + 1.116vw, 20px);
  }
  .bl_product_list.col-4 .bl_product_item a::before {
    width: clamp(40px, 21.714px + 1.786vw, 56px);
    font-size: clamp(14px, 9.429px + 0.446vw, 18px);
  }
}
@media screen and (min-width: 1025px) {
  .bl_product_list.col-5 {
    gap: clamp(10px, -1.429px + 1.116vw, 20px);
  }
  .bl_product_list.col-5 .bl_product_item a {
    gap: 8px;
    font-size: clamp(12px, 8.571px + 0.335vw, 15px);
    padding-inline: clamp(10px, -1.429px + 1.116vw, 20px);
  }
  .bl_product_list.col-5 .bl_product_item a::before {
    width: clamp(40px, 21.714px + 1.786vw, 56px);
    font-size: clamp(14px, 9.429px + 0.446vw, 18px);
  }
}
.bl_product_list.col-6 {
  flex-direction: row;
  flex-wrap: wrap;
}
.bl_product_list.col-6 .bl_product_item a {
  font-feature-settings: "palt";
  gap: 6px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
@media screen and (max-width:521px) {
  .bl_product_list.col-6 {
    gap: 16px;
  }
  .bl_product_list.col-6 .bl_product_item a {
    gap: 4px;
    font-size: 12px;
    padding-inline: 10px;
  }
  .bl_product_list.col-6 .bl_product_item a::before {
    width: 30px;
    font-size: 13px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_product_list.col-6 {
    gap: clamp(10px, -1.429px + 1.116vw, 20px);
  }
  .bl_product_list.col-6 .bl_product_item a {
    font-size: clamp(12px, 8.571px + 0.335vw, 15px);
    padding-inline: clamp(10px, 5.429px + 0.446vw, 14px);
  }
  .bl_product_list.col-6 .bl_product_item a::before {
    width: clamp(30px, 18.571px + 1.116vw, 40px);
    font-size: clamp(13px, 9.571px + 0.335vw, 16px);
  }
}

.bl_products .bl_mediaText h3 {
  --page-h3-fsz: 20px;
  letter-spacing: 0.1em;
  line-height: 1.375;
}
@media screen and (min-width: 1025px) {
  .bl_products .bl_mediaText h3 {
    --page-h3-fsz: 32px;
    --page-h3-fsz: clamp(24px, 14.857px + 0.893vw, 32px);
  }
}
.bl_products .bl_mediaText h4 {
  font-weight: var(--fw-bold);
  font-size: 16px;
  letter-spacing: 0em;
  color: var(--main-color);
}
@media screen and (min-width: 1025px) {
  .bl_products .bl_mediaText h4 {
    font-size: 18px;
  }
}
.bl_products .bl_mediaText .el_list_dotted {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  letter-spacing: 0em;
  margin-top: 20px;
}
.bl_products .bl_mediaText .el_list_dotted li::before {
  content: "・";
  padding-inline: 5px;
}
.bl_products .el_products_h3 {
  --page-h3-fsz: 20px;
  letter-spacing: 0.1em;
  line-height: 1.375;
}
@media screen and (min-width: 1025px) {
  .bl_products .el_products_h3 {
    --page-h3-fsz: 32px;
    --page-h3-fsz: clamp(24px, 14.857px + 0.893vw, 32px);
  }
}
.bl_products .el_products_h3 + p {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .bl_products .el_products_h3 + p {
    margin-top: 40px;
  }
}
.bl_products .bl_customers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  flex-wrap: wrap;
  gap: 15px;
}
.bl_products .bl_customers a {
  display: block;
}
.bl_products .bl_customers a img {
  transition: all var(--transition);
}
@media (hover: hover) {
  .bl_products .bl_customers a:hover img {
    transform: scale(1.1);
  }
}
.bl_products .bl_columns {
  gap: clamp(20px, -2.857px + 2.232vw, 40px);
  max-width: 520px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .bl_products .bl_columns {
    max-width: none;
    grid-template-columns: repeat(3, 1fr);
  }
}
.bl_products .bl_columns .el_column a {
  height: 100%;
  display: block;
  background-color: #fff;
  padding-block: 20px 60px;
  padding-inline: 20px;
  border-radius: 8px;
}
@media screen and (min-width: 1025px) {
  .bl_products .bl_columns .el_column a {
    padding-block: 40px;
    padding-inline: 36px;
  }
}
@media (hover: hover) {
  .bl_products .bl_columns .el_column a:hover img {
    transform: scale(1.05);
  }
}
.bl_products .bl_columns .el_column a figure {
  text-align: center;
  overflow: hidden;
  padding-block: 20px;
}
.bl_products .bl_columns .el_column a figure img {
  transition: transform var(--transition);
}
.bl_products .bl_columns .el_column a h4 {
  font-weight: var(--fw-bold);
  color: var(--main-color);
  text-align: center;
  margin-top: 24px;
  --page-h4-fsz: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .bl_products .bl_columns .el_column a h4 {
    min-height: 3em;
    --page-h4-fsz: clamp(16px, 6.278px + 1.266vw, 24px);
  }
}
.bl_products .bl_columns .el_column a p {
  margin-top: 16px;
}
.bl_products .el_company_link {
  display: block;
  background-color: #fff;
  color: var(--main-color);
  padding-block: 12px;
  padding-inline: 10px;
  text-align: center;
  font-weight: var(--fw-bold);
  font-size: 20px;
  white-space: nowrap;
  transition: transform var(--transition);
}
@media (hover: hover) {
  .bl_products .el_company_link:hover {
    transform: scale(1.05);
  }
}

.bl_sdgs_abst,
.bl_philosophy,
.bl_problem {
  border-radius: 0 0 40px 40px;
}
@media screen and (min-width: 1025px) {
  .bl_sdgs_abst,
  .bl_philosophy,
  .bl_problem {
    border-radius: 0 0 120px 120px;
  }
}

.bl_return,
.bl_group,
.bl_others {
  border-radius: 40px 40px 0 0;
}
@media screen and (min-width: 1025px) {
  .bl_return,
  .bl_group,
  .bl_others {
    border-radius: 120px 120px 0 0;
  }
}

ul.bl_others_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  --article-mt: 60px;
}
@media screen and (min-width: 768px) {
  ul.bl_others_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -1.714px + 2.121vw, 39px);
  }
}
ul.bl_others_list .bl_others_item {
  list-style: none;
}
ul.bl_others_list .bl_others_item a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  background-color: #fff;
  padding-block: 10px;
  padding-inline: 24px;
  border-radius: 8px;
  text-align: center;
  font-weight: var(--fw-bold);
  color: var(--main-color);
  transition: border-color var(--transition);
  box-shadow: 0px -6px 0px var(--shadow-color, #666);
  transition: box-shadow var(--transition);
  min-height: 55px;
}
@media screen and (min-width: 1025px) {
  ul.bl_others_list .bl_others_item a {
    min-height: 96px;
    gap: 20px;
    padding-inline: 20px 40px;
    font-size: 24px;
  }
}
ul.bl_others_list .bl_others_item a::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  width: 40px;
}
@media screen and (min-width: 1025px) {
  ul.bl_others_list .bl_others_item a::before {
    width: 56px;
  }
}
ul.bl_others_list .bl_others_item a::after {
  flex-shrink: 0;
  margin-left: auto;
  content: "";
  background-image: url(../images/common/arrow-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
}
@media (hover: hover) {
  ul.bl_others_list .bl_others_item a:hover {
    box-shadow: 0px -9px 0px var(--shadow-color, #666);
  }
}
ul.bl_others_list .bl_others_item.is_advance {
  --shadow-color: var(--cat-color-advance);
}
ul.bl_others_list .bl_others_item.is_advance a::before {
  background-image: url(../images/common/icon-advance.svg);
}
ul.bl_others_list .bl_others_item.is_simplify {
  --shadow-color: var(--cat-color-simplify);
}
ul.bl_others_list .bl_others_item.is_simplify a::before {
  background-image: url(../images/common/icon-simplify.svg);
}
ul.bl_others_list .bl_others_item.is_equip {
  --shadow-color: var(--cat-color-equip);
}
ul.bl_others_list .bl_others_item.is_equip a::before {
  background-image: url(../images/common/icon-equip.svg);
}
ul.bl_others_list .bl_others_item.is_protect {
  --shadow-color: var(--cat-color-protect);
}
ul.bl_others_list .bl_others_item.is_protect a::before {
  background-image: url(../images/common/icon-protect.svg);
}

section.bl_reason .bl_section_inner > * + * {
  --section-mt: 60px;
}
@media screen and (min-width: 1025px) {
  section.bl_reason .bl_section_inner > * + * {
    --section-mt: 120px;
  }
}
section.bl_reason .bl_section_inner h3 {
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 1025px) {
  section.bl_reason .bl_section_inner h3 {
    --page-h3-fsz: 32px;
  }
}
section.bl_reason .bl_section_inner h3 span {
  display: block;
  font-size: 15px;
  color: var(--sub-color);
  letter-spacing: 0em;
}
section.bl_reason .bl_section_inner h4 {
  --page-h4-fsz: 16px;
}
@media screen and (min-width: 1025px) {
  section.bl_reason .bl_section_inner h4 {
    --page-h4-fsz: 22px;
  }
}
section.bl_reason .bl_section_inner h4 {
  font-feature-settings: "palt";
  font-size: clamp(20px, 15.429px + 0.446vw, 24px);
}

ul.bl_episode_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  --article-mt: 60px;
}
@media screen and (min-width: 768px) {
  ul.bl_episode_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -1.714px + 2.121vw, 39px);
  }
}
ul.bl_episode_list .bl_episode_item {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  padding-block: 20px;
  padding-inline: 20px;
}
@media screen and (min-width: 1025px) {
  ul.bl_episode_list .bl_episode_item {
    padding-block: 40px;
    padding-inline: 30px;
  }
}
ul.bl_episode_list .bl_episode_item .el_episode_label {
  color: var(--sub-color);
  font-size: 14px;
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 4px;
  flex-wrap: wrap;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  ul.bl_episode_list .bl_episode_item .el_episode_label {
    flex-direction: row;
  }
}
ul.bl_episode_list .bl_episode_item .el_episode_label span.el_label_title {
  border: 1px solid var(--sub-color);
  padding: 2px 6px;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  padding-inline: 10px;
  padding-block: 2px 3px;
  line-height: 1.2;
  width: -moz-fit-content;
  width: fit-content;
}
ul.bl_episode_list .bl_episode_item h3 {
  margin-top: 10px;
  color: var(--main-color);
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 768px) {
  ul.bl_episode_list .bl_episode_item h3 {
    --page-h3-fsz: clamp(17px, -4px + 2.734vw, 24px);
  }
}
@media screen and (min-width: 1025px) {
  ul.bl_episode_list .bl_episode_item h3 {
    --page-h3-fsz: 24px;
  }
}
ul.bl_episode_list .bl_episode_item p {
  margin-top: 16px;
}

.bl_philosophy .bl_product_list + h2 {
  --section-mt: 120px;
}
.bl_philosophy .el_philosophy {
  text-align: center;
  font-weight: var(--fw-bold);
  font-size: 20px;
  line-height: 1.5 !important;
}
@media screen and (min-width: 1025px) {
  .bl_philosophy .el_philosophy {
    font-size: 32px;
  }
}
.bl_philosophy .bl_ceoMessage {
  text-align: center;
}
.bl_philosophy .bl_ceoMessage .el_ceoMessage_author {
  color: #666;
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  .bl_philosophy .bl_ceoMessage .el_ceoMessage_author {
    font-size: 18px;
  }
}
.bl_philosophy .bl_ceoMessage .el_ceoMessage_text {
  font-size: 20px;
  line-height: 1.5;
  margin-top: 10px !important;
}
@media screen and (min-width: 1025px) {
  .bl_philosophy .bl_ceoMessage .el_ceoMessage_text {
    font-size: 24px;
  }
}

.bl_direction h3 {
  text-align: center;
  --page-h3-fsz: 24px;
}
@media screen and (min-width: 1025px) {
  .bl_direction h3 {
    --page-h3-fsz: 32px;
  }
}

@media screen and (min-width: 1025px) {
  .bl_access .bl_columns {
    gap: clamp(30px, -27.143px + 5.58vw, 80px);
  }
}
.bl_access .bl_column {
  background-color: #fff;
  padding-block: 20px;
  padding-inline: 20px;
  border-radius: 8px;
}
@media screen and (min-width: 1025px) {
  .bl_access .bl_column {
    padding-block: 40px;
    padding-inline: 40px;
  }
}
.bl_access .bl_column > * + * {
  margin-top: 1.25em;
}
.bl_access .bl_column h3 {
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 1025px) {
  .bl_access .bl_column h3 {
    --page-h3-fsz: 24px;
  }
}

.bl_group .bl_mediaText {
  --page-h3-fsz: 22px;
}
@media screen and (min-width: 1025px) {
  .bl_group .bl_mediaText {
    --page-h3-fsz: 32px;
  }
}

.page section.bl_history table th {
  line-height: 1.4;
  font-feature-settings: "palt";
}
@media screen and (max-width:521px) {
  .page section.bl_history table th {
    width: 40%;
  }
}

section.bl_sdgs_abst .bl_sdgs {
  justify-content: center;
  align-items: center;
  font-size: 30px;
  color: #666;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media screen and (min-width: 768px) {
  section.bl_sdgs_abst .bl_sdgs {
    gap: 20px;
    flex-direction: row;
  }
}
section.bl_sdgs_abst .el_box_bordered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
section.bl_sdgs_abst .el_box_bordered h3.el_box_bordered_heading {
  font-weight: var(--fw-bold);
  font-feature-settings: "palt";
  font-size: var(--page-h3-fsz, 24px) !important;
  line-height: 1.5;
  color: var(--main-color);
}
section.bl_sdgs_abst ol li {
  list-style: decimal;
  margin-left: 20px;
  line-height: 1.5;
}
section.bl_sdgs_abst ol li + li {
  margin-top: 10px;
}

.page section.bl_sdgs_action .bl_mediaText {
  background-color: #fff;
  border-radius: 8px;
  padding-block: 40px;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .page section.bl_sdgs_action .bl_mediaText {
    grid-template-columns: var(--content-width) var(--image-width);
    padding-block: 40px;
    padding-inline: 30px;
  }
}
@media screen and (min-width: 1025px) {
  .page section.bl_sdgs_action .bl_mediaText {
    padding-block: 40px;
    padding-inline: 40px;
  }
}
.page section.bl_sdgs_action .bl_mediaText {
  --image-width: 180px;
}
.page section.bl_sdgs_action .bl_mediaText figure {
  border-radius: 0;
}
.page section.bl_sdgs_action .bl_mediaText figure img {
  max-width: 180px;
}
.page section.bl_sdgs_action .bl_mediaText figcaption {
  text-align: center;
  margin-bottom: 10px;
}
.page section.bl_sdgs_action .bl_mediaText .el_mediaText_content h3 {
  color: var(--main-color);
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 1025px) {
  .page section.bl_sdgs_action .bl_mediaText .el_mediaText_content h3 {
    --page-h3-fsz: 28px;
  }
}
.page section.bl_sdgs_action .bl_mediaText .el_mediaText_content p + ul {
  margin-top: 1em;
}
.page section.bl_sdgs_action .bl_mediaText .el_mediaText_content ul li {
  margin-left: 1.3em;
  list-style: disc;
  line-height: 1.4;
}
.page section.bl_sdgs_action .bl_mediaText .el_mediaText_content ul li + li {
  margin-top: 10px;
}

.bl_siteFooter {
  display: flex;
  flex-direction: column;
  gap: 30px;
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter {
    font-size: 16px;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 43px;
  }
}
.bl_siteFooter a:not(.not_link) {
  transition: opacity var(--transition-time);
}
@media (hover: hover) {
  .bl_siteFooter a:not(.not_link):hover {
    opacity: 0.7;
  }
}

.bl_siteFooter_info {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .bl_siteFooter_info {
    flex-shrink: 0;
  }
}
@media screen and (max-width:521px) {
  .bl_siteFooter_info .bl_siteFooter_info_logo {
    width: 299px;
  }
}
.bl_siteFooter_info p {
  font-size: 14px;
  line-height: 1.71428571;
  margin-top: 32px;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_info p {
    font-size: 16px;
    line-height: 1.75;
  }
}
.bl_siteFooter_info p + p {
  margin-top: 24px;
}

.bl_siteFooter_nav_wrapper {
  width: 100%;
}

.bl_siteFooter_nav {
  display: grid;
  gap: 32px;
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_nav {
    grid-template-columns: repeat(4, 1fr);
    max-width: none;
    gap: 20px;
    width: 100%;
    margin-top: 38px;
    justify-content: center;
  }
}
.bl_siteFooter_nav .widget_block.bl_footerWidget {
  width: 100%;
}
.bl_siteFooter_nav h3 {
  font-size: 14px;
  line-height: 1.375;
  color: #999999;
}
.bl_siteFooter_nav a {
  color: var(--main-color);
}
.bl_siteFooter_nav ul.menu > li {
  font-weight: var(--fw-bold);
  letter-spacing: -0.07em;
  margin-top: 16px;
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_nav ul.menu > li {
    font-size: 16px;
    margin-top: 32px;
  }
}
.bl_siteFooter_nav ul.menu > li .global_menu-description {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: -0.1em;
  margin-top: 0;
  font-weight: var(--fw-regular);
  display: inline-block;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_nav ul.menu > li .global_menu-description {
    display: block;
  }
}
.bl_siteFooter_nav ul.menu .sub-menu {
  margin-top: 5px;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_nav ul.menu .sub-menu {
    margin-top: 20px;
  }
}
.bl_siteFooter_nav ul.menu .sub-menu > li {
  font-size: 15px;
  font-weight: var(--fw-regular);
  letter-spacing: -0.07em;
  line-height: 2;
}

.bl_siteFooter_bottom {
  padding-inline: var(--site-inline-padding);
  gap: 40px;
  width: 100%;
  margin-inline: auto;
  max-width: var(--content-width);
  align-items: center;
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_bottom {
    margin-top: 64px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.bl_siteFooter_sns {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  max-width: 338px;
  width: 100%;
  border: 2px solid #b1c0d8;
  color: var(--text-color);
  font-size: 15px;
  font-weight: var(--fw-bold);
  border-radius: 8px;
  padding-inline: 20px;
  padding-block: 10px;
  gap: 12px;
  letter-spacing: -0.05em;
}

.bl_siteFooter_copyRight {
  font-size: 12px;
  color: #a0a0a0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
@media screen and (max-width:521px) {
  .bl_siteFooter_copyRight {
    letter-spacing: -0.02em;
  }
}
@media screen and (min-width: 1025px) {
  .bl_siteFooter_copyRight {
    justify-content: flex-end;
  }
}

.bl_cta {
  color: #fff;
  background-color: var(--main-color);
  width: 100%;
  margin-inline: auto;
  max-width: 1920px;
  padding-inline: 20px;
  padding-block: 60px 80px;
  border-radius: 40px;
}
@media screen and (min-width: 1025px) {
  .bl_cta {
    border-radius: 120px;
    padding-inline: 40px;
    padding-block: 120px;
  }
}
.bl_cta .bl_cta_innner {
  width: 100%;
  max-width: var(--content-width);
  margin-inline: auto;
}
.bl_cta .bl_cta_innner .columns {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
  margin-inline: auto;
  padding-inline: 0;
  max-width: 520px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns {
    max-width: none;
    padding-inline: 30px;
    padding-inline: 0;
    grid-template-columns: 43% 1fr;
    gap: 0;
  }
}
.bl_cta .bl_cta_innner .columns .column {
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns .column:first-child {
    padding-inline: 25px;
    padding-right: 25px;
    padding-left: clamp(0px, -68.333px + 6.667vw, 25px);
  }
}
.bl_cta .bl_cta_innner .columns .column:last-child {
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  padding-top: 36px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns .column:last-child {
    padding-top: 0;
    padding-right: clamp(0px, -68.333px + 6.667vw, 25px);
    padding-left: clamp(25px, -234.667px + 25.333vw, 120px);
    border-top: none;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
  }
  .bl_cta .bl_cta_innner .columns .column:last-child > * {
    margin-inline: auto 0;
  }
}
.bl_cta .bl_cta_innner .columns h2,
.bl_cta .bl_cta_innner .columns h3 {
  font-size: 24px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns h2,
  .bl_cta .bl_cta_innner .columns h3 {
    font-size: 48px;
  }
}
.bl_cta .bl_cta_innner .columns h2 .tw-box,
.bl_cta .bl_cta_innner .columns h3 .tw-box {
  font-size: 16px;
  margin-bottom: 15px;
  padding-inline: 4px;
  padding-block: 4px 5px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns h2 .tw-box,
  .bl_cta .bl_cta_innner .columns h3 .tw-box {
    font-size: 24px;
    margin-bottom: 30px;
    padding-inline: 10px;
    padding-block: 9px 11px;
  }
}
.bl_cta .bl_cta_innner .columns h2 + p,
.bl_cta .bl_cta_innner .columns h3 + p {
  margin-top: 20px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-size: 18px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns h2 + p,
  .bl_cta .bl_cta_innner .columns h3 + p {
    font-size: 24px;
    font-size: clamp(22px, 16.533px + 0.533vw, 24px);
    margin-top: 60px;
  }
}
.bl_cta .bl_cta_innner .columns dl {
  display: grid;
  grid-template-columns: 140px 1fr;
  align-items: center;
  max-width: 452px;
  gap: 10px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns dl {
    gap: 30px;
  }
}
.bl_cta .bl_cta_innner .columns dl dt {
  letter-spacing: 0.1em;
  font-weight: var(--fw-bold);
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns dl dt {
    font-size: 20px;
  }
}
.bl_cta .bl_cta_innner .columns dl dd {
  letter-spacing: 0;
  font-weight: var(--fw-bold);
  font-size: 24px;
  text-align: right;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns dl dd {
    font-size: 40px;
  }
}
.bl_cta .bl_cta_innner .columns dl + dl {
  margin-top: 5px;
}
.bl_cta .bl_cta_innner .columns .bl_cta_note {
  font-weight: var(--fw-regular);
  text-align: right;
  font-size: 14px;
  color: #e0e6fd;
  margin-top: 5px;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns .bl_cta_note {
    margin-top: 10px;
    font-size: 16px;
  }
}
.bl_cta .bl_cta_innner .columns .el_cta_button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-inline: 0;
  padding-block: 5px;
  width: 100%;
  border: 3px solid #fff;
  background-color: var(--menu-color);
  color: #fff;
  border-radius: 99px;
  transition: background-color var(--transition), color var(--transition);
  margin-top: 40px;
  font-size: 20px;
  height: 72px;
  gap: 10px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns .el_cta_button {
    gap: 20px;
    height: 104px;
    font-size: 24px;
    margin-top: 80px;
    max-width: 520px;
  }
}
.bl_cta .bl_cta_innner .columns .el_cta_button::before {
  content: "";
  aspect-ratio: 38/30;
  background-color: #fff;
  -webkit-mask-image: url(../images/common/icon-mail.svg);
  mask-image: url(../images/common/icon-mail.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color var(--transition);
  width: 30px;
}
@media screen and (min-width: 1025px) {
  .bl_cta .bl_cta_innner .columns .el_cta_button::before {
    width: 38px;
  }
}
@media (hover: hover) {
  .bl_cta .bl_cta_innner .columns .el_cta_button:hover {
    background-color: #fff;
    color: var(--menu-color);
  }
  .bl_cta .bl_cta_innner .columns .el_cta_button:hover::before {
    background-color: var(--menu-color);
  }
}

.bl_goTopButton {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  right: 50px;
  bottom: 40px;
  transform-origin: bottom right;
  z-index: 7;
  transition: all var(--transition-time) ease;
  width: 48px;
  height: 24px;
  background-image: url(../images/footer/icon-go-top.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.bl_goTopButton.is_show {
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) {
  .bl_goTopButton:hover {
    opacity: 0.7;
  }
}

.bl_fixedFooter {
  position: fixed;
  z-index: 10;
  bottom: 0;
  right: 0;
  width: 100%;
  background-color: var(--main-color);
  height: 64px;
}
.bl_fixedFooter a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
}
.bl_fixedFooter img {
  height: 100%;
  width: auto;
}
@media screen and (min-width: 1025px) {
  .bl_fixedFooter {
    background-color: transparent;
    right: 40px;
    bottom: 100px;
    right: clamp(20px, -2.857px + 2.232vw, 40px);
    bottom: clamp(40px, -28.571px + 6.696vw, 100px);
    width: clamp(180px, 111.429px + 6.696vw, 240px);
    height: clamp(180px, 111.429px + 6.696vw, 240px);
  }
}

.bl_mainVisual {
  position: relative;
  display: grid;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  height: auto;
  grid-template-areas: "content";
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual {
    aspect-ratio: 1920/1080;
  }
}
.bl_mainVisual .swiper-wrapper {
  margin-inline: auto 0;
  max-width: 1920px;
}
.bl_mainVisual .bl_mainVisual_slide {
  grid-area: content;
  width: 100%;
  height: 100%;
}
.bl_mainVisual .bl_mainVisual_content {
  grid-area: content;
  width: 100%;
  height: 100%;
  z-index: 2;
  padding-block: clamp(40px, 27.697px + 3.155vw, 60px) 0;
  padding-inline: 20px 0;
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual .bl_mainVisual_content {
    padding-block: clamp(110px, 30px + 7.813vw, 180px) 0;
    padding-inline: clamp(40px, -142.857px + 17.857vw, 200px);
  }
}
.bl_mainVisual .bl_mainVisual_copy {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.bl_mainVisual .bl_mainVisual_copy > * {
  position: relative;
  z-index: 1;
}
.bl_mainVisual .bl_mainVisual_copy .tw-box {
  font-size: 16px;
  line-height: 1.3;
  font-weight: var(--fw-semi-bold, 600);
  padding-block: 3px;
  padding-inline: 5px;
  min-height: 26px;
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual .bl_mainVisual_copy .tw-box {
    font-size: 24px;
    min-height: 51px;
    font-size: clamp(18px, 11.143px + 0.67vw, 24px);
    min-height: clamp(36px, 18.857px + 1.674vw, 51px);
  }
}
.bl_mainVisual .bl_mainVisual_copy .el_mainVisual_copy {
  margin-top: 10px;
  letter-spacing: 0.05em;
  color: var(--main-color);
  -webkit-text-stroke: 8px white;
  paint-order: stroke fill;
  font-size: 32px;
  line-height: 1.375;
  font-weight: var(--fw-medium);
  font-size: clamp(32px, 22.755px + 2.465vw, 48px);
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual .bl_mainVisual_copy .el_mainVisual_copy {
    -webkit-text-stroke: clamp(8px, -1.143px + 0.893vw, 16px) white;
    letter-spacing: 0.1em;
    line-height: 1.23;
    margin-top: 20px;
    font-size: clamp(48px, -16px + 6.25vw, 104px);
  }
}
.bl_mainVisual .bl_mainVisual_copy .el_mainVisual_copy > span {
  font-weight: var(--fw-bold);
}
.bl_mainVisual .bl_mainVisual_copy .el_mainVisual_subCopy {
  line-height: 1.75;
  font-size: 16px;
  letter-spacing: 0;
  margin-top: 15px;
  -webkit-text-stroke: 4px white;
  paint-order: stroke fill;
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual .bl_mainVisual_copy .el_mainVisual_subCopy {
    letter-spacing: 0.05em;
    -webkit-text-stroke: clamp(4px, -0.571px + 0.446vw, 8px) white;
    margin-top: 24px;
    font-size: clamp(16px, 6.857px + 0.893vw, 24px);
  }
}
.bl_mainVisual .bl_mainVisual_copy::before {
  content: "";
  background-image: url(../images/top/mv-ornament-1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 498px;
  height: 292px;
  position: absolute;
  z-index: 1;
  aspect-ratio: 128/75;
  height: auto;
  right: 103px;
  right: clamp(70px, 123.3px + -5.205vw, 103px);
  top: 4px;
  width: 94px;
  top: clamp(-25px, 21.839px + -4.574vw, 4px);
  width: clamp(94px, 41.098px + 13.565vw, 180px);
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual .bl_mainVisual_copy::before {
    top: -88px;
    top: clamp(-88px, 49.143px + -7.143vw, -24px);
    right: 100px;
    width: 498px;
    width: clamp(194px, -153.429px + 33.929vw, 498px);
  }
}
.bl_mainVisual::after {
  content: "";
  background-image: url(../images/top/mv-2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 504px;
  height: 392px;
  position: absolute;
  z-index: 1;
  aspect-ratio: 203/150;
  height: auto;
  position: absolute;
  top: 76px;
  right: clamp(0px, -24.606px + 6.309vw, 40px);
  width: 80px;
  width: clamp(80px, 6.183px + 18.927vw, 200px);
  animation: floatAnime 3s ease-in-out infinite alternate;
  will-change: transform;
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual::after {
    top: 284px;
    right: 40px;
    top: clamp(190px, 82.571px + 10.491vw, 284px);
    right: clamp(20px, -2.857px + 2.232vw, 40px);
    width: clamp(200px, -147.429px + 33.929vw, 504px);
  }
}
.bl_mainVisual img.bl_mainVisual_gif {
  margin-left: clamp(-160px, 140px + -15.625vw, -20px);
  width: clamp(550px, -42px + 57.813vw, 1068px);
}

.page,
.home {
  --article-mt: 0;
  --section-ptb: 60px;
}
@media screen and (min-width: 1025px) {
  .page,
  .home {
    --section-ptb: 120px;
  }
}
.page .section_pb_tb,
.home .section_pb_tb {
  padding-block: var(--section-ptb);
}
.page section.full-width,
.home section.full-width {
  padding-inline: var(--site-inline-padding);
}

.home .bl_article_content {
  max-width: none;
  padding-inline: 0;
}
.home .bl_article_content section {
  max-width: none;
}
.home .bl_article_content section .bl_section_inner > h2 + p,
.home .bl_article_content section .bl_section_inner > p + p {
  margin-top: 2em;
}

.bl_section_inner {
  max-width: var(--content-width);
  margin-inline: auto;
}

.no_news p {
  text-align: center;
  margin: 100px;
}

section.bl_top_about {
  position: relative;
  border-radius: 0 0 40px 40px;
  --section-ptb: 60px 176px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_about {
    --section-ptb: clamp(60px, -250.857px + 30.357vw, 332px) 156px;
    border-radius: 0 0 120px 120px;
  }
}
section.bl_top_about::after {
  content: "";
  background-image: url(../images/common/bg-page-header.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 910px;
  height: 419px;
  position: absolute;
  z-index: 0;
  aspect-ratio: 35/16;
  height: auto;
  bottom: 0;
  right: -10px;
  width: 300px;
  width: clamp(300px, 189.274px + 28.391vw, 480px);
}
@media screen and (min-width: 1025px) {
  section.bl_top_about::after {
    bottom: 0;
    right: 0;
    width: clamp(610px, 267.143px + 33.482vw, 910px);
  }
}
section.bl_top_about .bl_section_inner {
  position: relative;
  z-index: 1;
}
section.bl_top_about p {
  letter-spacing: 0em;
  font-feature-settings: "palt";
}
section.bl_top_about .el_about_img {
  --section-mt: 0;
  position: absolute;
  top: -35px;
  right: -28px;
  width: 140px;
  width: clamp(140px, 29.274px + 28.391vw, 320px);
  aspect-ratio: 25/23;
}
@media screen and (min-width: 1025px) {
  section.bl_top_about .el_about_img {
    right: 0;
    top: clamp(-184px, -4px + -9.375vw, -100px);
    width: clamp(320px, 0px + 31.25vw, 600px);
  }
}

section.bl_top_solution {
  position: relative;
  z-index: 2;
  --section-ptb: 60px 60px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_solution {
    --section-ptb: 120px 120px;
    --site-inline-padding: 40px;
  }
}
section.bl_top_solution .bl_section_inner {
  max-width: 1640px;
  margin-inline: auto;
}
section.bl_top_solution .bl_section_inner h2 {
  max-width: var(--content-width);
  margin-inline: auto;
}
section.bl_top_solution .bl_solutions_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width: 600px) {
  section.bl_top_solution .bl_solutions_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  section.bl_top_solution .bl_solutions_list {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    gap: clamp(20px, -8.209px + 2.755vw, 40px);
  }
}
section.bl_top_solution .bl_solutions_item {
  background-color: #fff;
  border-radius: 24px;
  padding: 40px 30px;
  display: flex;
  flex-direction: column;
  font-feature-settings: "palt";
}
@media screen and (min-width: 1025px) {
  section.bl_top_solution .bl_solutions_item {
    padding: 40px;
    padding: clamp(20px, -8.209px + 2.755vw, 40px);
    margin-block: 0 40px;
    font-size: clamp(13px, 8.769px + 0.413vw, 16px);
  }
  section.bl_top_solution .bl_solutions_item:nth-child(2n+2) {
    margin-block: 40px 0;
  }
}
section.bl_top_solution .bl_solutions_item .bl_solutions_title {
  font-weight: var(--fw-bold);
  color: var(--main-color);
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_solution .bl_solutions_item .bl_solutions_title {
    --page-h3-fsz: 32px;
    --page-h3-fsz: clamp(20px, 3.074px + 1.653vw, 32px);
  }
}
section.bl_top_solution .bl_solutions_item > img {
  margin-bottom: 30px;
  margin-top: -30px;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  section.bl_top_solution .bl_solutions_item > img {
    margin-top: -40px;
    margin-top: clamp(-40px, 8.209px + -2.755vw, -20px);
  }
}
section.bl_top_solution .bl_solutions_item ul {
  margin-top: 1em;
  padding-left: 0;
  padding-bottom: 30px;
}
section.bl_top_solution .bl_solutions_item ul li {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: var(--fw-bold);
}
section.bl_top_solution .bl_solutions_item ul li::before {
  content: "-";
  margin-right: 5px;
}
section.bl_top_solution .bl_solutions_item .el_linkButton {
  margin-top: auto;
}
section.bl_top_solution .bl_solutions_item .el_linkButton.is_protect {
  background-color: var(--cat-color-protect);
}
section.bl_top_solution .bl_solutions_item .el_linkButton.is_advance {
  background-color: var(--cat-color-advance);
}
section.bl_top_solution .bl_solutions_item .el_linkButton.is_simplify {
  background-color: var(--cat-color-simplify);
}
section.bl_top_solution .bl_solutions_item .el_linkButton.is_equip {
  background-color: var(--cat-color-equip);
}
section.bl_top_solution img.el_solution_bg {
  margin-inline: auto;
  display: block;
  --section-mt: 0;
}
section.bl_top_solution .bl_partners {
  max-width: var(--content-width);
  margin-inline: auto;
}
section.bl_top_solution .bl_partners h3.el_balloon {
  color: var(--text-color);
  --page-h3-fsz: 14px;
  background-image: url(../images/common/bg-balloon-r.svg);
  background-repeat: no-repeat;
  background-size: 100% 16px;
  background-position: left bottom;
  padding-block: 0 23px;
  width: -moz-fit-content;
  width: fit-content;
}
section.bl_top_solution .bl_partners .bl_partners_inner {
  max-width: 980px;
  margin-inline: auto;
  margin-top: 30px;
}
section.bl_top_solution .bl_partners .bl_tile {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  gap: clamp(20px, -8.209px + 2.755vw, 40px);
}
section.bl_top_solution .bl_partners .el_note {
  margin-inline: auto 0;
  width: -moz-fit-content;
  width: fit-content;
  color: #666;
  margin-top: 20px;
  letter-spacing: 0em;
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 12px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_solution .bl_partners .el_note {
    font-size: 14px;
  }
}

section.bl_top_case {
  position: relative;
  z-index: 1;
  border-radius: 40px 40px 0 0;
  --section-ptb: 90px 60px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_case {
    --section-ptb: 120px;
    border-radius: 120px 120px 0 0;
  }
}
section.bl_top_case .bl_section_inner {
  position: relative;
}
section.bl_top_case .bl_case_item {
  background-color: #fff;
  border-radius: 24px;
  overflow: hidden;
  height: auto;
}
section.bl_top_case .bl_case_item.no_post {
  background-color: transparent;
  margin-inline: auto;
}
@media (hover: hover) {
  section.bl_top_case .bl_case_item:hover .bl_case_thumbnail img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 767px) {
  section.bl_top_case .bl_case_swiper {
    width: 100vw;
    width: 100dvw;
    margin-left: calc(50% - 50dvw);
  }
}
section.bl_top_case figure.bl_case_thumbnail {
  overflow: hidden;
}
section.bl_top_case figure.bl_case_thumbnail img {
  transition: transform var(--transition);
  -o-object-fit: cover;
     object-fit: cover;
}
section.bl_top_case .bl_case_content {
  padding-block: 24px 35px;
  padding-inline: 27px;
  --page-h3-fsz: 18px;
}
section.bl_top_case .bl_case_content .bl_case_title {
  margin-top: 1em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
section.bl_top_case .el_post_category {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
section.bl_top_case .el_post_category > span {
  background-color: var(--cat-color-protect);
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: var(--fw-bold);
  padding-block: 4px;
  padding-inline: 8px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
  min-width: 120px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.bl_top_case .el_post_category > span.is_advance {
  background-color: var(--cat-color-advance);
}
section.bl_top_case .el_post_category > span.is_simplify {
  background-color: var(--cat-color-simplify);
}
section.bl_top_case .el_post_category > span.is_equip {
  background-color: var(--cat-color-equip);
}
@media screen and (min-width: 1025px) {
  section.bl_top_case .el_linkButton {
    position: absolute;
    top: 0;
    right: 0;
  }
}
section.bl_top_case .swiper-button-next,
section.bl_top_case .swiper-button-prev {
  background-color: var(--main-color);
  border-radius: 100%;
  width: 56px;
  height: 56px;
  transition: transform var(--transition);
}
section.bl_top_case .swiper-button-next::after,
section.bl_top_case .swiper-button-prev::after {
  content: "";
  content: "";
  background-image: url(../images/common/arrow-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
}
@media screen and (min-width: 768px) {
  section.bl_top_case .swiper-button-next,
  section.bl_top_case .swiper-button-prev {
    display: none;
  }
}
@media (hover: hover) {
  section.bl_top_case .swiper-button-next:hover,
  section.bl_top_case .swiper-button-prev:hover {
    transform: scale(1.1);
  }
}
section.bl_top_case .swiper-button-prev:after {
  transform: rotate(180deg);
}

section.bl_top_info .columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_top_info .columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    gap: clamp(20px, -52.911px + 9.494vw, 80px);
  }
}
section.bl_top_info .bl_top_info_item {
  background-color: #fff;
  border-radius: 24px;
  padding: 40px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  section.bl_top_info .bl_top_info_item {
    padding: 80px;
  }
}
section.bl_top_info .bl_top_info_item h3 {
  text-align: center;
  color: var(--main-color);
  --page-h3-fsz: 24px;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 1025px) {
  section.bl_top_info .bl_top_info_item h3 {
    --page-h3-fsz: 32px;
  }
}
section.bl_top_info .bl_top_info_item img {
  width: 100%;
  aspect-ratio: 360/240;
  -o-object-fit: contain;
     object-fit: contain;
}
section.bl_top_info .bl_top_info_item p {
  text-align: center;
}

section.bl_top_news {
  border-radius: 40px 40px 0 0;
  --section-ptb: 60px 55px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_news {
    --section-ptb: 120px 105px;
    border-radius: 120px 120px 0 0;
  }
}
section.bl_top_news .bl_columns {
  --section-mt: 40px;
  gap: 30px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_news .bl_columns {
    --section-mt: 60px;
    gap: 80px;
  }
}
section.bl_top_news .bl_columns h3 {
  --page-h3-fsz: 20px;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1025px) {
  section.bl_top_news .bl_columns h3 {
    --page-h3-fsz: 32px;
  }
}
section.bl_top_news .bl_columns .bl_newsList {
  margin-top: 30px;
  border-top: 1px dotted var(--border-color);
}
section.bl_top_news .bl_columns .bl_newsList > a {
  display: block;
  border-bottom: 1px dotted var(--border-color);
  margin-top: 30px;
  padding-bottom: 30px;
}
@media (hover: hover) {
  section.bl_top_news .bl_columns .bl_newsList > a:hover .el_news_content {
    opacity: 1;
  }
  section.bl_top_news .bl_columns .bl_newsList > a:hover .el_news_content::after {
    transform: translateX(3px);
  }
}
section.bl_top_news .bl_columns .el_news_meta {
  letter-spacing: 0.025em;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
section.bl_top_news .bl_columns .el_news_meta .el_post_category {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
section.bl_top_news .bl_columns .el_news_meta .el_post_category > span {
  background-color: #e0e6fd;
  color: #0066ff;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: var(--fw-regular);
  padding-block: 4px;
  padding-inline: 8px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
  min-width: 120px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
section.bl_top_news .bl_columns .el_news_content {
  margin-top: 16px;
  font-weight: var(--fw-bold);
  letter-spacing: 0em;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  transition: opacity var(--transition);
  color: var(--main-color);
}
section.bl_top_news .bl_columns .el_news_content::after {
  transition: transform var(--transition);
  content: "";
  background-image: url(../images/common/arrow-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
}
section.bl_top_news .bl_columns .el_linkButton {
  margin-inline: auto 0;
}
@media (hover: hover) {
  section.bl_top_news .bl_columns .el_linkButton:hover {
    opacity: 1;
  }
  section.bl_top_news .bl_columns .el_linkButton:hover::after {
    transform: translateX(3px);
  }
}
section.bl_top_news .bl_columns .el_linkButton::after {
  background-color: transparent;
  content: "";
  background-image: url(../images/common/arrow-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 12px;
}

section.bl_top_recruit {
  position: relative;
  background-color: var(--main-color);
  color: #fff;
  overflow: hidden;
  border-radius: 40px;
  --section-ptb: 120px 120px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit {
    border-radius: 120px;
    --section-ptb: clamp(80px, -102.857px + 17.857vw, 240px) 278px;
  }
}
section.bl_top_recruit .el_recruit_img_bg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1660px;
  width: 100%;
  height: 100%;
  z-index: 2;
  top: 95px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .el_recruit_img_bg {
    top: 15px;
  }
}
section.bl_top_recruit .el_recruit_img_left,
section.bl_top_recruit .el_recruit_img_right {
  position: absolute;
  top: 0;
  width: 360px;
  width: clamp(210px, 38.571px + 16.741vw, 360px);
  height: 100%;
  z-index: 1;
  overflow: hidden;
  opacity: 0.5;
  margin-block: 0 !important;
  display: flex;
  align-items: center;
}
section.bl_top_recruit .el_recruit_img_left img,
section.bl_top_recruit .el_recruit_img_right img {
  transform: translate3d(0, var(--parallax-y, 0px), 0);
  will-change: transform;
}
@media screen and (max-width: 899px) {
  section.bl_top_recruit .el_recruit_img_left,
  section.bl_top_recruit .el_recruit_img_right {
    display: none;
  }
}
section.bl_top_recruit .el_recruit_img_left {
  left: clamp(30px, -27.143px + 5.58vw, 80px);
}
section.bl_top_recruit .el_recruit_img_right {
  right: clamp(30px, -27.143px + 5.58vw, 80px);
}
section.bl_top_recruit .el_recruit_image {
  position: absolute;
  z-index: 2;
}
section.bl_top_recruit .el_recruit_image img {
  animation: floatAnime 3s ease-in-out infinite alternate;
  will-change: transform;
}
section.bl_top_recruit .el_recruit_image[data-item="1"] img {
  animation-duration: 3s;
  animation-delay: 0s;
}
section.bl_top_recruit .el_recruit_image[data-item="2"] img {
  animation-duration: 3.4s;
  animation-delay: -0.9s;
}
section.bl_top_recruit .el_recruit_image[data-item="3"] img {
  animation-duration: 2.8s;
  animation-delay: -1.8s;
}
section.bl_top_recruit .el_recruit_image[data-item="4"] img {
  animation-duration: 3.7s;
  animation-delay: -2.7s;
}
section.bl_top_recruit .el_recruit_image[data-item="5"] img {
  animation-duration: 3.1s;
  animation-delay: -3.6s;
}
section.bl_top_recruit .el_recruit_image[data-item="6"] img {
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  section.bl_top_recruit .el_recruit_image img {
    animation: none;
  }
}
section.bl_top_recruit .el_recruit_image_1 {
  left: 0;
  top: -65px;
  width: 56px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .el_recruit_image_1 {
    width: 94px;
    left: -264px;
    top: -30px;
    left: clamp(-264px, 301.714px + -29.464vw, 0px);
    top: clamp(-30px, 8.571px + -2.009vw, -12px);
  }
}
section.bl_top_recruit .el_recruit_image_3 {
  right: 40px;
  top: -136px;
  width: 48px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .el_recruit_image_3 {
    right: 40px;
    top: -280px;
    top: clamp(-280px, 41.429px + -16.741vw, -130px);
    width: 74px;
  }
}
section.bl_top_recruit .el_recruit_image_4 {
  right: 0;
  top: 500px;
  width: 112px;
  height: 120px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .el_recruit_image_4 {
    right: -300px;
    top: 130px;
    right: clamp(-300px, 128.571px + -22.321vw, -100px);
    top: clamp(130px, 408.571px + -14.509vw, 260px);
    width: 186px;
    height: 200px;
  }
}
section.bl_top_recruit .el_recruit_image_5 {
  right: 70%;
  bottom: 180px;
  width: 76px;
  height: 80px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .el_recruit_image_5 {
    right: -100px;
    bottom: -140px;
    right: clamp(-100px, 178.571px + -14.509vw, 30px);
    bottom: clamp(-200px, -268.571px + 6.696vw, -140px);
    width: 116px;
    height: 120px;
  }
}
section.bl_top_recruit .el_recruit_image_6 {
  width: 166px;
  height: 120px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -27px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .el_recruit_image_6 {
    width: 310px;
    height: 222px;
    left: 40%;
    bottom: -52px;
  }
}
section.bl_top_recruit .el_recruit_image_bottom {
  width: 100vw;
  height: 220px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  --section-mt: 60px;
}
section.bl_top_recruit .el_recruit_image_bottom + .el_recruit_image_bottom {
  --section-mt: 20px;
}
section.bl_top_recruit .el_recruit_image_bottom img {
  width: 980px;
  height: 220px;
  max-width: none;
  display: block;
  margin-inline: auto;
}
section.bl_top_recruit .el_recruit_image_bottom.is_lower {
  padding-left: 135px;
}
@media screen and (min-width: 900px) {
  section.bl_top_recruit .el_recruit_image_bottom {
    display: none;
  }
}
section.bl_top_recruit .bl_section_inner {
  position: relative;
  z-index: 3;
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-block: 0;
}
section.bl_top_recruit .bl_section_inner h2.lp_heading .tw-box {
  margin-inline: auto;
  position: relative;
}
section.bl_top_recruit .bl_section_inner h2.lp_heading .tw-box::after {
  content: "";
  background-image: url(../images/top/recruit-2.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 44px;
  height: 72px;
  position: absolute;
  top: -39px;
  left: -8px;
  width: 30px;
  height: 48px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .bl_section_inner h2.lp_heading .tw-box::after {
    top: -52px;
    left: -12px;
    width: 44px;
    height: 72px;
  }
}
section.bl_top_recruit .bl_section_inner h2.lp_heading {
  --main-color: #fff;
  text-align: center;
}
section.bl_top_recruit .bl_section_inner p {
  font-feature-settings: "palt";
  font-size: 14px;
  letter-spacing: -0.025em;
  text-align: center;
  font-weight: var(--fw-regular);
  --section-mt: 24px;
}
@media screen and (min-width: 1025px) {
  section.bl_top_recruit .bl_section_inner p {
    font-size: 16px;
    --section-mt: 60px;
  }
}
section.bl_top_recruit .bl_section_inner ul {
  --section-mt: 30px;
}
section.bl_top_recruit .bl_section_inner ul li {
  text-indent: -1.8em;
  padding-left: 1.8em;
  line-height: 1.4;
}
section.bl_top_recruit .bl_section_inner ul li::before {
  content: "";
  background-image: url(../images/common/icon-check-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 18px;
  height: 12px;
  display: inline-block;
  margin-right: 10px;
}
section.bl_top_recruit .bl_section_inner ul li + li {
  margin-top: 10px;
}
section.bl_top_recruit .bl_section_inner a.el_linkButton {
  margin-inline: auto;
  color: #fff;
}
section.bl_top_recruit .bl_section_inner a.el_linkButton::after {
  background-color: #fff;
  background-image: url(../images/common/arrow-blue.svg);
}

.el_recruit_after_image {
  width: 100%;
  max-width: var(--content-width);
  margin-inline: auto;
  position: relative;
}
.el_recruit_after_image figure {
  position: absolute;
  width: 166px;
  height: 120px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -27px;
}
@media screen and (min-width: 1025px) {
  .el_recruit_after_image figure {
    width: 310px;
    height: 222px;
    left: 40%;
    bottom: -52px;
  }
}

section.bl_ms_problem {
  position: relative;
  --section-ptb: 60px 120px;
}
@media screen and (min-width: 1025px) {
  section.bl_ms_problem {
    --section-ptb: 120px;
  }
}
section.bl_ms_problem .bl_section_inner {
  position: relative;
  z-index: 2;
}
section.bl_ms_problem::after {
  content: "";
  background-image: url("../images/page/genkakanri-bg-1.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: -40%;
  height: auto;
  aspect-ratio: 844/300;
  width: 80%;
}
@media screen and (min-width: 768px) {
  section.bl_ms_problem::after {
    right: 0;
    width: clamp(320px, -29.333px + 45.486vw, 844px);
  }
}
section.bl_ms_problem .bl_ms_problem_image {
  position: absolute;
  z-index: 2;
  bottom: -55px;
  left: 20px;
  width: 80%;
  max-width: 420px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_problem .bl_ms_problem_image {
    max-width: none;
    bottom: -90px;
    left: 100px;
    bottom: clamp(-90px, -1.667px + -4.601vw, -37px);
    left: clamp(20px, -33.333px + 6.944vw, 100px);
    width: clamp(360px, 6.667px + 46.007vw, 890px);
  }
}
section.bl_ms_problem ul.bl_ms_problem_list {
  display: grid;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_problem ul.bl_ms_problem_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -2.857px + 2.232vw, 40px);
  }
}
section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item {
  background-color: #fff;
  border-radius: 24px;
  padding-block: 20px;
  padding-inline: 20px;
  letter-spacing: 0em;
  max-width: 520px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item {
    padding-block: 40px;
    padding-inline: 15px;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item {
    padding-block: 40px;
    padding-inline: 40px;
  }
}
section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item figure {
  text-align: center;
}
section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item h3 {
  text-align: center;
  color: var(--main-color);
  font-weight: var(--fw-bold);
  margin-top: 30px;
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item h3 {
    --page-h3-fsz: 24px;
    --page-h3-fsz: clamp(17px, 8.494px + 1.108vw, 24px);
  }
}
section.bl_ms_problem ul.bl_ms_problem_list .bl_ms_problem_item p {
  margin-top: 20px;
}

section.bl_ms_product {
  background-image: url("../images/page/bg-genkakanri-product.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  --section-ptb: 96px 192px;
}
@media screen and (min-width: 1025px) {
  section.bl_ms_product {
    --section-ptb: 120px 248px;
  }
}
section.bl_ms_product .bl_ms_detail_list {
  display: grid;
  gap: 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_detail_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -143.404px + 15.957vw, 80px);
    background-image: url("../images/page/genkakanri-text.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 776px auto;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_ms_product .bl_ms_detail_list::before {
    content: "";
    background-image: url("../images/page/genkakanri-bg-2.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 556px;
    height: 400px;
    position: absolute;
    bottom: -120px;
    left: -180px;
  }
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item {
  display: grid;
  gap: 40px;
  position: relative;
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item::before {
  content: "";
  background-image: url("../images/common/icon-arrow-right.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 24px;
  position: absolute;
  bottom: -43px;
  left: 50%;
  transform: rotate(90deg) translateX(-50%);
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item {
    gap: 80px;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
  section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item::before {
    content: none;
  }
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item:last-child:before,
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item:last-child .bl_ms_detail_item_inner:first-child:before {
  content: none;
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner {
  background-color: #ffffff;
  border-radius: 28px;
  padding-block: 44px 10px;
  padding-inline: 20px;
  text-align: center;
  min-height: 280px;
  position: relative;
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner figure {
  display: flex;
  align-items: center;
  justify-content: center;
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner h3 {
  font-weight: var(--fw-bold);
  margin-top: 20px;
  --page-h3-fsz: 24px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner h3 {
    --page-h3-fsz: 32px;
    --page-h3-fsz: clamp(24px, 14.278px + 1.266vw, 32px);
  }
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner p {
  margin-top: 10px;
  color: var(--main-color);
  line-height: 1.5;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner p {
    font-size: clamp(14px, 9.139px + 0.633vw, 18px);
  }
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner p.el_note {
  color: var(--text-color);
  font-size: 0.88em;
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner p + p {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner:first-child::before {
    content: "";
    background-image: url("../images/common/icon-arrow-right.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 24px;
    position: absolute;
    top: 50%;
    right: -17px;
    transform: translateY(-50%);
    right: clamp(-43px, 53.809px + -6.915vw, -17px);
  }
}
section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner:nth-child(2)::before {
  content: "";
  width: 3px;
  background-color: var(--main-color);
  position: absolute;
  height: 40px;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_detail_list .bl_ms_detail_item_inner:nth-child(2)::before {
    height: 80px;
    top: -80px;
  }
}
section.bl_ms_product p.has_arrow_bg {
  text-align: center;
  position: relative;
  z-index: 2;
  letter-spacing: 0.1em;
  font-weight: var(--fw-bold);
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("../images/page/genkakanri-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 240px 80px;
  padding-bottom: 10px;
  font-size: 24px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product p.has_arrow_bg {
    font-size: 32px;
    font-size: clamp(24px, 14.278px + 1.266vw, 32px);
  }
}
section.bl_ms_product .bl_ms_feature_list {
  display: grid;
  gap: 40px;
  position: relative;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_feature_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -31.745px + 5.053vw, 39px);
  }
}
section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item {
  background-color: #fff;
  border-radius: 24px;
  overflow: hidden;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 20px;
  max-width: 520px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item {
    gap: 30px;
  }
}
section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item > div {
  letter-spacing: 0em;
  padding-block: 20px 0;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item > div {
    padding-block: 40px 0;
    padding-inline: 16px;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item > div {
    padding-block: 40px 0;
    padding-inline: 40px;
  }
}
section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item h3 {
  text-align: center;
  color: var(--main-color);
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item h3 {
    --page-h3-fsz: 24px;
    --page-h3-fsz: clamp(17px, 8.494px + 1.108vw, 24px);
  }
}
section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item h3 + p {
  margin-top: 16px;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item h3 + p {
    font-size: clamp(14px, 11.57px + 0.316vw, 16px);
  }
}
section.bl_ms_product .bl_ms_feature_list .bl_ms_feature_item img {
  max-width: none;
  width: 100%;
}

.page .bl_article_content section.bl_ms_point {
  position: relative;
  background: #fff linear-gradient(180deg, rgba(0, 242, 254, 0.2) 0%, rgba(79, 172, 254, 0.2) 100%);
  border-radius: 40px;
  margin-top: -60px !important;
}
@media screen and (min-width: 1025px) {
  .page .bl_article_content section.bl_ms_point {
    margin-top: -128px !important;
    border-radius: 120px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_product_heading + p {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_product_heading + p {
    margin-top: 40px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_easy_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  --section-mt: 30px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_easy_list {
    --section-mt: 40px;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -31.745px + 5.053vw, 39px);
  }
}
.page .bl_article_content section.bl_ms_point .bl_easy_list .bl_easy_item figure {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  overflow: hidden;
  padding: 16px;
  aspect-ratio: 374/280;
  background: linear-gradient(135deg, rgb(79, 172, 254) 0.05%, rgb(0, 242, 254) 100%);
}
.page .bl_article_content section.bl_ms_point .bl_easy_list .bl_easy_item h3 {
  --page-h3-fsz: 16px;
  margin-top: 20px;
  letter-spacing: 0em;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_easy_list .bl_easy_item h3 {
    margin-top: 30px;
    --page-h3-fsz: 18px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_easy_list .bl_easy_item p {
  margin-top: 10px;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_easy_list .bl_easy_item p {
    margin-top: 20px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_ms_point_heading {
  position: relative;
}
.page .bl_article_content section.bl_ms_point .bl_ms_point_heading .el_ms_point_image {
  position: absolute;
  z-index: 1;
  right: 0;
  height: auto;
  width: 120px;
  top: 0;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_ms_point_heading .el_ms_point_image {
    top: auto;
    bottom: 0;
    width: 280px;
    width: clamp(180px, 58.481px + 15.823vw, 280px);
  }
}
.page .bl_article_content section.bl_ms_point .bl_ms_point_heading .el_ms_point_image img {
  animation: floatAnime 3s ease-in-out infinite alternate;
  will-change: transform;
}
.page .bl_article_content section.bl_ms_point .bl_ms_point_heading .el_ms_point_image[data-item="1"] img {
  animation-duration: 3s;
  animation-delay: 0s;
}
.page .bl_article_content section.bl_ms_point .bl_ms_point_heading .el_ms_point_image[data-item="2"] img {
  animation-duration: 3.4s;
  animation-delay: -0.9s;
}
.page .bl_article_content section.bl_ms_point .bl_ms_point_heading .el_ms_point_image[data-item="3"] img {
  animation-duration: 2.8s;
  animation-delay: -1.8s;
}
.page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui {
  --section-mt: 40px;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui {
    gap: clamp(20px, -34.468px + 5.319vw, 40px);
  }
}
.page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item {
  background-color: #fff;
  border-radius: 24px;
  padding-block: 20px;
  padding-inline: 20px;
  letter-spacing: 0em;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item {
    padding-block: 40px;
    padding-inline: 30px;
  }
}
@media screen and (min-width: 1025px) {
  .page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item {
    padding-block: 40px;
    padding-inline: 40px;
  }
}
.page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item h3 {
  color: var(--main-color);
  display: flex;
  align-items: center;
  gap: 20px;
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item h3 {
    --page-h3-fsz: 24px;
  }
}
.page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item h3::before {
  content: "";
  background-image: url("../images/page/genkakanri-icon-1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 80px;
  height: 80px;
}
.page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item p {
  margin-top: 30px;
}
.page .bl_article_content section.bl_ms_point ul.bl_columns.is_kayui .el_kayui_item:last-child h3::before {
  background-image: url("../images/page/genkakanri-icon-2.svg");
}
.page .bl_article_content section.bl_ms_point .bl_additional_service {
  background: linear-gradient(135deg, rgb(79, 172, 254) 0.05%, rgb(0, 242, 254) 100%);
  border-radius: 24px;
  padding-block: 30px 20px;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service {
    padding-block: 60px 40px;
    padding-inline: 30px;
  }
}
@media screen and (min-width: 1025px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service {
    padding-block: 60px 40px;
    padding-inline: 40px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service > h3 {
  text-align: center;
  letter-spacing: 0em;
  --page-h3-fsz: 24px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service > h3 {
    --page-h3-fsz: 32px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service > h3 span {
  background-color: #ffcc66;
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 3px 8px;
  font-size: 16px;
  min-height: 32px;
  vertical-align: middle;
  margin-left: 8px;
}
.page .bl_article_content section.bl_ms_point .bl_additional_service > h3 + .bl_columns {
  margin-top: 40px;
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example {
  background-color: #fff;
  border-radius: 24px;
  margin-top: 20px;
  padding-block: 20px;
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example {
    margin-top: 40px;
    padding-block: 40px;
    padding-inline: 30px;
  }
}
@media screen and (min-width: 1025px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example {
    padding-block: 40px;
    padding-inline: 40px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example h3 {
  color: var(--main-color);
  --page-h3-fsz: 20px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example h3 {
    --page-h3-fsz: 24px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example h3 + p {
  margin-top: 20px;
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list {
  display: grid;
  gap: 40px;
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -116.17px + 13.298vw, 70px);
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item {
  background: linear-gradient(90deg, rgb(245, 248, 253) 0%, rgb(234, 240, 253) 99.95%);
  border: 1px solid var(--border-color);
  border-radius: 24px;
  padding-block: 20px;
  padding-inline: 20px;
  letter-spacing: 0em;
  position: relative;
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item .el_example_label {
  color: #fff;
  background: linear-gradient(135deg, rgb(79, 172, 254) 0.05%, rgb(0, 242, 254) 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding-inline: 20px;
  padding-block: 10px;
  font-size: 18px;
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item h4 {
  color: var(--main-color);
  --page-h3-fsz: 18px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 16px;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item h4 {
    --page-h3-fsz: 20px;
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item h4 + p {
  margin-top: 20px;
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item p.el_example_note {
  font-size: 14px;
  margin-top: 16px;
  color: var(--main-color);
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item::after {
  content: "";
  background-image: url(../images/common/icon-arrow-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12px;
  height: 24px;
  position: absolute;
  bottom: -38px;
  left: 50%;
  transform: rotate(90deg) translateX(-50%);
}
@media screen and (min-width: 1025px) {
  .page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item::after {
    top: 50%;
    bottom: auto;
    left: auto;
    right: -43px;
    transform: translateY(-50%);
  }
}
.page .bl_article_content section.bl_ms_point .bl_additional_service .bl_service_example .bl_example_list .bl_example_item:last-child::after {
  content: none;
}

section.bl_return {
  --section-ptb: 96px 0;
}
@media screen and (min-width: 1025px) {
  section.bl_return {
    --section-ptb: 120px 0;
  }
}
section.bl_return .bl_others_list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-recruit .bl_article_content > section {
  position: relative;
}
.page-recruit .bl_article_content > section > .bl_section_inner {
  position: relative;
  z-index: 2;
}
.page-recruit .el_ornament {
  position: absolute;
  z-index: 1;
  margin: 0 !important;
}
.page-recruit .el_ornament.mv-lt {
  top: 2.34375vw;
  left: 17.760417vw;
  width: 10.729167vw;
  height: 8.4375vw;
}
.page-recruit .el_ornament.mv-l {
  bottom: 3.75vw;
  left: 0;
  width: 65.625vw;
  height: 20.729167vw;
  animation-delay: 0.5s;
}
.page-recruit .el_ornament.mv-lb {
  bottom: -12.708333vw;
  left: 0;
  width: 66.145833vw;
  height: 36.979167vw;
  animation-delay: 1s;
}
.page-recruit .el_ornament.mv-rt {
  bottom: 28.125vw;
  right: 0;
  width: 8.854167vw;
  height: 9.895833vw;
  animation-delay: 0.75s;
}
.page-recruit .el_ornament.mv-r {
  bottom: 12.65625vw;
  right: 0;
  width: 19.0625vw;
  height: 10.78125vw;
  animation-delay: 1.25s;
}
.page-recruit .el_ornament.mv-rm {
  bottom: -8.541667vw;
  right: 0;
  width: 38.28125vw;
  height: 17.708333vw;
  animation-delay: 1.5s;
}
.page-recruit .el_ornament.mv-rb {
  bottom: -13.333333vw;
  right: 0;
  width: 13.28125vw;
  height: 15.104167vw;
  animation-delay: 1.75s;
}
.page-recruit .el_ornament.mv-t {
  top: -2.604167vw;
  left: 53.28125vw;
  width: 16.354167vw;
  height: 8.958333vw;
  animation-delay: 0.2s;
}
.page-recruit .el_ornament.info-l {
  bottom: -2.864583vw;
  left: 0;
  width: 59.427083vw;
  height: 31.09375vw;
}
.page-recruit .el_ornament.info-t {
  top: 11.822917vw;
  right: 18.90625vw;
  width: 13.125vw;
  height: 7.1875vw;
}
.page-recruit .el_ornament.info-b {
  top: 30.052083vw;
  right: 0;
  width: 18.020833vw;
  height: 9.270833vw;
}
.page-recruit .el_ornament.message-t {
  top: 13.020833vw;
  left: -1.458333vw;
  width: 16.354167vw;
  height: 8.958333vw;
}
.page-recruit .el_ornament.message-b {
  bottom: 5.520833vw;
  left: -2.8125vw;
  width: 12.552083vw;
  height: 10.416667vw;
}
.page-recruit .el_ornament.message-r {
  bottom: -4.947917vw;
  right: 0;
  z-index: 3;
  width: 64.739583vw;
  height: 18.489583vw;
}
.page-recruit .el_ornament.reason-l {
  bottom: 6.770833vw;
  left: 0;
  width: 35.3125vw;
  height: 15.885417vw;
}
.page-recruit .el_ornament.corevalue-l {
  top: -1.822917vw;
  left: 0;
  z-index: 3;
  width: 18.020833vw;
  height: 9.270833vw;
}
.page-recruit .el_ornament.corevalue-r {
  top: -6.510417vw;
  right: 0;
  width: 50.520833vw;
  height: 26.041667vw;
}
.page-recruit .el_ornament.path-l {
  bottom: 7.8125vw;
  left: 0;
  width: 63.229167vw;
  height: 33.28125vw;
}
.page-recruit .el_ornament.path-t {
  top: 10.416667vw;
  left: 7.291667vw;
  z-index: 0;
  width: 16.354167vw;
  height: 8.958333vw;
}
.page-recruit .el_ornament.path-r {
  top: 16.666667vw;
  right: 0;
  width: 38.28125vw;
  height: 17.708333vw;
}
.page-recruit .el_ornament.voice-t {
  top: -4.166667vw;
  left: 7.8125vw;
  width: 16.354167vw;
  height: 8.958333vw;
}
.page-recruit .el_ornament.voice-l {
  bottom: -7.8125vw;
  left: 0;
  width: 59.375vw;
  height: 26.145833vw;
}
.page-recruit .el_ornament.voice-r {
  top: -1.822917vw;
  right: 0;
  width: 52.8125vw;
  height: 16.666667vw;
}
.page-recruit .el_ornament.role-l {
  bottom: -3.125vw;
  left: -3.645833vw;
  width: 20.416667vw;
  height: 14.427083vw;
}
.page-recruit .el_ornament.role-t {
  top: 8.854167vw;
  right: 6.25vw;
  width: 14.166667vw;
  height: 11.145833vw;
}
.page-recruit .el_ornament.role-b {
  bottom: 5.46875vw;
  right: 0;
  width: 20.833333vw;
  height: 10.729167vw;
}
.page-recruit .el_ornament.interview-t {
  top: 15.104167vw;
  right: -1.875vw;
  width: 14.791667vw;
  height: 15.104167vw;
}
.page-recruit .el_ornament.interview-b {
  bottom: -6.40625vw;
  right: 0;
  width: 38.28125vw;
  height: 17.708333vw;
}
.page-recruit .el_ornament.job-lt {
  bottom: 24.739583vw;
  left: 0;
  width: 16.979167vw;
  height: 10.416667vw;
}
.page-recruit .el_ornament.job-l {
  bottom: 6.71875vw;
  left: 0;
  width: 65.625vw;
  height: 20.729167vw;
  animation-delay: 0.5s;
}
.page-recruit .el_ornament.job-lb {
  bottom: -7.8125vw;
  left: 0;
  width: 66.145833vw;
  height: 36.979167vw;
  animation-delay: 1s;
}
.page-recruit .el_ornament.job-rt {
  bottom: 17.96875vw;
  right: 0;
  width: 19.010417vw;
  height: 10.729167vw;
  animation-delay: 0.25s;
}
.page-recruit .el_ornament.job-r {
  bottom: 11.71875vw;
  right: 0;
  width: 12.65625vw;
  height: 10.364583vw;
  animation-delay: 0.75s;
}
.page-recruit .el_ornament.job-rb {
  bottom: -4.010417vw;
  right: 0;
  width: 38.28125vw;
  height: 17.708333vw;
  animation-delay: 1.25s;
}
@media screen and (max-width: 1024px) {
  .page-recruit .el_ornament.mv-lt {
    top: 2.34375vw;
    left: 17.760417vw;
    width: 10.729167vw;
    height: 8.4375vw;
  }
  .page-recruit .el_ornament.mv-l {
    bottom: 3.75vw;
    left: 0;
    width: 65.625vw;
    height: 20.729167vw;
    animation-delay: 0.5s;
  }
  .page-recruit .el_ornament.mv-lb {
    bottom: -12.708333vw;
    left: 0;
    width: 66.145833vw;
    height: 36.979167vw;
    animation-delay: 1s;
  }
  .page-recruit .el_ornament.mv-rt {
    bottom: 28.125vw;
    right: 0;
    width: 8.854167vw;
    height: 9.895833vw;
    animation-delay: 0.75s;
  }
  .page-recruit .el_ornament.mv-r {
    bottom: 12.65625vw;
    right: 0;
    width: 19.0625vw;
    height: 10.78125vw;
    animation-delay: 1.25s;
  }
  .page-recruit .el_ornament.mv-rm {
    bottom: -8.541667vw;
    right: 0;
    width: 38.28125vw;
    height: 17.708333vw;
    animation-delay: 1.5s;
  }
  .page-recruit .el_ornament.mv-rb {
    bottom: -13.333333vw;
    right: 0;
    width: 13.28125vw;
    height: 15.104167vw;
    animation-delay: 1.75s;
  }
  .page-recruit .el_ornament.mv-t {
    top: -2.604167vw;
    left: 53.28125vw;
    width: 16.354167vw;
    height: 8.958333vw;
    animation-delay: 0.2s;
  }
}

.bl_mainVisual_recruit {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background-color: #fff;
  height: auto;
  grid-template-areas: "content";
  display: block;
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual_recruit {
    display: grid;
    aspect-ratio: 1920/960;
  }
}
.bl_mainVisual_recruit .bl_mainVisual_image {
  z-index: 1;
  grid-area: content;
}
.bl_mainVisual_recruit .bl_mainVisual_image img {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .bl_mainVisual_recruit .bl_mainVisual_image {
    position: relative;
  }
  .bl_mainVisual_recruit .bl_mainVisual_image:before {
    content: "";
    width: 100%;
    height: 40px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
  }
}
.bl_mainVisual_recruit .bl_mainVisual_content {
  display: flex;
  align-items: flex-end;
  grid-area: content;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
  padding-block: 20px 0;
  padding-inline: 20px;
  margin-top: clamp(-248px, -46.04px + -19.723vw, -120px);
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual_recruit .bl_mainVisual_content {
    padding-block: 20px clamp(0px, -22.857px + 2.232vw, 20px);
    margin-top: 0;
    padding-inline: clamp(40px, -142.857px + 17.857vw, 200px);
  }
}
.bl_mainVisual_recruit .bl_mainVisual_copy {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.bl_mainVisual_recruit .bl_mainVisual_copy > * {
  position: relative;
  z-index: 1;
}
.bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_copy {
  margin-top: 10px;
  letter-spacing: 0.05em;
  color: var(--text-color);
  font-size: 32px;
  line-height: 1.375;
  font-weight: var(--fw-medium);
  font-size: clamp(32px, 22.755px + 2.465vw, 48px);
  -webkit-text-stroke: 3px white;
  paint-order: stroke fill;
}
@media screen and (min-width: 768px) {
  .bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_copy {
    -webkit-text-stroke: 0px white;
    font-size: clamp(30px, -18px + 6.25vw, 46px);
  }
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_copy {
    letter-spacing: 0.1em;
    line-height: 1.23;
    margin-top: 20px;
    font-size: clamp(46px, -20.286px + 6.473vw, 104px);
  }
}
.bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_copy > span {
  font-weight: var(--fw-bold);
}
.bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_subCopy {
  line-height: 1.75;
  letter-spacing: 0;
  margin-top: 10px;
  font-weight: 600;
  font-size: 16px;
  font-size: clamp(12px, 8.183px + 1.018vw, 16px);
  -webkit-text-stroke: 3px white;
  paint-order: stroke fill;
}
@media screen and (min-width: 768px) {
  .bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_subCopy {
    -webkit-text-stroke: 0px white;
    margin-top: 5px;
    font-size: clamp(12px, 0px + 1.563vw, 16px);
  }
}
@media screen and (min-width: 1025px) {
  .bl_mainVisual_recruit .bl_mainVisual_copy .el_mainVisual_subCopy {
    letter-spacing: 0.05em;
    margin-top: 10px;
    font-size: clamp(16px, 6.857px + 0.893vw, 24px);
  }
}

section.bl_recruit_about {
  background-image: url(../images/recruit/bg-info.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
  --section-ptb: 25.6vw 90px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_about {
    --section-ptb: 155px 120px;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_about {
    --section-ptb: 255px 212px;
  }
}
section.bl_recruit_about h2.lp_heading {
  --main-color: #fff;
}
section.bl_recruit_about .bl_about_list {
  position: relative;
  z-index: 2;
  display: grid;
  border: 1px solid #fff;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 4em 6.6em 4.2em;
  font-size: 10px;
}
@media screen and (min-width:520px) {
  section.bl_recruit_about .bl_about_list {
    grid-template-columns: repeat(3, 1fr);
    font-size: clamp(10px, 1.613px + 1.613vw, 14px);
  }
}
@media screen and (min-width: 768px) {
  section.bl_recruit_about .bl_about_list {
    grid-template-columns: repeat(4, 1fr);
    font-size: clamp(10px, -0.667px + 1.389vw, 16px);
  }
}
section.bl_recruit_about .bl_about_list .bl_info_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  box-shadow: 0px 0px 1px #fff, 0px 0px 1px #fff, 0px 0px 1px #fff, 0px 0px 1px #fff, 0px 0px 1px #fff;
  text-align: center;
  font-weight: var(--fw-bold);
  padding-block: 30px 10px;
  padding-inline: 10px;
  --info-title: 1.25em;
  --info-number: 5em;
  --info-unit: 1.75em;
  --info-desc: 1em;
  --info-text: 2.5em;
}
section.bl_recruit_about .bl_about_list .bl_info_item .bl_info_title {
  font-size: var(--info-title);
  letter-spacing: 0.05em;
  line-height: 1.2;
  align-self: center;
}
section.bl_recruit_about .bl_about_list .bl_info_item .bl_info_number {
  white-space: nowrap;
  align-self: center;
  padding-block: 0 10px;
}
section.bl_recruit_about .bl_about_list .bl_info_item .el_info_number {
  font-size: var(--info-number);
  letter-spacing: 0em;
  line-height: 1.3;
}
section.bl_recruit_about .bl_about_list .bl_info_item .el_info_unit {
  font-size: var(--info-unit);
}
section.bl_recruit_about .bl_about_list .bl_info_item .el_info_desc {
  font-size: var(--info-desc);
  letter-spacing: 0em;
  line-height: 1.5;
}
section.bl_recruit_about .bl_about_list .bl_info_item .el_info_text {
  font-size: var(--info-text);
  letter-spacing: 0em;
  line-height: 1.2;
}

section.bl_recruit_message .el_mediaText_content p {
  letter-spacing: 0em;
}

section.bl_recruit_reason {
  background-image: url(../images/recruit/bg-reason.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  --content-width: 1600px;
}
section.bl_recruit_reason h2.lp_heading {
  max-width: 1200px;
  margin-inline: auto;
}
section.bl_recruit_reason ul.bl_recuit_reason_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_reason ul.bl_recuit_reason_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -52.911px + 9.494vw, 80px);
  }
}
section.bl_recruit_reason .bl_recuit_reason_item {
  max-width: 480px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_reason .bl_recuit_reason_item {
    font-size: clamp(12px, 7.139px + 0.633vw, 16px);
  }
}
section.bl_recruit_reason .bl_recuit_reason_item figure {
  border-radius: 12px;
  overflow: hidden;
}
section.bl_recruit_reason .bl_recuit_reason_item .el_label_reason {
  font-size: 1.125em;
  font-weight: var(--fw-bold);
  letter-spacing: 0em;
  margin-top: 20px;
  line-height: 1.1;
}
section.bl_recruit_reason .bl_recuit_reason_item .el_label_reason span {
  font-size: 1.33em;
  color: #0081dd;
}
section.bl_recruit_reason .bl_recuit_reason_item h3 {
  letter-spacing: 0.05em;
  line-height: 1.375;
  margin-top: 10px;
  --page-h3-fsz: 24px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_reason .bl_recuit_reason_item h3 {
    margin-top: 0.625em;
    --page-h3-fsz: 32px;
    --page-h3-fsz: clamp(15px, 0px + 1.953vw, 20px);
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_reason .bl_recuit_reason_item h3 {
    --page-h3-fsz: clamp(20px, -5.895px + 2.526vw, 32px);
  }
}
section.bl_recruit_reason .bl_recuit_reason_item p {
  letter-spacing: 0em;
  line-height: 1.75;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_reason .bl_recuit_reason_item p {
    margin-top: 1.25em;
  }
}

section.bl_recruit_corevalue {
  --section-ptb: 60px 150px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_corevalue {
    --section-ptb: 120px 280px;
  }
}
section.bl_recruit_corevalue .el_mediaText_content > * + * {
  margin-top: 40px !important;
}
section.bl_recruit_corevalue .el_mediaText_content p {
  letter-spacing: 0em;
}
section.bl_recruit_corevalue .bl_8values_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_corevalue .bl_8values_list {
    gap: 20px;
  }
}
section.bl_recruit_corevalue .bl_8values_list .bl_8values_item {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  padding: 5px 20px;
  border-radius: 99px;
  line-height: 1.1;
  white-space: nowrap;
  letter-spacing: 0.05em;
  font-weight: var(--fw-bold);
  color: var(--main-color);
  min-height: 48px;
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_corevalue .bl_8values_list .bl_8values_item {
    min-height: clamp(48px, 11.556px + 3.556vw, 72px);
    font-size: clamp(16px, 3.852px + 1.185vw, 24px);
  }
}

section.bl_recruit_path {
  background-image: url(../images/recruit/bg-path.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  --section-ptb: clamp(200px, 140px + 7.813vw, 220px) 60px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_path {
    --section-ptb: clamp(170px, -59.05px + 22.346vw, 370px) 120px;
  }
}
section.bl_recruit_path .bl_recruit_banner {
  position: absolute;
  left: 0;
  width: 100%;
  top: -96px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_path .bl_recruit_banner {
    top: -196px;
  }
}
section.bl_recruit_path .bl_recruit_banner_swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
section.bl_recruit_path .bl_recruit_banner_swiper .swiper-slide {
  height: auto;
}
section.bl_recruit_path .bl_recruit_banner_swiper .swiper-slide.is_odd {
  padding-bottom: 80px;
}
section.bl_recruit_path .bl_recruit_banner_swiper .swiper-slide.is_even {
  padding-top: 80px;
}
section.bl_recruit_path .bl_recruit_banner_swiper img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_path .bl_recruit_banner_swiper img {
    border-radius: 24px;
  }
}
section.bl_recruit_path .bl_career_path_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
section.bl_recruit_path .bl_career_path_list {
  border-radius: 24px;
  overflow: hidden;
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list .bl_career_path_item {
    font-size: clamp(12px, 7.139px + 0.633vw, 16px);
  }
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item .el_label_career {
  display: flex;
  align-items: center;
  gap: 27px;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list .bl_career_path_item .el_label_career {
    gap: clamp(10px, -10.658px + 2.69vw, 27px);
  }
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item .el_label_career::before {
  content: "";
  background-image: var(--career-icon, "");
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  width: 5em;
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item > h3 {
  letter-spacing: 0.05em;
  margin-top: 20px;
  --page-h3-fsz: 28px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list .bl_career_path_item > h3 {
    --page-h3-fsz: clamp(20px, 5.418px + 1.899vw, 32px);
  }
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item > h3 > span {
  color: var(--main-color);
  margin-right: clamp(10px, 3.924px + 0.791vw, 15px);
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item > p {
  letter-spacing: 0em;
  line-height: 1.75;
  margin-top: 20px;
  font-feature-settings: "palt";
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item:first-child {
  --career-icon: url(../images/recruit/icon-path-1.svg);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 66px), 50% 100%, 0 calc(100% - 66px));
  background: linear-gradient(180deg, rgb(0, 242, 254) 0%, rgb(28, 217, 254) 100%);
  padding-block: 40px 86px;
  padding-inline: 40px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list .bl_career_path_item:first-child {
    clip-path: polygon(0 0, calc(100% - 66px) 0, 100% 50%, calc(100% - 66px) 100%, 0 100%);
    background: linear-gradient(90deg, rgb(0, 242, 254) 0%, rgb(28, 217, 254) 100%);
    padding-block: 40px;
    padding-inline: clamp(30px, 17.848px + 1.582vw, 40px) 70px;
    margin-right: -22px;
  }
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item:nth-child(2) {
  --career-icon: url(../images/recruit/icon-path-2.svg);
  clip-path: polygon(0 0, 50% 66px, 100% 0, 100% calc(100% - 66px), 50% 100%, 0 calc(100% - 66px));
  padding-block: 96px 72px;
  padding-inline: 40px;
  margin-block: -52px;
  background: linear-gradient(180deg, rgb(28, 217, 254) 0%, rgb(54, 194, 254) 99.97%);
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list .bl_career_path_item:nth-child(2) {
    clip-path: polygon(0 0, calc(100% - 66px) 0, 100% 50%, calc(100% - 66px) 100%, 0 100%, 66px 50%);
    background: linear-gradient(90deg, rgb(28, 217, 254) 0%, rgb(54, 194, 254) 99.97%);
    padding-block: 40px;
    padding-inline: 106px 50px;
    padding-inline: clamp(82px, 52.835px + 3.797vw, 106px) clamp(45px, 38.924px + 0.791vw, 50px);
    margin-block: 0;
    margin-inline: -30px;
  }
}
section.bl_recruit_path .bl_career_path_list .bl_career_path_item:nth-child(3) {
  clip-path: polygon(0 0, 50% 66px, 100% 0, 100% 100%, 0 100%);
  --career-icon: url(../images/recruit/icon-path-3.svg);
  padding-block: 96px 40px;
  padding-inline: 40px;
  background: linear-gradient(180deg, rgb(54, 194, 254) 0%, rgb(79, 172, 254) 100%);
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_career_path_list .bl_career_path_item:nth-child(3) {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 66px 50%);
    background: linear-gradient(90deg, rgb(54, 194, 254) 0%, rgb(79, 172, 254) 100%);
    padding-block: 40px;
    padding-inline: clamp(90px, 70.557px + 2.532vw, 106px) 30px;
    margin-left: -22px;
  }
}
section.bl_recruit_path .bl_carrea_path_example {
  gap: 100px;
  --section-mt: 144px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_carrea_path_example {
    --section-mt: 144px;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, -52.911px + 9.494vw, 80px);
  }
}
section.bl_recruit_path .bl_carrea_path_example .bl_column {
  position: relative;
  background-color: #fff;
  border-radius: 24px;
  padding-inline: 30px;
  padding-block: 70px 40px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_carrea_path_example .bl_column {
    padding-inline: 40px;
    padding-block: 100px 60px;
  }
}
section.bl_recruit_path .bl_carrea_path_example .bl_column figure {
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 120px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_carrea_path_example .bl_column figure {
    top: -80px;
    width: 160px;
    height: 160px;
  }
}
section.bl_recruit_path .bl_carrea_path_example .bl_column h4 {
  text-align: center;
  letter-spacing: 0em;
  --page-h4-fsz: 24px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_carrea_path_example .bl_column h4 {
    --page-h4-fsz: clamp(20px, 5.418px + 1.899vw, 32px);
  }
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul {
  margin-top: 20px;
  max-width: 380px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_path .bl_carrea_path_example .bl_column ul {
    margin-top: 30px;
  }
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li {
  padding-left: 40px;
  position: relative;
  padding-bottom: 24px;
  letter-spacing: 0em;
  line-height: 1.75;
  font-weight: var(--fw-bold);
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li::before {
  content: "";
  position: absolute;
  top: 0.3125em;
  left: 0;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background-color: #999999;
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 8.5px;
  width: 2px;
  background-color: #999999;
  height: 100%;
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li span {
  font-weight: var(--fw-regular);
  font-size: 0.875em;
  display: block;
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li:last-child {
  padding-bottom: 0;
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li:last-child::before {
  background-color: var(--main-color);
}
section.bl_recruit_path .bl_carrea_path_example .bl_column ul li:last-child::after {
  content: none;
}

section.bl_recruit_voice {
  --content-width: 1600px;
}
section.bl_recruit_voice h2.lp_heading {
  max-width: 1200px;
  margin-inline: auto;
}
section.bl_recruit_voice .bl_voice_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_voice_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -52.911px + 9.494vw, 80px);
  }
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item {
  position: relative;
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 60px;
  font-weight: var(--fw-bold);
  letter-spacing: 0em;
  line-height: 1.7;
  box-shadow: 0px 10px 10px rgba(0, 0, 51, 0.1);
  align-self: flex-start;
  font-feature-settings: "palt";
  padding-block: 20px;
  padding-inline: 76px 40px;
  font-size: 16px;
  min-height: 60px;
  animation: floatAnime-linear 3s ease-in-out infinite alternate;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_voice_list .bl_voice_item {
    padding-inline: clamp(50px, 18.405px + 4.114vw, 76px) clamp(30px, 17.848px + 1.582vw, 40px);
    min-height: 120px;
    font-size: clamp(12px, 2.278px + 1.266vw, 20px);
  }
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item:before {
  content: "";
  background-image: url(../images/recruit/icon-quotaion.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 16px;
  position: absolute;
  top: 24px;
  left: 40px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_voice_list .bl_voice_item:before {
    left: clamp(20px, -4.304px + 3.165vw, 40px);
  }
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item[data-item="1"] {
  animation-duration: 3s;
  animation-delay: 0s;
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item[data-item="2"] {
  animation-duration: 3.4s;
  animation-delay: -0.9s;
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item[data-item="3"] {
  animation-duration: 2.8s;
  animation-delay: -1.8s;
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item:nth-child(odd) {
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_voice_list .bl_voice_item:nth-child(odd) {
    margin-inline: auto;
  }
}
section.bl_recruit_voice .bl_voice_list .bl_voice_item:nth-child(2n) {
  margin-left: 10px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_voice_list .bl_voice_item:nth-child(2n) {
    margin-inline: auto;
    margin-top: 20px;
  }
}
section.bl_recruit_voice .bl_iida_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding-bottom: 40px;
  --item-gap: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_iida_list {
    --item-width: clamp(280px, -80px + 46.875vw, 400px);
    --item-gap: clamp(30px, -60px + 11.719vw, 60px);
    --column-width: calc(var(--item-width) + var(--item-gap));
    grid-template-columns: repeat(2, var(--column-width));
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 20px;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_voice .bl_iida_list {
    --item-width: clamp(280px, 98.225px + 17.751vw, 400px);
    --item-gap: clamp(30px, -45.74px + 7.396vw, 80px);
    --column-width: calc(var(--item-width) + var(--item-gap));
    grid-template-columns: repeat(3, var(--column-width));
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 20px;
  }
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #fff;
  border-radius: 60px;
  font-weight: var(--fw-bold);
  letter-spacing: 0em;
  line-height: 1.7;
  box-shadow: 0px 10px 10px rgba(0, 0, 51, 0.1);
  align-self: flex-start;
  font-feature-settings: "palt";
  padding-block: 20px;
  padding-inline: 55px 50px;
  font-size: 16px;
  min-height: 60px;
  animation: floatAnime-linear 3s ease-in-out infinite alternate;
  will-change: transform;
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item > span {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item {
    padding-left: clamp(30px, -45px + 9.766vw, 55px);
    padding-right: clamp(30px, -30px + 7.813vw, 50px);
    min-height: 120px;
    min-height: clamp(90px, 44.556px + 4.438vw, 120px);
    font-size: clamp(14px, -4px + 2.344vw, 20px);
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item {
    padding-left: clamp(30px, -7.87px + 3.698vw, 55px);
    padding-right: clamp(30px, -0.296px + 2.959vw, 50px);
    font-size: clamp(14px, 4.911px + 0.888vw, 20px);
  }
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:before {
  content: "";
  background-image: var(--iida-icon, "");
  background-repeat: no-repeat;
  background-size: var(--iida-icon-size, contain);
  background-position: center;
  width: 60px;
  height: 45px;
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:first-child {
  animation-duration: 3s;
  animation-delay: 0s;
  margin-left: var(--item-gap);
  --iida-icon: url(../images/recruit/icon-iida-1.svg);
  --iida-icon-size: 30px 40px;
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(2) {
  animation-duration: 3.4s;
  animation-delay: -0.9s;
  margin-left: var(--item-gap);
  --iida-icon: url(../images/recruit/icon-iida-2.svg);
  --iida-icon-size: 30px 40px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(2) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(2) {
    margin-right: var(--item-gap);
    margin-left: 0;
  }
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(3) {
  animation-duration: 2.8s;
  animation-delay: -1.8s;
  padding-right: clamp(15px, -7.722px + 2.219vw, 30px);
  --iida-icon: url(../images/recruit/icon-iida-3.svg);
  --iida-icon-size: 60px 16px;
  margin-left: var(--item-gap);
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(3) {
    margin-right: var(--item-gap);
    margin-left: 0;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(3) {
    margin-left: var(--item-gap);
    margin-right: 0;
  }
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(4) {
  animation-duration: 3.7s;
  animation-delay: -2.7s;
  margin-right: var(--item-gap);
  --iida-icon: url(../images/recruit/icon-iida-4.svg);
  --iida-icon-size: 34px 36px;
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(5) {
  animation-duration: 3.1s;
  animation-delay: -3.6s;
  padding-right: clamp(15px, -7.722px + 2.219vw, 30px);
  --iida-icon: url(../images/recruit/icon-iida-5.svg);
  --iida-icon-size: 45px 36px;
  margin-left: var(--item-gap);
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(5) {
    margin-top: 20px;
    margin-right: var(--item-gap);
    margin-left: 0;
  }
}
section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(6) {
  animation-duration: 2.8s;
  animation-delay: -2.2s;
  --iida-icon: url(../images/recruit/icon-iida-6.svg);
  --iida-icon-size: 40px 40px;
  margin-right: var(--item-gap);
}
@media screen and (min-width: 768px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(6) {
    margin-left: var(--item-gap);
    margin-right: 0;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_voice .bl_iida_list .bl_iida_item:nth-child(6) {
    margin-right: var(--item-gap);
    margin-left: 0;
  }
}

section.bl_recruit_roles {
  background-image: url(../images/recruit/bg-job.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
section.bl_recruit_roles ul.bl_job_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_roles ul.bl_job_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -14.025px + 4.43vw, 48px);
  }
}
section.bl_recruit_roles ul.bl_job_list .bl_job_item {
  background-color: #fff;
  border-radius: 24px;
  overflow: hidden;
  padding-bottom: clamp(30px, 0px + 3.906vw, 40px);
  max-width: 368px;
  margin-inline: auto;
}
section.bl_recruit_roles ul.bl_job_list .bl_job_item h3 {
  margin-top: 0.9375em;
  margin-inline: 10px;
  --page-h3-fsz: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_roles ul.bl_job_list .bl_job_item h3 {
    --page-h3-fsz: clamp(20px, 5.418px + 1.899vw, 32px);
  }
}
section.bl_recruit_roles ul.bl_job_list .bl_job_item p {
  letter-spacing: 0em;
  line-height: 1.75;
  margin-top: 20px;
  margin-inline: 20px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_roles ul.bl_job_list .bl_job_item p {
    margin-top: clamp(14px, -4px + 2.344vw, 20px);
    margin-inline: clamp(15px, -30px + 5.859vw, 30px);
  }
}

section.bl_recruit_interview .bl_interview_swiper_wrapper {
  position: relative;
}
@media screen and (max-width:521px) {
  section.bl_recruit_interview .bl_interview_swiper_wrapper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}
@media screen and (min-width: 768px) {
  section.bl_recruit_interview .swiper-button-next,
  section.bl_recruit_interview .swiper-button-prev {
    display: flex;
  }
}
section.bl_recruit_interview .swiper-button-next,
section.bl_recruit_interview .swiper-button-prev {
  --swiper-navigation-top-offset: 41%;
  --swiper-navigation-sides-offset: -16px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_interview .swiper-button-next,
  section.bl_recruit_interview .swiper-button-prev {
    --swiper-navigation-sides-offset: -28px;
  }
}
section.bl_recruit_interview .bl_interview_item {
  position: relative;
}
section.bl_recruit_interview .bl_interview_item a {
  display: block;
  padding-bottom: 18px;
}
@media (hover: hover) {
  section.bl_recruit_interview .bl_interview_item a:hover .bl_interview_thumbnail img {
    transform: scale(1.05);
  }
  section.bl_recruit_interview .bl_interview_item a:hover::after {
    transform: scale(1.1);
  }
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_thumbnail {
  overflow: hidden;
  border-radius: 24px;
  width: 100%;
  aspect-ratio: 368/447;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e9e9e9;
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_thumbnail img {
  transition: transform var(--transition);
  -o-object-fit: cover;
     object-fit: cover;
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_content {
  margin-top: 20px;
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_content h3 {
  font-weight: var(--fw-bold);
  letter-spacing: 0.05em;
  line-height: 1.33333333;
  --page-h3-fsz: 24px;
}
@media screen and (min-width:520px) {
  section.bl_recruit_interview .bl_interview_item a .bl_interview_content h3 {
    --page-h3-fsz: 20px;
  }
}
@media screen and (min-width: 768px) {
  section.bl_recruit_interview .bl_interview_item a .bl_interview_content h3 {
    --page-h3-fsz: 24px;
    --page-h3-fsz: clamp(18px, 0px + 2.344vw, 24px);
  }
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_content .bl_interview_meta {
  margin-top: 16px;
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_content .el_interview_job_year {
  letter-spacing: 0.05em;
  font-weight: var(--fw-medium);
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_content .el_interview_profile {
  margin-top: 16px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
  padding-right: 46px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_interview .bl_interview_item a .bl_interview_content .el_interview_profile {
    padding-right: 55px;
  }
}
section.bl_recruit_interview .bl_interview_item a .bl_interview_content .el_interview_name {
  font-weight: var(--fw-bold);
  line-height: 1;
  font-size: 2em;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_interview .bl_interview_item a .bl_interview_content .el_interview_name {
    font-size: 1.5em;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_interview .bl_interview_item a .bl_interview_content .el_interview_name {
    font-size: 2em;
  }
}
section.bl_recruit_interview .bl_interview_item a::after {
  content: "";
  background-image: url(../images/common/arrow-white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
  position: absolute;
  aspect-ratio: 1/1;
  background-color: var(--main-color);
  border-radius: 50%;
  bottom: 5px;
  right: 5px;
  transition: transform var(--transition);
  width: 36px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_interview .bl_interview_item a::after {
    width: 48px;
  }
}

section.bl_recruit_job {
  --section-ptb: 60px 100px;
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_job {
    --section-ptb: 120px 240px;
  }
}
section.bl_recruit_job .bl_job_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
@media screen and (min-width:520px) {
  section.bl_recruit_job .bl_job_list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, -0.968px + 4.032vw, 30px);
  }
}
@media screen and (min-width: 768px) {
  section.bl_recruit_job .bl_job_list {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, -14.025px + 4.43vw, 48px);
  }
}
section.bl_recruit_job .bl_job_item a {
  height: 100%;
  display: block;
  background-color: #fff;
  border-radius: 24px;
  overflow: hidden;
}
section.bl_recruit_job .bl_job_item a figure {
  overflow: hidden;
  width: -moz-fit-content;
  width: fit-content;
}
section.bl_recruit_job .bl_job_item a figure img {
  transition: transform var(--transition);
  -o-object-fit: cover;
     object-fit: cover;
}
section.bl_recruit_job .bl_job_item a .el_post_category {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
section.bl_recruit_job .bl_job_item a .el_post_category > span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: var(--main-color);
  font-weight: var(--fw-bold);
  padding: 4px 8px;
  border-radius: 4px;
  min-height: 28px;
  line-height: 1;
  white-space: nowrap;
  font-size: 12px;
  min-width: 120px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_job .bl_job_item a .el_post_category > span {
    font-size: 10px;
    min-width: 70px;
  }
}
@media screen and (min-width: 1025px) {
  section.bl_recruit_job .bl_job_item a .el_post_category > span {
    font-size: 12px;
    min-width: clamp(110px, 82.766px + 2.66vw, 120px);
  }
}
section.bl_recruit_job .bl_job_item a .el_post_category > span.is_new-graduate {
  background: linear-gradient(90deg, rgb(234, 143, 61) 0%, rgb(234, 112, 75) 100%);
}
section.bl_recruit_job .bl_job_item a .el_post_category > span.is_career {
  background: linear-gradient(90deg, rgb(79, 172, 254) 0.05%, rgb(0, 129, 221) 100%);
}
section.bl_recruit_job .bl_job_item a h3 {
  font-weight: var(--fw-bold);
  letter-spacing: 0em;
  line-height: 1.583;
  --page-h3-fsz: 20px;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  section.bl_recruit_job .bl_job_item a h3 {
    --page-h3-fsz: clamp(14px, 1.848px + 1.582vw, 24px);
  }
}
@media (hover: hover) {
  section.bl_recruit_job .bl_job_item a:hover figure img {
    transform: scale(1.05);
  }
}
section.bl_recruit_job .bl_job_item .el_job_item_content {
  padding-inline: 20px;
  padding-block: 20px 30px;
}
section.bl_recruit_job .no_job {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
  text-align: center;
}

.bl_cta.is_recruit {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-top: -40px;
}
@media screen and (min-width: 768px) {
  .bl_cta.is_recruit {
    margin-top: -120px;
  }
}
.page-entry .bl_cta.is_recruit {
  margin-top: 0;
}
.bl_cta.is_recruit::after {
  content: "";
  position: absolute;
  aspect-ratio: 150/37;
  background-image: url(../images/top/bg-recruit.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 0;
  top: clamp(40px, 121.27px + -10.582vw, 80px);
  right: 0;
  width: 90%;
}
@media screen and (min-width: 1025px) {
  .bl_cta.is_recruit::after {
    top: 30px;
    right: 112px;
    width: 80%;
    max-width: 1122px;
  }
}
.bl_cta.is_recruit .bl_cta_inner {
  width: 100%;
  max-width: var(--content-width);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.bl_cta.is_recruit .el_cta_copy {
  display: block;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-size: 24px;
  text-align: center;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .bl_cta.is_recruit .el_cta_copy {
    margin-top: 40px;
    font-size: clamp(36px, 21.418px + 1.899vw, 48px);
  }
}
.bl_cta.is_recruit a.el_entry_button {
  background-color: #fff;
  color: var(--main-color);
  font-weight: var(--fw-bold);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 20px;
  padding-inline: 40px;
  max-width: 800px;
  border-radius: 8px;
  margin-inline: auto;
  margin-top: 40px;
  border: 2px solid #fff;
  gap: 8px;
  transition: background-color var(--transition), color var(--transition);
  min-height: 80px;
}
@media screen and (min-width: 768px) {
  .bl_cta.is_recruit a.el_entry_button {
    gap: 24px;
    min-height: clamp(80px, 31.392px + 6.329vw, 120px);
  }
}
.bl_cta.is_recruit a.el_entry_button::before {
  content: "";
  width: clamp(24px, -19.574px + 4.255vw, 40px);
  aspect-ratio: 20/16;
  background-color: var(--main-color);
  -webkit-mask-image: url(../images/common/icon-mail.svg);
  mask-image: url(../images/common/icon-mail.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transition: background-color var(--transition);
}
@media (hover: hover) {
  .bl_cta.is_recruit a.el_entry_button:hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .bl_cta.is_recruit a.el_entry_button:hover::before {
    background-color: #fff;
  }
}
@media screen and (min-width: 768px) {
  .bl_cta.is_recruit a.el_entry_button {
    margin-top: 60px;
    font-size: clamp(20px, 5.418px + 1.899vw, 32px);
  }
}

.bl_404 {
  padding-block: 100px;
  max-width: var(--content-width);
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.bl_404 > * + * {
  margin-top: 40px;
}
.bl_404 h2 {
  font-size: 30px;
}
.bl_404 .bl_pageFootButtons a {
  height: 60px;
}

.bl_terms {
  --article-mt: 60px;
}
.bl_terms h3 {
  text-align: center;
  color: var(--main-color);
  font-weight: var(--fw-bold);
  margin-top: 60px;
}
.bl_terms h3 + .bl_terms_list {
  margin-top: 40px;
}
.bl_terms ul.bl_terms_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .bl_terms ul.bl_terms_list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, -4.304px + 3.165vw, 40px);
  }
}
.bl_terms .el_terms_item a {
  background-color: #fff;
  color: var(--main-color);
  border-radius: 12px;
  padding: 20px;
  line-height: 1.4;
  display: flex;
  gap: 10px;
  align-items: center;
  transition: all var(--transition);
}
.bl_terms .el_terms_item a::before {
  content: "";
  background-image: url(../images/common/icon-pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 9px;
  height: 12px;
  background-size: 9px 12px;
  background-position: center;
  width: 1.7em;
  height: auto;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid var(--border-color);
}
@media (hover: hover) {
  .bl_terms .el_terms_item a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
}

section.bl_contact {
  --content-width: 900px;
}
section.bl_contact .el_contact_tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border: 1px solid var(--main-color);
  font-size: 25px;
  line-height: 1.2;
  padding-block: 8px 13px;
  padding-inline: 30px;
}
@media screen and (min-width: 1025px) {
  section.bl_contact .el_contact_tel {
    font-size: 28px;
  }
}
section.bl_contact .el_contact_tel .el_contact_number {
  display: flex;
  align-items: baseline;
}
section.bl_contact .el_contact_tel .el_contact_number span {
  font-size: 0.7em;
}
section.bl_contact .el_contact_tel .el_contact_hours {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
}
@media screen and (min-width: 1025px) {
  section.bl_contact .el_contact_tel .el_contact_hours {
    font-size: 16px;
  }
}

.bl_contact_notice {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  max-width: 800px;
  margin-inline: auto;
  background-color: rgba(255, 255, 255, 0.3);
  border: 1px solid var(--main-color);
  padding: 30px 20px;
}
@media screen and (min-width: 1025px) {
  .bl_contact_notice {
    padding: 40px 40px;
    text-align: center;
  }
}

.el_notice_heading {
  font-size: 22px;
  font-weight: var(--fw-bold);
  margin-bottom: 20px;
}

p.el_contact_direction {
  --article-mt: 60px;
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  p.el_contact_direction {
    font-size: 16px;
  }
}

.wp-block-contact-form-7-contact-form-selector {
  --article-mt: 60px;
}

.wpcf7 {
  max-width: 1100px;
  margin-inline: auto;
}

.wpcf7-form h2 {
  margin-top: 60px;
}
.wpcf7-form h2 + p {
  margin-top: 30px;
}
.wpcf7-form .el_formItem {
  border-bottom: 1px solid #dadada;
  display: grid;
  grid-template-columns: 1fr;
  padding-block: 20px;
  gap: 6px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_formItem {
    gap: 20px;
    grid-template-columns: 240px 1fr;
  }
}
.wpcf7-form .el_formItem.is_formItem_1col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.wpcf7-form .el_formItem .el_formItem_2col {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 10px;
}
@media screen and (min-width:520px) {
  .wpcf7-form .el_formItem .el_formItem_2col {
    margin-top: 0;
  }
}
.wpcf7-form .el_formItem .el_formItem_2col > span {
  display: flex;
  gap: 10px;
  align-items: center;
  white-space: nowrap;
}
@media screen and (min-width:520px) {
  .wpcf7-form .el_formItem .el_formItem_2col > span {
    width: calc(50% - 7.5px);
  }
}
.wpcf7-form .el_formItem > label {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_formItem > label {
    padding-top: 10px;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.wpcf7-form .el_formItem > label.is_require::after {
  content: "必須";
  background-color: #cc3333;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 3px;
  white-space: nowrap;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_formItem > label.is_require::after {
    font-size: 14px;
  }
}
.en-US .wpcf7-form .el_formItem > label.is_require::after {
  content: "Required";
}
.wpcf7-form .el_formItem .el_formItem_address {
  margin-top: 10px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_formItem .el_formItem_address {
    margin-top: 0;
  }
}
.wpcf7-form .el_formItem .el_formItem_address textarea {
  height: 75px;
}
.wpcf7-form .el_formItem .el_formatItem_zip {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 15px;
}
.wpcf7-form .el_formItem .el_formatItem_zip input {
  width: 140px;
}
.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form input[type=tel],
.wpcf7-form input[type=date],
.wpcf7-form input[type=email],
.wpcf7-form input[type=text] {
  background-color: #fafafa;
  border: 1px solid #ccc;
  border-radius: 6px;
  width: 100%;
  font-size: 18px;
  padding: 10px 10px;
}
.wpcf7-form input.el_input_zip {
  width: 140px;
  margin-inline: 10px;
  margin-bottom: 15px;
}
.wpcf7-form input#event-date {
  max-width: 250px;
}
.wpcf7-form select {
  padding-inline: 10px 30px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none; /* デフォルトの矢印を非表示 */
  color: var(--text-color);
}
.wpcf7-form span.wpcf7-form-control-wrap[data-name=job-type], .wpcf7-form span.wpcf7-form-control-wrap[data-name=property-type] {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  align-self: flex-start;
}
.wpcf7-form span.wpcf7-form-control-wrap[data-name=job-type]::after, .wpcf7-form span.wpcf7-form-control-wrap[data-name=property-type]::after {
  content: "";
  width: 10px;
  height: 10px;
  border-style: none none solid solid;
  border-width: 1px;
  transform: rotate(-45deg);
  position: absolute;
  right: 10px;
  top: 30%;
  z-index: 2;
}
.wpcf7-form textarea {
  height: 150px;
  resize: vertical;
}
.wpcf7-form .wpcf7-list-item {
  margin-left: 1.5em;
}
.wpcf7-form .wpcf7-list-item-label {
  margin-left: 3px;
}
.wpcf7-form span.wpcf7-checkbox {
  margin-top: 6px;
  display: inline-block;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label {
  padding-top: 0;
  align-items: flex-start;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label input {
  margin-top: 4px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label {
    align-items: center;
  }
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label::after {
  order: 1;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label input {
  margin-top: 4px;
  order: 2;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .wpcf7-acceptance .wpcf7-list-item label input {
    margin-top: 0;
  }
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label span {
  order: 3;
  line-height: 1.3;
}
.wpcf7-form .el_formButtons {
  text-align: center;
  margin-block: 20px 0;
}
.wpcf7-form .wpcf7-previous,
.wpcf7-form .wpcf7-submit {
  position: relative;
  max-width: 300px;
  display: inline-flex;
  margin-top: 20px;
  margin-inline: 10px;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  padding: 10px;
  height: 70px;
  transition: opacity var(--transition);
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .wpcf7-previous,
  .wpcf7-form .wpcf7-submit {
    width: 400px;
  }
}
.wpcf7-form .wpcf7-previous:disabled,
.wpcf7-form .wpcf7-submit:disabled {
  opacity: 0.2;
  pointer-events: none;
}
.wpcf7-form .wpcf7-submit {
  background: var(--main-color);
  color: #fff;
  border-radius: 999px;
  font-weight: var(--fw-bold);
  transition: all var(--transition);
  border: 3px solid var(--main-color);
}
@media (hover: hover) {
  .wpcf7-form .wpcf7-submit:hover {
    background-color: #fff;
    color: var(--main-color);
  }
}
.wpcf7-form .wpcf7-previous {
  border: 3px solid var(--main-color);
  background-color: #fff;
  color: var(--main-color);
  border-radius: 999px;
  font-weight: var(--fw-bold);
  transition: opacity var(--transition), background-color var(--transition), color var(--transition);
}
.wpcf7-form .wpcf7-previous:hover {
  background-color: var(--main-color);
  color: #fff;
}
.wpcf7-form .wpcf7-spinner {
  display: block;
  margin-inline: auto;
  margin-block: 30px 0;
}
.wpcf7-form .bl_fromItem_index {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .bl_fromItem_index .el_formItem {
    gap: 20px;
    grid-template-columns: 400px 1fr;
  }
  .wpcf7-form .bl_fromItem_index .el_formItem label {
    padding-top: 0;
  }
}
.wpcf7-form .el_formItem_select {
  display: flex;
  align-items: center;
  gap: 30px;
}
.wpcf7-form .el_formItem.is_select .wpcf7-form-control-wrap,
.wpcf7-form .el_formItem_select .wpcf7-form-control-wrap {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.wpcf7-form .el_formItem.is_select .wpcf7-form-control-wrap::after,
.wpcf7-form .el_formItem_select .wpcf7-form-control-wrap::after {
  content: "";
  width: 10px;
  height: 10px;
  border-style: none none solid solid;
  border-width: 1px;
  transform: rotate(-45deg);
  position: absolute;
  right: 10px;
  top: 30%;
}
.wpcf7-form .bl_fromItem_manualIndex {
  margin-block: 20px;
}
.wpcf7-form .bl_fromItem_manualIndex .wpcf7-checkbox {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .bl_fromItem_manualIndex .wpcf7-checkbox {
    grid-template-columns: 1fr 1fr;
  }
}
.wpcf7-form .bl_fromItem_manualIndex .wpcf7-list-item {
  border-bottom: 1px solid var(--border-color);
  margin-left: 0;
  padding-right: 20px;
  cursor: pointer;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .bl_fromItem_manualIndex .wpcf7-list-item:nth-child(odd) {
    padding-right: 50px;
  }
}
.wpcf7-form .bl_fromItem_manualIndex .wpcf7-list-item label {
  padding-block: 10px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 20px;
}
.wpcf7-form span.wpcf7-form-control.wpcf7-checkbox.bl_requestData {
  margin-top: 0;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width:520px) {
  .wpcf7-form span.wpcf7-form-control.wpcf7-checkbox.bl_requestData {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1025px) {
  .wpcf7-form span.wpcf7-form-control.wpcf7-checkbox.bl_requestData {
    gap: 20px;
    grid-template-columns: repeat(5, 1fr);
  }
}
.wpcf7-form span.wpcf7-form-control.wpcf7-checkbox.bl_requestData .wpcf7-list-item {
  margin-left: 0;
}
.wpcf7-form .el_request_item {
  display: grid;
  grid-template-columns: 1em 1fr;
  grid-template-rows: auto auto;
  grid-template-areas: "image image" "check text";
  cursor: pointer;
  transition: 0.3s;
  row-gap: 5px;
  -moz-column-gap: 0;
       column-gap: 0;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_request_item {
    gap: 5px;
  }
}
.wpcf7-form .el_request_item:hover {
  background-color: #f9f9f9;
  opacity: 0.7;
}
.wpcf7-form .el_request_item::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 640/905;
  background-image: var(--request-image);
  background-size: cover;
  background-position: center;
  opacity: 0.8;
  transition: opacity 0.3s;
  grid-area: image;
  box-sizing: 0 0 1px #ccc;
  border: 1px solid var(--border-color);
}
.wpcf7-form .el_request_item input[type=checkbox] {
  grid-area: check;
  align-self: flex-start;
  margin-top: 3px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_request_item input[type=checkbox] {
    margin-top: 0.38em;
  }
}
.wpcf7-form .el_request_item input[type=checkbox]::checked + .wpcf7-list-item-label {
  font-weight: 700;
}
.wpcf7-form .el_request_item .wpcf7-list-item-label {
  grid-area: text;
  align-self: flex-start;
  line-height: 1.4;
  font-size: 12px;
}
@media screen and (min-width: 1025px) {
  .wpcf7-form .el_request_item .wpcf7-list-item-label {
    font-size: 14px;
  }
}

span#cf7msm_total::after {
  content: "円";
}

span#cf7msm_total:empty::after {
  content: none;
}

.bl_thanksMessage {
  text-align: center;
  font-size: 18px;
}

a.el_linkButton.is_go_home {
  max-width: 300px;
  margin-inline: auto;
  margin-top: 60px;
  width: 100%;
  padding-inline: 20px;
  background-color: var(--main-color);
  color: #fff;
}
a.el_linkButton.is_go_home::after {
  position: absolute;
  right: 20px;
}

.wpcf7 form .wpcf7-response-output {
  border-radius: 10px;
  padding-block: 0.7em;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: #ffebb7;
  border: none;
}

.bl_form_notice {
  background-color: #fff;
  max-width: 900px;
  margin-inline: auto;
  border-radius: 24px;
}
.bl_form_notice .el_accordion_title {
  position: relative;
}
.bl_form_notice button.el_accordion_button {
  --ac-icon-right: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  align-items: center;
  cursor: pointer;
  transition: all var(--transition);
  position: relative;
  text-align: left;
  line-height: 1.4;
  font-weight: 700;
  padding-block: 30px;
  font-size: 16px;
  padding-inline: 50px 45px;
  color: var(--text-color);
}
@media screen and (min-width: 1025px) {
  .bl_form_notice button.el_accordion_button {
    --ac-icon-right: 30px;
    padding-inline: 78px 70px;
    font-size: 20px;
  }
}
.bl_form_notice button.el_accordion_button::before, .bl_form_notice button.el_accordion_button::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  background-color: #191919;
  transform: translateY(-50%);
}
.bl_form_notice button.el_accordion_button::before {
  right: var(--ac-icon-right);
  width: 20px;
  height: 2px;
}
.bl_form_notice button.el_accordion_button::after {
  transition: all var(--transition);
  width: 2px;
  height: 20px;
  right: 39px;
  right: calc(var(--ac-icon-right) + 9px);
  transform: translateY(-50%) rotate(90deg);
}
.bl_form_notice .is_close .el_accordion_button::after {
  transform: translateY(-50%);
}
.bl_form_notice .is_close + .el_accordion_body {
  grid-template-rows: 0fr;
}
.bl_form_notice .el_accordion_body {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--transition);
}
.bl_form_notice .el_accordion_inner {
  overflow: hidden;
  position: relative;
  padding-inline: 20px 20px;
  font-size: 14px;
  line-height: 1.875;
}
@media screen and (min-width: 1025px) {
  .bl_form_notice .el_accordion_inner {
    font-size: 16px;
    padding-inline: 40px 40px;
  }
}
.bl_form_notice .el_accordion_inner > * {
  margin-block: 20px;
}
.bl_form_notice .el_accordion_inner p.el_contact_direction {
  margin-block: 20px 40px;
}
.bl_form_notice .el_accordion_inner a {
  --sub-color: var(--main-color);
}

.reCAPTCHA-txt p {
  text-align: center;
  line-height: 1.2 !important;
  font-size: 0.8em;
  opacity: 0.7;
}

section.bl_common_faq {
  background-image: url(../images/top/bg-news.webp);
  background-repeat: no-repeat;
  background-size: 100% 150px;
  background-position: center top;
  --article-mt: -150px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq {
    background-size: 100% 200px;
    --article-mt: -200px;
  }
}
section.bl_common_faq .lp_heading {
  background-image: url(../images/page/bg-faq-h2.svg);
  mix-blend-mode: multiply;
}
section.bl_common_faq .lp_heading span.el_heading_main {
  color: var(--text-color) !important;
}
section.bl_common_faq .lp_heading::after {
  background-color: var(--main-color) !important;
}
section.bl_common_faq ul.bl_newsList {
  margin-top: 30px;
}
section.bl_common_faq ul.bl_newsList li {
  border-bottom: 1px solid var(--border-color);
}
section.bl_common_faq ul.bl_newsList li:first-child {
  border-top: 1px solid var(--border-color);
}
section.bl_common_faq ul.bl_newsList li a {
  display: grid;
  padding-block: 20px;
  align-items: center;
  gap: 5px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq ul.bl_newsList li a {
    padding-block: 28px;
    grid-template-columns: auto 1fr;
    gap: 15px;
  }
}
section.bl_common_faq ul.bl_newsList li .el_newsList_item_meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq ul.bl_newsList li .el_newsList_item_meta {
    gap: 35px;
  }
}
section.bl_common_faq ul.bl_newsList li .posted-on {
  font-weight: var(--fw-regular);
  letter-spacing: 0.06em;
  line-height: 1.625;
  white-space: nowrap;
  font-size: 12px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq ul.bl_newsList li .posted-on {
    font-size: 16px;
  }
}
section.bl_common_faq ul.bl_newsList li .el_post_category {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
section.bl_common_faq ul.bl_newsList li .el_post_category span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  background-color: var(--main-color);
  color: #fff;
  border-radius: 3px;
  letter-spacing: 0.06em;
  line-height: 1;
  min-width: 90px;
  font-size: 12px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq ul.bl_newsList li .el_post_category span {
    font-size: 14px;
    min-width: 100px;
    line-height: 1.625;
  }
}
section.bl_common_faq ul.bl_newsList li .el_newsTab_title {
  font-weight: var(--fw-regular);
  letter-spacing: 0.06em;
  line-height: 1.625;
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq ul.bl_newsList li .el_newsTab_title {
    font-size: 16px;
  }
}
section.bl_common_faq ul.bl_newsList + .el_linkButton {
  margin-top: 25px;
}
@media screen and (min-width: 1025px) {
  section.bl_common_faq ul.bl_newsList + .el_linkButton {
    margin-top: 57px;
  }
}

.el_interviewArchive_cat {
  display: flex;
  gap: 10px;
}
.el_interviewArchive_cat span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  white-space: nowrap;
  background-color: #fff;
  border: 1px solid;
  height: 36px;
  padding-inline: 34px;
  padding-block: 8px;
  transition: all var(--transition-time) ease;
}

.bl_archive_filter {
  display: grid;
  grid-template-columns: 1fr;
  margin-inline: auto;
  max-width: var(--content-width);
  margin-bottom: 30px;
}
@media screen and (min-width: 1025px) {
  .bl_archive_filter {
    margin-bottom: 60px;
  }
}
.bl_archive_filter h2 {
  font-size: 20px;
}
@media screen and (min-width: 1025px) {
  .bl_archive_filter h2 {
    font-size: 28px;
  }
}
.bl_archive_filter h2 + ul {
  margin-top: 15px;
}
.bl_archive_filter ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .bl_archive_filter ul {
    gap: 20px;
  }
}
.bl_archive_filter ul li a {
  border: 2px solid var(--main-color);
  color: var(--main-color);
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-weight: 400;
  line-height: 1;
  transition: all var(--transition-time);
  padding: 5px 15px;
  font-size: 15px;
  border-radius: 999px;
  min-height: 40px;
  font-weight: var(--fw-bold);
}
@media screen and (min-width: 768px) {
  .bl_archive_filter ul li a {
    font-size: 16px;
  }
}
@media screen and (min-width: 1025px) {
  .bl_archive_filter ul li a {
    min-height: 50px;
    padding: 5px 25px;
  }
}
@media (hover: hover) {
  .bl_archive_filter ul li a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
}
.bl_archive_filter ul li a.tax_current {
  background-color: var(--main-color);
  color: #fff;
  border-color: var(--main-color);
}

.bl_pagination {
  margin-top: 60px;
}

.bl_pagination_link {
  display: flex;
  justify-content: center;
  /* gap: 10px; */
}
.bl_pagination_link > * {
  padding-inline: 5px;
}
@media screen and (min-width: 768px) {
  .bl_pagination_link > * {
    padding-inline: 20px;
  }
}
.bl_pagination_link > div.no-page {
  opacity: 0.3;
}

.bl_pagination_numbers {
  display: flex;
  justify-content: center;
}

.page-numbers:not(.dots) {
  color: var(--text-color);
  margin-inline: 5px;
}
@media screen and (min-width: 768px) {
  .page-numbers:not(.dots) {
    margin-inline: 10px;
  }
}
.page-numbers:not(.dots) {
  padding: 0px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  line-height: 1;
  transition: all 0.2s ease;
  border: 1px solid transparent;
  border-radius: 999px;
}
.page-numbers:not(.dots):not(.no-page):hover, .page-numbers:not(.dots).current {
  color: #fff;
  background-color: var(--main-color);
}

.page-numbers.dots {
  display: flex;
  align-items: center;
}

.bl_pagenation_next,
.bl_pagination_prev {
  padding-inline: 10px;
  display: flex;
  align-items: center;
}
.bl_pagenation_next a,
.bl_pagination_prev a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  color: #707070;
  border-radius: 100%;
  transition: all var(--transition-time);
  border-radius: 99px;
}
.bl_pagenation_next a > .el_arrow__left,
.bl_pagination_prev a > .el_arrow__left {
  margin-left: -5px;
}
@media (hover: hover) {
  .bl_pagenation_next a:hover,
  .bl_pagination_prev a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
}

.single .bl_article_content {
  --content-width: 1200px;
  padding-top: 30px;
  padding-bottom: 60px;
}
@media screen and (min-width:520px) {
  .single .bl_article_content {
    padding-inline: 5%;
  }
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content {
    padding-block: 50px;
  }
}
@media screen and (min-width: 1500px) {
  .single .bl_article_content {
    padding-inline: 0;
  }
}
.single .bl_article_content h1 {
  font-style: normal;
  line-height: 1.2;
  padding-block: 10px;
  font-weight: 700;
  font-size: 22px;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content h1 {
    font-size: 24px;
  }
}
.single .bl_article_content .bl_article_meta {
  display: flex;
  /* align-items: center; */
  gap: 20px;
}
.single .bl_article_content span.el_post_category {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}
.single .bl_article_content span.el_post_category > span {
  display: grid;
  place-content: center;
  white-space: nowrap;
  background-color: var(--main-color);
  color: #fff;
  padding-inline: 20px;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  height: 25px;
  border-radius: 99px;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content span.el_post_category > span {
    font-size: 14px;
    height: 27px;
  }
}
.single .bl_article_content {
  line-height: 2.1875;
  margin-inline: auto;
}
.single .bl_article_content > * + * {
  margin-top: 30px;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content > * + * {
    margin-top: 50px;
  }
}
.single .bl_article_content > header + * {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content > header + * {
    margin-top: 30px;
  }
}
.single .bl_article_content h2.wp-block-heading {
  font-weight: 700;
  font-style: normal;
  position: relative;
  font-size: 20px;
  letter-spacing: 0.04em;
  line-height: 1.75;
  border-bottom: 1px solid #acacac;
  padding-bottom: 0.2em;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content h2.wp-block-heading {
    font-size: 24px;
  }
}
.single .bl_article_content h2.wp-block-heading::after {
  content: "";
  width: 30%;
  height: 1px;
  background-color: var(--main-color);
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
}
.single .bl_article_content h3.wp-block-heading {
  font-weight: 700;
  font-style: normal;
  position: relative;
  letter-spacing: 0.04em;
  line-height: 1.75;
  padding-block: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 18px;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content h3.wp-block-heading {
    font-size: 20px;
  }
}
.single .bl_article_content h3.wp-block-heading::before {
  content: "";
  width: 5px;
  height: 42px;
  background-color: var(--main-color);
  border-radius: 5px;
  display: block;
  margin-right: 0.8em;
}
.single .bl_article_content h4.wp-block-heading {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content h4.wp-block-heading {
    font-size: 18px;
  }
}
.single .bl_article_content h5.wp-block-heading {
  font-size: 15px;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content h5.wp-block-heading {
    font-size: 17px;
  }
}
.single .bl_article_content a {
  color: var(--main-color);
  transition: opacity var(--transition-time);
}
@media (hover: hover) {
  .single .bl_article_content a:hover {
    opacity: 0.7;
  }
}
.single .bl_article_content ul {
  padding-left: 20px;
}
.single .bl_article_content ul li {
  list-style: disc;
}
.single .bl_article_content ol {
  padding-left: 20px;
}
.single .bl_article_content ol li {
  list-style: decimal;
}
.single .bl_article_content .wp-block-table table {
  width: 100%;
  margin-inline: auto;
  max-width: none;
}
.single .bl_article_content .wp-block-table table th,
.single .bl_article_content .wp-block-table table td {
  padding-block: 10px;
  padding-inline: 10px;
  border-color: #d8d8d8;
  letter-spacing: 0.06em;
  font-size: 15px;
  line-height: 1.4;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content .wp-block-table table th,
  .single .bl_article_content .wp-block-table table td {
    padding-block: 20px;
    padding-inline: 24px;
  }
}
.single .bl_article_content .wp-block-table table td:first-child,
.single .bl_article_content .wp-block-table table th {
  position: relative;
  background-color: #eeeff0;
  width: 30%;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content .wp-block-table table td:first-child,
  .single .bl_article_content .wp-block-table table th {
    width: 250px;
  }
}
.single .bl_article_content .wp-block-table table td {
  font-weight: var(--fw-medium);
}
.single .bl_article_content .wp-block-table.is-style-simple table td:first-child,
.single .bl_article_content .wp-block-table.is-style-simple table th {
  background-color: #fff;
  font-weight: var(--fw-bold);
}
.single .bl_article_content .wp-block-table.is-style-simple table td,
.single .bl_article_content .wp-block-table.is-style-simple table th {
  border-left: none;
  border-right: none;
}
.single .bl_article_content .wp-block-table.is-style-simple table tr:first-child th,
.single .bl_article_content .wp-block-table.is-style-simple table tr:first-child td {
  border-top: none;
}
.single .bl_article_content .wp-block-table.is-style-simple table tr:last-child th,
.single .bl_article_content .wp-block-table.is-style-simple table tr:last-child td {
  border-bottom: none;
}
.single .bl_article_content .wp-block-group {
  padding-block: 30px;
  padding-inline: 25px;
}
@media screen and (min-width: 1025px) {
  .single .bl_article_content .wp-block-group {
    padding-block: 50px;
    padding-inline: 40px;
  }
}
.single .bl_article_content .wp-block-group .wp-block-group__inner-container > * + * {
  margin-top: 24px;
}
.single .bl_article_content a.wp-block-button__link {
  color: #fff;
  background-color: var(--main-color);
}

.bl_postNav {
  max-width: var(--content-width);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0;
  margin-inline: auto;
  padding-block: 30px 70px;
  flex-wrap: wrap;
  padding-inline: var(--site-inline-padding);
  font-weight: var(--fw-regular);
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  .bl_postNav {
    padding-block: 30px 168px;
  }
}
.bl_postNav .el_moreLink a {
  max-width: none;
  width: 270px;
}

.bl_postNav_previous,
.bl_postNav_next {
  color: #808080;
}
.bl_postNav_previous > div,
.bl_postNav_previous > a,
.bl_postNav_next > div,
.bl_postNav_next > a {
  display: flex;
  line-height: 1.4;
  color: #fff;
  padding: 5px 20px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 99px;
  font-weight: var(--fw-bold);
}
.bl_postNav_previous a,
.bl_postNav_next a {
  background-color: var(--main-color);
  border: 2px solid var(--main-color);
  transition: background-color var(--transition), color var(--transition);
}
@media (hover: hover) {
  .bl_postNav_previous a:hover,
  .bl_postNav_next a:hover {
    background-color: #fff;
    color: var(--main-color);
  }
}
.bl_postNav_previous div,
.bl_postNav_next div {
  background-color: #ccc;
}
.bl_postNav_previous div .el_postNav_icon,
.bl_postNav_next div .el_postNav_icon {
  opacity: 0.5;
}

.bl_postNav_previous a {
  padding-inline: 10px 10px;
}
@media screen and (max-width: 1024px) {
  .bl_postNav_previous {
    width: 48%;
    order: 1;
  }
}

.bl_postNav_next a {
  padding-inline: 10px 10px;
}
@media screen and (max-width: 1024px) {
  .bl_postNav_next {
    width: 48%;
    order: 2;
    display: flex;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 1024px) {
  .bl_postNav_home {
    width: 100%;
    order: 3;
    display: flex;
    justify-content: center;
    margin-top: 30px;
  }
}
.bl_postNav_home a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--main-color);
  color: #fff;
  padding: 5px 20px;
  border-radius: 99px;
  font-weight: var(--fw-bold);
  border: 2px solid var(--main-color);
  transition: background-color var(--transition), color var(--transition);
}
@media (hover: hover) {
  .bl_postNav_home a:hover {
    background-color: #fff;
    color: var(--main-color);
  }
}

.el_postNav_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition-time);
}
.el_postNav_icon:before {
  content: "";
  border-style: solid solid none none;
  border-width: 1px;
  border-color: inherit;
  width: 0.6em;
  height: 0.6em;
  transform: rotate(45deg);
  transition: filter var(--transition-time);
}
.el_postNav_icon.is_next {
  margin-left: 10px;
}
.el_postNav_icon.is_prev::before {
  transform: rotate(-135deg);
}
.el_postNav_icon.is_prev {
  margin-right: 10px;
}

.single-job .bl_article_content .bl_article_meta {
  margin-top: 10px;
}
.single-job .bl_article_content .el_article_title {
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: var(--fw-bold);
  padding-block: 10px;
}
@media screen and (min-width: 1025px) {
  .single-job .bl_article_content .el_article_title {
    font-size: 2.2rem;
  }
}
.single-job .bl_article_content .el_post_category {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.single-job .bl_article_content .el_post_category > span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: var(--main-color);
  font-weight: var(--fw-bold);
  padding: 4px 8px;
  border-radius: 4px !important;
  min-height: 28px;
  line-height: 1;
  white-space: nowrap;
  min-width: 120px;
}
.single-job .bl_article_content .el_post_category > span.is_new-graduate {
  background: linear-gradient(90deg, rgb(234, 143, 61) 0%, rgb(234, 112, 75) 100%);
}
.single-job .bl_article_content .el_post_category > span.is_career {
  background: linear-gradient(90deg, rgb(79, 172, 254) 0.05%, rgb(0, 129, 221) 100%);
}
.single-job .bl_article_content table {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  border-collapse: collapse;
}
.single-job .bl_article_content table th,
.single-job .bl_article_content table td {
  padding-block: 20px;
  padding-inline: 8px;
  border: 1px solid var(--border-color);
  letter-spacing: 0.05em;
  font-size: 14px;
  line-height: 2.07;
}
@media screen and (min-width: 1025px) {
  .single-job .bl_article_content table th,
  .single-job .bl_article_content table td {
    padding-block: 25px;
    padding-inline: 40px;
  }
}
.single-job .bl_article_content table th {
  background: #f5f8fd;
  width: 28%;
}
.single-job .bl_article_content table td {
  background: #fff;
}
.single-job .bl_article_content table td ul {
  padding-left: 1.3em;
}
.single-job .bl_article_content table td ul li {
  list-style: disc;
  line-height: 1.4;
}
.single-job .bl_article_content table td ul li + li {
  margin-top: 10px;
}
.single-job .bl_article_content .el_job_entry_button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  max-width: 400px;
  width: 100%;
  margin-inline: auto;
  border: 2px solid var(--main-color);
  background-color: var(--main-color);
  color: #fff;
  font-size: 16px;
  font-weight: var(--fw-bold);
  padding-block: 15px;
  padding-inline: 20px;
  border-radius: 4px;
  transition: all var(--transition);
}
@media (hover: hover) {
  .single-job .bl_article_content .el_job_entry_button:hover {
    background-color: #fff;
    color: var(--main-color);
  }
}

.single-interview .bl_article_content .bl_article_header {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width:520px) {
  .single-interview .bl_article_content .bl_article_header {
    grid-template-columns: 35% auto;
    gap: 20px;
  }
}
@media screen and (min-width: 768px) {
  .single-interview .bl_article_content .bl_article_header {
    grid-template-columns: 280px auto;
    gap: 40px;
  }
}
.single-interview .bl_article_content .bl_article_header figure.el_interview_photo {
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden;
  border-radius: 24px;
  margin-inline: auto;
  max-width: 280px;
}
.single-interview .bl_article_content .bl_article_header figure.el_interview_photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-interview .bl_article_content .bl_article_header .el_article_title {
  font-size: 24px;
  font-weight: var(--fw-bold);
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .single-interview .bl_article_content .bl_article_header .el_article_title {
    font-size: 32px;
  }
}
.single-interview .bl_article_content .bl_article_header .el_interview_job_year {
  margin-top: 20px;
}
.single-interview .bl_article_content .bl_article_header .el_interview_profile {
  margin-top: 8px;
}
.single-interview .bl_article_content .bl_article_header .el_interview_profile .el_interview_name {
  font-weight: var(--fw-bold);
  font-size: 2em;
  line-height: 1;
}
.single-interview .bl_article_content .el_interview_q {
  font-weight: var(--fw-bold);
  font-size: 1.2em;
  border-bottom: 1px solid var(--border-color);
  padding-block: 10px;
  padding-inline: 2.2em;
  position: relative;
  line-height: 1.5;
}
.single-interview .bl_article_content .el_interview_q::before {
  position: absolute;
  content: "Q.";
  color: var(--main-color);
  display: inline-block;
  font-weight: var(--fw-bold);
  font-size: 1.2em;
  margin-right: 10px;
  left: 0;
  top: 4px;
}
.single-interview .bl_article_content .el_interview_a {
  margin-top: 20px;
}

.bl_caseHeader_fields {
  margin-top: 1em;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .bl_caseHeader_fields {
    font-size: 16px;
  }
}

.el_caseHeader_field {
  display: grid;
  grid-template-columns: 165px 1fr;
  gap: 20px;
  line-height: 1.5;
}
.el_caseHeader_field + .el_caseHeader_field {
  margin-top: 0.5em;
}

span.el_caseHeader_field_label {
  font-weight: 700;
}

.el_caseHeader_thumbnail {
  max-width: 520px;
  margin-inline: auto;
}
.el_caseHeader_thumbnail img {
  border-radius: 24px;
}

h1.el_article_title {
  margin-top: 10px;
}

.ly_archive_index {
  max-width: var(--content-width);
  margin-inline: auto;
  padding-inline: var(--site-inline-padding);
  padding-block: 80px 120px;
}
@media screen and (min-width: 1025px) {
  .ly_archive_index {
    padding-block: 120px 180px;
  }
}

.ly_archiveIndex_articles {
  display: grid;
}
.ly_archiveIndex_articles.is_listStyle {
  display: block;
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art {
  --transition-time: 0.6s;
  border-bottom: 1px solid var(--border-color);
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art:first-child {
  border-top: 1px solid var(--border-color);
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art {
  transition: background-color var(--transition-time) ease;
}
@media (hover: hover) {
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art:hover {
    background-color: #f1f1f1;
  }
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art:hover .el_interviewArchive_cat span {
    background-color: var(--main-color);
    color: #fff;
  }
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art:hover .bl_archive_content {
    opacity: 0.7;
  }
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_content {
  display: flex;
  padding-block: 20px;
  gap: 5px;
  align-items: center;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_content {
    gap: 20px;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
  }
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_meta {
  display: flex;
  min-width: 136px;
  align-self: flex-start;
  flex-shrink: 0;
  gap: 5px;
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_meta {
    display: grid;
    grid-template-columns: 110px 1fr;
    width: 290px;
    align-items: flex-start;
  }
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_meta .el_entry_date {
  font-size: 14px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1;
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_meta .el_post_category {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 0;
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_meta .el_post_category span {
  display: flex;
  background-color: var(--main-color);
  color: #fff;
  align-items: center;
  justify-content: center;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  white-space: nowrap;
  min-width: 95px;
  padding: 4px 8px;
  min-height: auto;
  font-size: 12px;
  height: 24px;
  border-radius: 99px;
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art .el_archive_meta .el_post_category span {
    font-size: 14px;
    height: 28px;
  }
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_art h3,
.ly_archiveIndex_articles.is_listStyle .bl_archive_art h2 {
  font-size: 16px;
  margin-top: 0;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: var(--fw-medium);
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art h3,
  .ly_archiveIndex_articles.is_listStyle .bl_archive_art h2 {
    font-size: 18px;
  }
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_content {
  transition: opacity var(--transition-time) ease;
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_content .el_archive_title {
  margin-top: 4px;
  font-size: 18px;
  letter-spacing: 0.06em;
  line-height: 1.4;
  color: var(--main-color);
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_listStyle .bl_archive_content .el_archive_title {
    font-size: 26px;
  }
}
.ly_archiveIndex_articles.is_listStyle .bl_archive_content .bl_archive_date {
  font-size: 16px;
  font-weight: var(--fw-medium);
  margin-top: 10px;
}
.ly_archiveIndex_articles.is_listStyle.is_post_type_column .el_archive_meta {
  display: flex;
  flex-direction: column;
  min-width: 136px;
  align-self: flex-start;
  flex-shrink: 0;
  gap: 5px;
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_listStyle.is_post_type_column .el_archive_meta {
    display: grid;
    grid-template-columns: 1fr;
    width: 136px;
    align-items: flex-start;
  }
}
.ly_archiveIndex_articles.is_cardStyle {
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width:520px) {
  .ly_archiveIndex_articles.is_cardStyle {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 9.683px + 1.984vw, 30px);
  }
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_cardStyle {
    --column-num: 3;
    grid-template-columns: repeat(var(--column-num), 1fr);
    -moz-column-gap: 60px;
         column-gap: 60px;
    row-gap: 50px;
  }
  .ly_archiveIndex_articles.is_cardStyle.is_4col {
    --column-num: 4;
    -moz-column-gap: 20px;
         column-gap: 20px;
    row-gap: 30px;
  }
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art {
  --transition-time: 0.6s;
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_cardStyle .bl_archive_art {
    font-size: 18px;
  }
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art figure {
  overflow: hidden;
  border-radius: 24px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art img {
  height: auto;
  transition: transform var(--transition-time) ease;
  width: 100%;
  aspect-ratio: 400/260;
  -o-object-fit: cover;
     object-fit: cover;
  filter: none;
  max-width: none;
}
@media (hover: hover) {
  .ly_archiveIndex_articles.is_cardStyle .bl_archive_art:hover img {
    transform: scale(1.05);
  }
  .ly_archiveIndex_articles.is_cardStyle .bl_archive_art:hover .el_interviewArchive_cat span {
    background-color: var(--main-color);
    color: #fff;
  }
  .ly_archiveIndex_articles.is_cardStyle .bl_archive_art:hover .bl_archive_content {
    opacity: 0.7;
  }
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .el_archive_content {
  margin-top: 10px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .el_archive_meta {
  display: flex;
  gap: 10px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .el_archive_meta .el_entry_date {
  font-size: 14px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  line-height: 1;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .el_archive_meta .el_post_category {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .el_archive_meta .el_post_category span {
  display: flex;
  background-color: var(--main-color);
  color: #fff;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.1em;
  white-space: nowrap;
  height: 28px;
  min-width: 95px;
  padding: 4px 14px;
  border-radius: 99px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .el_archive_title {
  margin-top: 8px;
  line-height: 1.4;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_content {
  margin-top: 10px;
  transition: opacity var(--transition-time) ease;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_content .el_archive_title {
  margin-top: 4px;
  font-size: 18px;
  letter-spacing: 0.06em;
  line-height: 1.4;
  color: var(--main-color);
}
@media screen and (min-width: 1025px) {
  .ly_archiveIndex_articles.is_cardStyle .bl_archive_content .el_archive_title {
    font-size: 26px;
  }
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_content .bl_archive_date {
  font-size: 16px;
  font-weight: var(--fw-medium);
  margin-top: 10px;
}
.ly_archiveIndex_articles .el_listItem_content {
  margin-top: 5px;
}
.ly_archiveIndex_articles .el_listItem_content .posted-on {
  opacity: 0.7;
  font-weight: var(--fw-regular);
}
.ly_archiveIndex_articles .el_listItem_content h3 {
  font-size: 16px;
  font-weight: var(--fw-regular);
  margin-top: 4px;
}

.bl_archiveCategoryFilter .bl_archive_filter {
  margin-bottom: 0px;
}

.bl_archivetagFilter {
  margin-block: 30px 60px;
}
.bl_archivetagFilter .bl_archive_filter {
  margin-bottom: 0px;
}
.bl_archivetagFilter .bl_archive_filter a {
  border: none;
  background-color: #f9f9f9;
}
.bl_archivetagFilter .bl_archive_filter a:before {
  content: "#";
}

.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .bl_archive_thumbnail {
  aspect-ratio: 4/3;
  background-color: #f9f9f9;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .bl_archive_thumbnail img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .bl_archive_thumbnail img.is-portrait {
  -o-object-fit: contain;
     object-fit: contain;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .bl_projects_title {
  margin-top: 8px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .bl_projects_cat {
  margin-top: 12px;
}
.ly_archiveIndex_articles.is_cardStyle .bl_archive_art .bl_projects_tag {
  margin-top: 12px;
}

.bl_article_header .bl_projects_area {
  gap: 10px;
  display: flex;
}
.bl_article_header .bl_projects_area::before {
  content: "";
  background-image: url(../images/common/icon-spot.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 27px;
  flex-shrink: 0;
}
.bl_article_header .el_post_taxonomies {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.bl_article_header .el_post_taxonomies .el_post_tag {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.bl_article_header .el_post_taxonomies .el_post_tag span {
  background-color: #f9f9f9;
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 10px;
  font-size: 13px;
}
@media screen and (min-width: 1025px) {
  .bl_article_header .el_post_taxonomies .el_post_tag span {
    font-size: 14px;
  }
}
.bl_article_header .el_post_taxonomies .el_post_tag span::before {
  content: "#";
}

.single-projects .bl_article_header + * {
  margin-top: 60px;
}

.bl_heading_slider_wrapper {
  position: relative;
  --swiper-navigation-sides-offset: -10px;
}
@media screen and (min-width: 1025px) {
  .bl_heading_slider_wrapper {
    --swiper-navigation-sides-offset: -30px;
  }
}
.bl_heading_slider_wrapper .swiper-button-next,
.bl_heading_slider_wrapper .swiper-button-prev {
  width: 40px;
  height: 40px;
  background-color: var(--main-color);
  border-radius: 100%;
  --swiper-navigation-size: 20px;
  --swiper-navigation-color: #fff;
  --swiper-navigation-sides-offset: -17px;
  --swiper-navigation-top-offset: 50%;
}

.bl_heading_slider {
  max-width: 1100px;
  margin-inline: auto;
  margin-top: 30px;
  position: relative;
}
.bl_heading_slider .swiper-wrapper {
  align-items: center;
}
.bl_heading_slider .swiper-slide {
  position: relative;
  transition: transform var(--transition), opacity var(--transition);
}
.bl_heading_slider .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}

.bl_slider_caption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-block: 12px;
  padding-inline: 20px;
  line-height: 1.75;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  color: #fff;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .bl_slider_caption {
    font-size: 15px;
  }
}

.bl_headingSlider_thumbs {
  margin-inline: auto;
  margin-top: 20px;
  display: grid;
  flex-wrap: wrap;
  gap: 10px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 1025px) {
  .bl_headingSlider_thumbs {
    margin-top: 24px;
    gap: 20px;
    width: 90%;
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (min-width: 1500px) {
  .bl_headingSlider_thumbs {
    grid-template-columns: repeat(7, 1fr);
  }
}
.bl_headingSlider_thumbs .el_thumbItem {
  transition: opacity var(--transition);
}
.bl_headingSlider_thumbs .el_thumbItem:hover, .bl_headingSlider_thumbs .el_thumbItem.is_active {
  opacity: 0.4;
}
.bl_headingSlider_thumbs .el_thumbItem img {
  max-width: none;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 146/97;
}

.is-style-strong, .bl_interviewPost_contentInner .is-style-strong {
  letter-spacing: 0.06em;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.75;
}
@media screen and (min-width: 1025px) {
  .is-style-strong, .bl_interviewPost_contentInner .is-style-strong {
    line-height: 2.46;
    font-size: 22px;
  }
}

.wp-block-table.is-style--schedule td {
  border: none;
  letter-spacing: 0.06em;
  vertical-align: middle;
  position: relative;
  padding-inline: 30px;
  line-height: 1.75;
}
.wp-block-table.is-style--schedule td:first-child {
  border-right: 1px solid;
  text-align: center;
  padding-inline: 0 30px;
  padding-block: 15px;
  font-size: 18px;
  line-height: 1.1;
}
.wp-block-table.is-style--schedule td:first-child::after {
  content: "";
  width: 14px;
  height: 14px;
  background-color: var(--main-color);
  border-radius: 100%;
  right: -7px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}

.is-style-left-line {
  font-family: YakuHanJP_Narrow, "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 24px;
}
@media screen and (min-width: 1025px) {
  .is-style-left-line {
    font-size: 34px;
  }
}
.is-style-left-line {
  line-height: 1.28;
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 46px;
}
.is-style-left-line::before {
  content: "";
  width: 3px;
  height: 1.7em;
  transform: rotate(28deg);
  display: block;
  background: rgb(214, 189, 151);
  background: linear-gradient(0deg, #d6bd97 0%, #a48046 100%);
  position: absolute;
  left: 13px;
  top: -6px;
}

.is-style-table-note {
  font-size: 12px;
  line-height: 1.4 !important;
  letter-spacing: 0.04em;
  margin-top: 8px;
  opacity: 0.7;
}

.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loadingInner > div {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 5px;
}
@media screen and (min-width: 1025px) {
  .loadingInner > div {
    flex-direction: row;
    gap: 0;
  }
}
.loadingInner img {
  width: 112px;
  filter: brightness(0) invert(100%);
  margin-right: 10px;
}
.loadingInner {
  color: #fff;
  font-size: clamp(15px, 10.873px + 0.794vw, 19px);
}
@media screen and (min-width: 1025px) {
  .loadingInner {
    font-size: 24px;
  }
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background: linear-gradient(65deg, #0372ff, #0372b4, #00b5dd);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}
.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

.is-slidein,
.is-fadein,
.is-fadeInLeft,
.is-fadeInRight,
.is-fadeUp {
  opacity: 0;
}

.is-fadeInDown,
.is-fadeInLeft,
.is-fadeInRight,
.is-fadeUp {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.is-animated.is-fadeUp {
  animation-name: fadeUpAnime;
}
.is-animated.is-fadeInDown {
  animation-name: fadeDownAnime;
}
.is-animated.is-fadeInLeft {
  animation-name: fadeLeftAnime;
}
.is-animated.is-fadeInRight {
  animation-name: fadeRightAnime;
}
.is-animated.is-fadein {
  opacity: 0;
  animation: fadein 1.5s ease forwards;
}
.is-animated.is-slidein {
  opacity: 0;
  animation: slidein 1s ease-out forwards;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-300px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(300px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slidein {
  0% {
    opacity: 0;
    transform: translateX(-300px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.is-fadeInSlant {
  opacity: 0;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

.is-fadeInSlant_delayed {
  opacity: 0;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 1s;
}

.is-animated.is-fadeInSlant {
  animation-name: fadeSlantAnime;
}
.is-animated.is-fadeInSlant_delayed {
  animation-name: fadeSlantAnime;
}

@keyframes fadeSlantAnime {
  from {
    opacity: 0;
    transform: translateX(-300px) translateY(173px);
  }
  to {
    opacity: 1;
    transform: translateX(0) translateY(0);
  }
}
/* 文字が滑らかに表示される */
.smooth {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  transition: 2.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
}

.smooth.is-animated {
  clip-path: inset(0);
}

.smooth-mv {
  clip-path: inset(0 0 0 100%);
  animation-duration: 3s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}

.smooth-mv.is-animated {
  animation-name: smoothClipAnime;
}

@keyframes smoothClipAnime {
  0% {
    clip-path: inset(0 0 0 100%);
  }
  50% {
    clip-path: inset(0 0 0 70%); /* 最初の30%で20%しか進まない */
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
.blur {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.blur.is-animated {
  animation-name: blurAnime;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
/*背景色が伸びて出現（共通）*/
.bgextend {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden; /*　はみ出た色要素を隠す　*/
  opacity: 0;
}
.bgextend.is-animated {
  animation-name: bgextendAnimeBase;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*中の要素*/
.bgappear {
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.bgappear.is-animated {
  animation-name: bgextendAnimeSecond;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*左から*/
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666; /*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/* ゆらゆら揺れる（ふわふわ浮遊） */
/*
 * 折り返し地点の2状態だけを定義し、animation-direction: alternate で往復させる。
 * ease-in-out が「折り返し」でのみ効くため、中間地点で速度が落ちず滑らかにつながる。
 * （0%と100%を同じ位置にすると、そこでも減速して一瞬止まって見える）
 */
.is-floatAnime {
  animation: floatAnime 3s ease-in-out infinite alternate;
  will-change: transform;
}
.is-floatAnime[data-item="1"] {
  animation-duration: 3s;
  animation-delay: 0s;
}
.is-floatAnime[data-item="2"] {
  animation-duration: 3.4s;
  animation-delay: -0.9s;
}
.is-floatAnime[data-item="3"] {
  animation-duration: 2.8s;
  animation-delay: -1.8s;
}
.is-floatAnime[data-item="4"] {
  animation-duration: 3.7s;
  animation-delay: -2.7s;
}
.is-floatAnime[data-item="5"] {
  animation-duration: 3.1s;
  animation-delay: -3.6s;
}

@keyframes floatAnime {
  from {
    transform: translateY(-8px) rotate(1.5deg);
  }
  to {
    transform: translateY(8px) rotate(-1.5deg);
  }
}
@keyframes floatAnime-linear {
  from {
    transform: translateY(-8px);
  }
  to {
    transform: translateY(8px);
  }
}
.tw-box {
  background-color: var(--tw-box-bg-color, var(--sub-color));
  color: #fff;
  padding-inline: 20px;
  padding-block: 10px;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  display: flex;
  align-items: center;
}

.delay-05s {
  animation-delay: 0.5s;
}

.delay-1s {
  animation-delay: 1s;
}

.delay-15s {
  animation-delay: 1.5s;
}

.delay-2s {
  animation-delay: 2s;
}

.delay-3s {
  animation-delay: 3s;
}

.delay-4s {
  animation-delay: 4s;
}

.delay-5s {
  animation-delay: 5s;
}/*# sourceMappingURL=style.css.map */