@charset "UTF-8";
body,
html {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  overflow-x: clip;
  height: auto;
}

html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: none;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  width: 100%;
  height: auto;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.6;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  display: flex; /* フレックスボックスに有効に */
  flex-flow: column nowrap; /* 要素を縦に並べる */
  min-height: 100vh; /* 最小でも画面の高さ分のbodyの高さを担保する */
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    line-height: 1.6;
    min-width: inherit;
  }
}
body.fixed {
  overflow: hidden;
}

main {
  flex: 1; /* 画面の高さから他の同レイヤーの要素の高さを引いた値に */
  padding-top: 0rem;
}
@media screen and (max-width: 767px) {
  main {
    padding-top: 0rem;
  }
}

section {
  padding: 6rem 4rem;
}
@media screen and (max-width: 767px) {
  section {
    padding: 3rem 1.5rem;
  }
}
section .section__inner {
  width: 100%;
  max-width: 126rem;
  margin: 0 auto;
}

img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  img {
    max-width: 100%;
  }
}

button {
  transition: 0.4s;
}
button:hover {
  opacity: 0.8;
}

a {
  transition: 0.4s;
}
a img {
  transition: 0.4s;
}
a:link {
  color: inherit;
  text-decoration: none;
}
a:visited {
  color: inherit;
}
a:hover {
  color: inherit;
  opacity: 0.8;
}
strong {
  font-weight: bold !important;
}

/* --------------------------------------------------
 Margin Padding
 -------------------------------------------------- */
.mg0 {
  margin: 0px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.mg5 {
  margin: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.mg10 {
  margin: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.mg15 {
  margin: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.mg20 {
  margin: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.mg25 {
  margin: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.mg30 {
  margin: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mg35 {
  margin: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.mg40 {
  margin: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.mg45 {
  margin: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.mg50 {
  margin: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mg55 {
  margin: 55px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.mg60 {
  margin: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mg65 {
  margin: 65px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.mg70 {
  margin: 70px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mg75 {
  margin: 75px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.mg80 {
  margin: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.mg85 {
  margin: 85px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.mg90 {
  margin: 90px !important;
}

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

.mb90 {
  margin-bottom: 90px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.mg95 {
  margin: 95px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.mg100 {
  margin: 100px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.pd0 {
  padding: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pd10 {
  padding: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pd20 {
  padding: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pd30 {
  padding: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pd40 {
  padding: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pd50 {
  padding: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

/* --------------------------------------------------
 Margin Padding (responsive)
 -------------------------------------------------- */
.mt_s {
  margin-top: 20px !important;
}
@media screen and (max-width: 767px) {
  .mt_s {
    margin-top: 10px !important;
  }
}

.mt_sm {
  margin-top: 30px !important;
}
@media screen and (max-width: 767px) {
  .mt_sm {
    margin-top: 15px !important;
  }
}

.mt_m {
  margin-top: 40px !important;
}
@media screen and (max-width: 767px) {
  .mt_m {
    margin-top: 20px !important;
  }
}

.mt_ml {
  margin-top: 50px !important;
}
@media screen and (max-width: 767px) {
  .mt_ml {
    margin-top: 25px !important;
  }
}

.mt_l {
  margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
  .mt_l {
    margin-top: 30px !important;
  }
}

.mt_ll {
  margin-top: 80px !important;
}
@media screen and (max-width: 767px) {
  .mt_ll {
    margin-top: 40px !important;
  }
}

.mt_xl {
  margin-top: 100px !important;
}
@media screen and (max-width: 767px) {
  .mt_xl {
    margin-top: 50px !important;
  }
}

.mb_s {
  margin-bottom: 20px !important;
}
@media screen and (max-width: 767px) {
  .mb_s {
    margin-bottom: 10px !important;
  }
}

.mb_sm {
  margin-bottom: 30px !important;
}
@media screen and (max-width: 767px) {
  .mb_sm {
    margin-bottom: 15px !important;
  }
}

.mb_m {
  margin-bottom: 40px !important;
}
@media screen and (max-width: 767px) {
  .mb_m {
    margin-bottom: 20px !important;
  }
}

.mb_ml {
  margin-bottom: 50px !important;
}
@media screen and (max-width: 767px) {
  .mb_ml {
    margin-bottom: 25px !important;
  }
}

.mb_l {
  margin-bottom: 60px !important;
}
@media screen and (max-width: 767px) {
  .mb_l {
    margin-bottom: 30px !important;
  }
}

.mb_ll {
  margin-bottom: 80px !important;
}
@media screen and (max-width: 767px) {
  .mb_ll {
    margin-bottom: 40px !important;
  }
}

.mb_xl {
  margin-bottom: 100px !important;
}
@media screen and (max-width: 767px) {
  .mb_xl {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb0 {
    margin-bottom: 0 !important;
  }
}

/* --------------------------------------------------
 Set Style
 -------------------------------------------------- */
.clear {
  clear: both;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.tal {
  text-align: left !important;
}

.tar {
  text-align: right !important;
}

.tac {
  text-align: center !important;
}

@media screen and (max-width: 767px) {
  .sp-tac {
    text-align: center !important;
  }
}

.bold {
  font-weight: bold;
}

.underline {
  text-decoration: underline;
}

.hidden {
  display: none;
}

.italic {
  font-style: italic;
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Times New Roman", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.block-center {
  margin-left: auto;
  margin-right: auto;
}

.height_auto {
  height: auto !important;
}

@media screen and (max-width: 767px) {
  .height_auto_sp {
    height: auto !important;
  }
}

.block {
  display: block;
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

.nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .pc-nowrap {
    white-space: nowrap;
  }
}

.box_shadow {
  box-shadow: 0 0 16px rgba(114, 131, 144, 0.8);
}

.m-auto {
  margin: auto !important;
}

.display-table {
  display: table;
}

.fw-100 {
  font-weight: 100 !important;
}
.fw-300 {
  font-weight: 300 !important;
}
.fw-400 {
  font-weight: 400 !important;
}

.txt--xs {
  font-size: 0.65em !important;
}
.txt--s {
  font-size: 0.875em !important;
}
.txt--ss {
  font-size: 0.8125em !important;
}
.txt--l {
  font-size: 1.125em !important;
}
.txt--ll {
  font-size: 1.25em !important;
}
.txt--1em {
  font-size: 1em !important;
}
.txt--lh1_8 {
  line-height: 1.8;
}
.txt--fz60 {
  font-size: 6rem;
}
@media screen and (max-width: 767px) {
  .txt--fz60 {
    font-size: 3.5rem;
  }
}
.txt--fz50 {
  font-size: 5rem;
}
@media screen and (max-width: 767px) {
  .txt--fz50 {
    font-size: 3.5rem;
  }
}
.txt--fz40 {
  font-size: 4rem;
}
@media screen and (max-width: 767px) {
  .txt--fz40 {
    font-size: 2.8rem;
  }
}
.txt--fz48 {
  font-size: 4.8rem;
}
@media screen and (max-width: 767px) {
  .txt--fz48 {
    font-size: 3rem;
  }
}
.txt--fz32 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz32 {
    font-size: 2.3rem;
  }
}
.txt--fz30 {
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .txt--fz30 {
    font-size: 2.3rem;
  }
}
.txt--fz28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .txt--fz28 {
    font-size: 2.2rem;
  }
}
.txt--fz24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .txt--fz24 {
    font-size: 2.1rem;
  }
}
.txt--fz22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz22 {
    font-size: 2rem;
  }
}
.txt--fz20 {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz20 {
    font-size: 1.9rem;
  }
}
.txt--fz18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .txt--fz18 {
    font-size: 1.7rem;
  }
}
.txt--fz16 {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .txt--fz16 {
    font-size: 1.5rem;
  }
}
.txt--fz14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .txt--fz14 {
    font-size: 1.3rem;
  }
}
.txt--fz13 {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .txt--fz13 {
    font-size: 1.2rem;
  }
}
.txt--fz12 {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .txt--fz12 {
    font-size: 1.2rem;
  }
}
.txt--lead {
  text-align: center;
  max-width: 900px;
  margin: auto;
}
.txt--white {
  color: #fff;
}
.txt--red {
  color: #e40000;
}
.txt--blue {
  color: #101946;
}
.txt--blue2 {
  color: #009fe6;
}
.txt--gray {
  color: #666;
}
.txt--purple {
  color: #c8448e;
}
.txt--lh18 {
  line-height: 1.8;
}
.txt--gray2 {
  color: #728390;
}

/* --------------------------------------------------
 background
 -------------------------------------------------- */
.bg--white {
  background: #fff !important;
}
.bg--black {
  background: #000 !important;
}

/* --------------------------------------------------
 border
-------------------------------------------------- */
.bd--gray {
  border: 1px solid #ccc;
}
.bd--gray02 {
  border: 1px solid #b1b1b1;
}
.bd--none {
  border: none !important;
}
.bd--cl_bl {
  border-color: #3a434a !important;
}

/* --------------------------------------------------
 width
-------------------------------------------------- */
.w-auto {
  width: auto !important;
}

.w23_5 {
  width: 23.5%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w32 {
  width: 32%;
}

.w36 {
  width: 36%;
}

.w40 {
  width: 40%;
}

.w42 {
  width: 42%;
}

.w44 {
  width: 44%;
}

.w47 {
  width: 47%;
}

.w48 {
  width: 48%;
}

.w49 {
  width: 49%;
}

.w50 {
  width: 50%;
}

.w52 {
  width: 52%;
}

.w54 {
  width: 54%;
}

.w60 {
  width: 60%;
}

.w65 {
  width: 65%;
}

.w70 {
  width: 70%;
}

.w72 {
  width: 72%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.maw100 {
  max-width: 10rem;
}

.maw300 {
  max-width: 30rem;
}

.maw400 {
  max-width: 40rem;
}

.maw500 {
  max-width: 50rem;
}

.maw600 {
  max-width: 60rem;
}

.maw700 {
  max-width: 70rem;
}

.maw750 {
  max-width: 75rem;
}

.maw800 {
  max-width: 80rem;
}

.maw900 {
  max-width: 90rem;
}

.maw1000 {
  max-width: 100rem;
}

@media screen and (max-width: 767px) {
  .sp-w50 {
    width: 50%;
  }
  .sp-w75 {
    width: 75%;
  }
  .sp-w100 {
    width: 100%;
  }
}
/* --------------------------------------------------
 Column
-------------------------------------------------- */
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex--nowrap {
  flex-wrap: nowrap;
}
.flex--jc_sb {
  justify-content: space-between;
}
.flex--jc_center {
  justify-content: center;
}
.flex--jc_se {
  justify-content: space-evenly;
}
.flex--ai_center {
  align-items: center;
}

.flex_col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2%;
}
.flex_col2 > .flex_item {
  width: calc((100% - 2% * (2 - 1)) / 2);
}
@media screen and (max-width: 767px) {
  .flex_col2 > .flex_item {
    width: 100%;
  }
}

.flex_col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2%;
}
.flex_col3 > .flex_item {
  width: calc((100% - 2% * (3 - 1)) / 3);
}
@media screen and (max-width: 767px) {
  .flex_col3 > .flex_item {
    width: 100%;
  }
}

.flex_col4 {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2%;
}
.flex_col4 > .flex_item {
  width: calc((100% - 2% * (4 - 1)) / 4);
}
@media screen and (max-width: 767px) {
  .flex_col4 > .flex_item {
    width: 100%;
  }
}

.col2 {
  display: flex;
  flex-wrap: wrap;
}
.col2__item {
  width: 48.5%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .col2__item {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.col2__item:nth-child(2n+1) {
  margin-right: 3%;
}
@media screen and (max-width: 767px) {
  .col2__item:nth-child(2n+1) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .col2__item:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col2__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col2.spCol2__item {
    width: 48.5%;
  }
  .col2.spCol2__item:nth-child(2n+1) {
    margin-right: 3%;
  }
}

.col3 {
  display: flex;
  flex-wrap: wrap;
}
.col3__item {
  width: 32%;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .col3__item {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.col3__item:nth-child(3n+1), .col3__item:nth-child(3n+2) {
  margin-right: 2%;
}
@media screen and (max-width: 767px) {
  .col3__item:nth-child(3n+1), .col3__item:nth-child(3n+2) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .col3__item:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col3__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}

.col4 {
  display: flex;
  flex-wrap: wrap;
}
.col4__item {
  width: 23.5%;
  margin-bottom: 3rem;
}
.col4__item:not(:nth-child(4n)) {
  margin-right: 2%;
}
@media screen and (max-width: 767px) {
  .col4__item:not(:nth-child(4n)) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .col4__item {
    width: 48.5%;
    margin-bottom: 1.5rem;
  }
  .col4__item:nth-child(2n+1) {
    margin-right: 3%;
  }
}
@media screen and (min-width: 768px) {
  .col4__item:nth-last-child(-n+4) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col4__item:nth-last-child(1) {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .col4.spCol1__item {
    width: 100%;
  }
  .col4.spCol1__item:nth-child(2n+1) {
    margin-right: 0;
  }
}

/* --------------------------------------------------
 Responsive
-------------------------------------------------- */
@media screen and (min-width: 768px) {
  .sp-show {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-show {
    display: none !important;
  }
}
/* --------------------------------------------------
 position
-------------------------------------------------- */
.posi_r {
  position: relative !important;
}

.posi_a {
  position: absolute !important;
}

.right_0 {
  right: 0;
}

.right_10 {
  right: 1rem;
}

.right_30 {
  right: 3rem;
}

/* --------------------------------------------------
 fade
-------------------------------------------------- */
.fadeIn {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
}
.fadeIn.active {
  opacity: 1;
}

.fadeUp {
  opacity: 0;
  transform: translate(0, 30px);
  transition: opacity 0.8s, transform 0.8s;
}
.fadeUp.active {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeDown {
  opacity: 0;
  transform: translate(0, -30px);
  transition: opacity 0.8s, transform 0.8s;
}
.fadeDown.active {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeRight {
  opacity: 0;
  transform: translate(-30px, 0px);
  transition: opacity 0.8s, transform 0.8s;
}
.fadeRight.active {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeLeft {
  opacity: 0;
  transform: translate(-30px, 0px);
  transition: opacity 0.8s, transform 0.8s;
}
.fadeLeft.active {
  opacity: 1;
  transform: translate(0, 0);
}

form .form-item {
  display: flex;
  flex-wrap: wrap;
  margin: 4rem 0;
}
form .form-item .input_ttl {
  font-weight: bold;
  width: 30%;
}
@media screen and (max-width: 767px) {
  form .form-item .input_ttl {
    width: 100%;
  }
}
form .form-item .input_area {
  width: 70%;
}
@media screen and (max-width: 767px) {
  form .form-item .input_area {
    width: 100%;
  }
}
form input[type=text], form input[type=tel], form input[type=email], form textarea {
  border: 0.1rem solid #B8C4D5;
  border-radius: 0.8rem;
  background-color: #F7F7F8;
  padding: 1.4rem;
}
form textarea {
  width: 100%;
}
form ::placeholder {
  color: #BBBBBC;
}

.show_txt_wrap {
  overflow: hidden;
  display: block;
}
.show_txt_wrap .show_txt {
  transform: translateY(100%);
  transition: transform 0.8s;
  display: block;
  line-height: 1;
}
.show_txt_wrap.active .show_txt {
  transform: translateY(0);
}

body.home h2 {
  font-size: 7.5rem;
  font-family: "CabinetGrotesk-Bold";
  margin-bottom: 3rem;
  line-height: 0.4;
  color: #101946;
}
@media screen and (min-width: 768px) {
  body.home h2 {
    width: 60%;
  }
}
@media screen and (max-width: 767px) {
  body.home h2 {
    font-size: 5rem;
    line-height: 0.5;
  }
}
body.home h2 span.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  body.home h2 span.txt {
    position: relative;
    top: -2rem;
  }
}
body.home h2 span.txt::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: 0.3rem;
  left: -0.5rem;
}
body.home h3 {
  font-size: 7.5rem;
  font-family: "CabinetGrotesk-Bold";
  margin-bottom: 3rem;
  line-height: 0.4;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body.home h3 {
    font-size: 5rem;
  }
}
body.home h3 span.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  body.home h3 span.txt {
    position: relative;
    top: -1rem;
  }
}
body.home h3 span.txt::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: 0.3rem;
  left: -0.5rem;
}
body.home main {
  padding-top: 0;
}
body.home section {
  background-color: #fff;
  z-index: 1;
  position: relative;
}
body.home #mv {
  padding: 0;
  height: 100svh;
  width: 100%;
  overflow: hidden;
}
body.home #mv .mv_slider {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
body.home #mv .mv_slider picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0; /* 最初は透明 */
  transition: opacity 1.5s ease-in-out;
  z-index: 1;
}
body.home #mv .mv_slider picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* アニメーションの初期状態*/
  transform: scale(1.1);
  transform-origin: center;
}
body.home #mv .mv_slider picture.is-active {
  opacity: 1;
  z-index: 2; /* 前面に来るように */
}
body.home #mv .mv_slider picture.is-active img {
  /* 5秒かけて縮小、動きは一定(linear)、1回のみ実行、最後まで行ったら止まる */
  animation: shrinkAnimation 5s linear forwards;
}
body.home #mv .mv_slider picture.is-last {
  opacity: 0;
  z-index: 1;
}
body.home #mv .mv_slider picture.is-last img {
  transform: scale(1); /* 縮小しきった状態で固定 */
  animation: none; /* アニメーションを停止 */
}
@keyframes shrinkAnimation {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
body.home #mv .section__inner {
  height: 100%;
  width: 100%;
  max-width: 100%;
  position: relative;
  padding: 0 4.5rem;
  z-index: 2;
}
body.home #mv .section__inner .txt_area {
  position: absolute;
  bottom: 8rem;
  color: #FFF;
  width: 100%;
  bottom: 14rem;
}
@media screen and (max-width: 767px) {
  body.home #mv .section__inner .txt_area {
    max-width: 100%;
    bottom: 5.5rem;
    right: 50%;
    transform: translateX(50%);
    padding: 0 2rem;
  }
}
body.home #mv .section__inner .txt_area h2 {
  font-size: 6.5rem;
  font-family: "CabinetGrotesk-Bold";
  line-height: 1.4;
  letter-spacing: -0.04em;
  color: #FFF;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  body.home #mv .section__inner .txt_area h2 {
    font-size: 5.3rem;
  }
}
body.home #mv .section__inner .txt_area .txt_box p {
  font-family: "CabinetGrotesk-Medium";
  font-weight: 500;
  font-size: 4rem;
  letter-spacing: -0.04em;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  body.home #mv .section__inner .txt_area .txt_box p {
    font-size: 1.4rem;
  }
}
body.home #mv .section__inner .bottom_txt {
  position: absolute;
  bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  body.home #mv .section__inner .bottom_txt {
    max-width: 100%;
    bottom: 2.4rem;
    padding: 0 2rem;
    left: 0.3rem;
  }
}
body.home #mv .section__inner .bottom_txt p {
  font-size: 1.3rem;
  font-family: "CabinetGrotesk-Regular";
  color: #FFF;
}
@media screen and (max-width: 767px) {
  body.home #mv .section__inner .bottom_txt p {
    font-size: 1rem;
  }
}
body.home #news_list {
  padding: 27rem 4rem;
  background-color: rgba(255, 255, 255, 0.7921568627);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body.home #news_list {
    padding: 12.2rem 1.5rem;
  }
}
body.home #news_list .flex {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
}
@media screen and (min-width: 768px) {
  body.home #news_list .flex {
    min-height: 32.5rem;
  }
}
@media screen and (max-width: 767px) {
  body.home #news_list .flex {
    flex-wrap: wrap;
  }
}
body.home #news_list .flex h3 {
  margin-bottom: 0;
}
body.home #news_list .flex .more {
  position: absolute;
  bottom: 2rem;
  left: 0.5rem;
}
@media screen and (max-width: 767px) {
  body.home #news_list .flex .more {
    bottom: -5rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
body.home #news_list .flex .more p {
  font-size: 1.4rem;
}
body.home #news_list .flex .more p::after {
  content: "";
  background-color: #101946;
  width: 1.1rem;
  height: 0.1rem;
  position: relative;
  display: inline-block;
  bottom: 0.3rem;
  right: -1.1rem;
}
body.home #news_list .news_list {
  width: 100%;
  max-width: 82.7rem;
  display: flex;
  flex-wrap: nowrap;
  margin-left: 15%;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list {
    margin-left: 0;
    margin-top: 4rem;
  }
}
body.home #news_list .news_list .news_list_area {
  width: 100%;
}
body.home #news_list .news_list .news_list_area li {
  margin-top: 3.7rem;
  padding-bottom: 3.7rem;
  border-bottom: 0.1rem solid #eaeaea;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list .news_list_area li {
    margin-top: 2.2rem;
    padding-bottom: 2.2rem;
  }
}
body.home #news_list .news_list .news_list_area li a {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  column-gap: 2rem;
  height: 100%;
  align-content: center;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list .news_list_area li a {
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
  }
}
body.home #news_list .news_list .news_list_area li a p {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list .news_list_area li a p {
    margin-bottom: 2.5rem;
  }
}
body.home #news_list .news_list .news_list_area li a p .category {
  background-color: #101946;
  color: #fff;
  padding: 0.4rem 2rem;
  font-size: 1.2rem;
  font-weight: bold;
  margin-right: 0.8rem;
  line-height: 1;
  display: block;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list .news_list_area li a p .category {
    font-size: 1.2rem;
  }
}
body.home #news_list .news_list .news_list_area li a p .date {
  font-size: 1.4rem;
  font-weight: 500;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list .news_list_area li a p .date {
    font-size: 1.2rem;
  }
}
body.home #news_list .news_list .news_list_area li a h3 {
  font-size: 1.4rem;
  font-weight: normal;
  margin-bottom: 0;
  line-height: 1.786;
  color: #000;
  flex: 1;
}
@media screen and (max-width: 767px) {
  body.home #news_list .news_list .news_list_area li a h3 {
    font-size: 1.4rem;
    line-height: 1.571;
    width: 100%;
  }
}
body.home {
  /*============================
  #about
  ============================*/
}
body.home section#about {
  background-image: url(/wordpress/wp-content/themes/komatsu/common/img/bg-about.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 16rem;
  padding-bottom: 40rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.home section#about {
    padding-top: 9rem;
    padding-bottom: 27rem;
  }
}
body.home section#about .about_bg_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  body.home section#about .about_bg_sp {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
}
body.home section#about .img_box {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24.7rem;
  height: auto;
  aspect-ratio: 247/290;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.home section#about .img_box {
    width: 40%;
  }
}
body.home section#about .img_box img {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 130%;
  object-fit: cover;
  will-change: transform;
}
@keyframes --parallax {
  from {
    object-position: 0 0;
  }
  to {
    object-position: 0 100%;
  }
}
body.home section#about div.section__inner .wrap {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner .wrap {
    flex-direction: column;
  }
}
body.home section#about div.section__inner .wrap .about_img {
  position: absolute;
  top: 16rem;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner .wrap .about_img {
    position: relative;
    top: 0rem;
    left: -6rem;
    height: 110vw;
  }
}
body.home section#about div.section__inner .wrap .about_img .img1 {
  position: relative;
  overflow: hidden;
  width: 41.11888vw;
  max-width: 58.8rem;
  aspect-ratio: 588/546;
  margin-left: 6rem;
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner .wrap .about_img .img1 {
    width: 75%;
  }
}
body.home section#about div.section__inner .wrap .about_img .img1 img {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 120%;
  object-fit: cover;
  will-change: transform;
}
body.home section#about div.section__inner .wrap .about_img .img2 {
  position: relative;
  overflow: hidden;
  width: 21.3986vw;
  max-width: 30.6rem;
  aspect-ratio: 306/247;
  margin: 3rem 0 0;
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner .wrap .about_img .img2 {
    width: 60%;
    aspect-ratio: 306/177;
  }
}
body.home section#about div.section__inner .wrap .about_img .img2 img {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 130%;
  object-fit: cover;
  will-change: transform;
}
body.home section#about div.section__inner div.about_box {
  position: relative;
  top: 21rem;
  padding-right: 5rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  body.home section#about div.section__inner div.about_box {
    padding-bottom: 10rem;
  }
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner div.about_box {
    left: 0;
    padding-right: 0;
    top: 7.6rem;
  }
}
body.home section#about div.section__inner div.about_box::before {
  content: "";
  background-image: url(/wordpress/wp-content/themes/komatsu/common/img/img-about03.webp);
  background-size: contain;
  background-repeat: no-repeat;
  max-width: 25.8rem;
  width: 100%;
  height: 29.3rem;
  position: absolute;
  top: -8.1rem;
  right: 3rem;
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner div.about_box::before {
    top: -27rem;
    right: -2rem;
    width: 70%;
  }
}
body.home section#about div.section__inner div.about_box h2 {
  color: #FFF;
}
@media screen and (min-width: 768px) {
  body.home section#about div.section__inner div.about_box h2 {
    margin-bottom: 4.8rem;
  }
}
body.home section#about div.section__inner div.about_box p {
  width: 100%;
  margin-bottom: 3rem;
  font-size: 1.5rem;
  line-height: 2.667;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  body.home section#about div.section__inner div.about_box p {
    font-size: 1.3rem;
  }
}
body.home section#link {
  padding: 0;
}
body.home section#link .link_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  body.home section#link .link_grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
body.home section#link .link_grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a {
    width: 100%;
  }
}
body.home section#link .link_grid a::after {
  content: "";
  background-color: #fff;
  opacity: 0.8;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
body.home section#link .link_grid a::before {
  content: "";
  background-color: #001ba3;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.home section#link .link_grid a:hover::after {
    opacity: 0;
  }
}
@media screen and (min-width: 768px) {
  body.home section#link .link_grid a:hover::before {
    opacity: 0.5;
  }
}
@media screen and (min-width: 768px) {
  body.home section#link .link_grid a:hover h3 {
    color: #FFF;
    transition: color 0.3s;
  }
  body.home section#link .link_grid a:hover p {
    color: #FFF;
    transition: color 0.3s;
  }
  body.home section#link .link_grid a:hover .more::after {
    background-color: #FFF;
    transition: color 0.3s;
  }
  body.home section#link .link_grid a:hover img {
    scale: 1.1;
  }
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a img {
    object-fit: cover;
    height: 27rem;
  }
}
body.home section#link .link_grid a li {
  margin-bottom: 3.2rem;
  position: absolute;
  top: 30%;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a li {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 1200px) {
  body.home section#link .link_grid a li {
    top: 40%;
  }
}
body.home section#link .link_grid a li h3 {
  font-size: 4.5rem;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a li h3 {
    font-size: 4rem;
  }
}
body.home section#link .link_grid a li h3 span {
  font-size: 4.5rem;
  color: #cb333b;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a li h3 span {
    font-size: 4rem;
  }
}
body.home section#link .link_grid a li h3 span::before {
  content: none;
}
body.home section#link .link_grid a li p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a li p {
    font-size: 1.3rem;
  }
}
body.home section#link .link_grid a li .more {
  margin-top: 3.2rem;
}
body.home section#link .link_grid a li .more::after {
  content: "";
  background-color: #101946;
  width: 1.1rem;
  height: 0.1rem;
  position: relative;
  display: inline-block;
  bottom: 0.3rem;
  right: -1.1rem;
}
@media screen and (max-width: 767px) {
  body.home section#link .link_grid a li .more {
    margin-top: 5.5rem;
  }
}
body.home section#work {
  padding-top: 25rem;
  padding-bottom: 23rem;
}
@media screen and (max-width: 767px) {
  body.home section#work {
    padding-top: 16rem;
    padding-bottom: 16rem;
  }
}
body.home section#work div.section__inner {
  position: relative;
}
body.home section#work div.section__inner .title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  body.home section#work div.section__inner .title {
    flex-direction: column;
    align-items: self-start;
  }
}
body.home section#work div.section__inner .title p {
  font-weight: 500;
  margin-bottom: 3rem;
}
body.home section#work div.section__inner .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem 1rem;
}
@media screen and (max-width: 767px) {
  body.home section#work div.section__inner .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  body.home section#work div.section__inner .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
body.home section#work div.section__inner .grid .card {
  position: relative;
  display: block;
  overflow: hidden;
}
body.home section#work div.section__inner .grid .card::after {
  content: "";
  background: linear-gradient(to bottom, rgba(240, 240, 240, 0) 0%, rgba(240, 240, 240, 0.8) 50%, rgb(240, 240, 240) 100%);
  width: 100%;
  height: 9rem;
  position: absolute;
  bottom: -0.1rem;
  z-index: 1;
  display: block;
}
body.home section#work div.section__inner .grid .card__img {
  position: relative;
  z-index: 1;
}
body.home section#work div.section__inner .grid .card__img img {
  width: 100%;
  display: block;
}
body.home section#work div.section__inner .grid .card__content {
  position: absolute;
  bottom: 2rem;
  color: #fff;
  z-index: 2;
  width: 100%;
  text-align: center;
}
body.home section#work div.section__inner .grid .card__title {
  text-align: center;
  color: #101946;
  font-weight: 500;
}
body.home section#work div.section__inner .grid .card__hover {
  position: absolute;
  inset: 0;
  background: #101946;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 10;
  text-align: center;
  border-radius: 0.2rem;
}
body.home section#work div.section__inner .grid .card__hover img {
  width: 11rem;
}
body.home section#work div.section__inner .grid .card__hover .card__title {
  position: absolute;
  top: 2.5rem;
  left: 3.5rem;
  color: #fff;
}
body.home section#work div.section__inner .grid .card__hover .card__title::after {
  content: "";
  background-color: #fff;
  width: 1.1rem;
  height: 0.1rem;
  position: absolute;
  display: inline-block;
  bottom: 1.3rem;
  left: -1.5rem;
}
@media screen and (min-width: 768px) {
  body.home section#work div.section__inner .grid .card:hover .card__hover {
    opacity: 1;
  }
  body.home section#work div.section__inner .grid .card:hover .card__content {
    opacity: 0;
  }
}
body.home section#interview {
  padding: 0;
}
@media screen and (max-width: 1200px) {
  body.home section#interview div.section__inner {
    padding: 0 4rem;
  }
}
@media screen and (max-width: 767px) {
  body.home section#interview div.section__inner {
    padding: 0 1.5rem;
  }
}
body.home section#interview div.section__inner .title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  body.home section#interview div.section__inner .title {
    flex-wrap: wrap;
  }
}
body.home section#interview div.section__inner .title h2 {
  margin-bottom: 0;
}
body.home section#interview div.section__inner .title p {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  body.home section#interview div.section__inner .title p {
    margin-top: 2rem;
  }
}
body.home section#interview .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 1200px) {
  body.home section#interview .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
body.home section#interview .grid .card {
  position: relative;
  display: block;
  overflow: hidden;
}
body.home section#interview .grid .card::before {
  content: "";
  background: #001ba3;
  inset: 0;
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 5;
  pointer-events: none;
}
body.home section#interview .grid .card::after {
  content: "";
  background: #000;
  position: absolute;
  inset: 0;
  opacity: 0.2;
  z-index: 1;
}
body.home section#interview .grid .card__img {
  position: relative;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__img {
    height: 33rem;
  }
}
body.home section#interview .grid .card__img .img_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
body.home section#interview .grid .card__img .main_img {
  width: 100%;
  display: block;
  opacity: 0.2;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__img .main_img {
    object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  body.home section#interview .grid .card__img:hover {
    background-color: #101946;
  }
  body.home section#interview .grid .card__img:hover .img_bg {
    opacity: 0;
  }
  body.home section#interview .grid .card__img:hover .main_img {
    opacity: 0.5;
  }
}
body.home section#interview .grid .card__img p {
  position: absolute;
  bottom: 45%;
  font-size: 2rem;
  line-height: 1.8;
  z-index: 10;
  color: #fff;
  text-align: center;
  padding: 0 7rem;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__img p {
    padding: 0 1.5rem;
    font-size: 1.75rem;
  }
}
body.home section#interview .grid .card__img p::before, body.home section#interview .grid .card__img p::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0.8rem;
  height: 10rem;
  border-top: 0.2rem solid #fff;
  border-bottom: 0.2rem solid #fff;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__img p::before, body.home section#interview .grid .card__img p::after {
    content: none;
  }
}
body.home section#interview .grid .card__img p::before {
  left: 0;
  border-left: 0.2rem solid #fff;
}
body.home section#interview .grid .card__img p::after {
  right: 0;
  border-right: 0.2rem solid #fff;
}
@media screen and (min-width: 768px) {
  body.home section#interview .grid .card:hover::before {
    opacity: 0.5;
  }
  body.home section#interview .grid .card:hover .card__img .main_img {
    scale: 1.1;
  }
}
body.home section#interview .grid .card__content {
  position: absolute;
  z-index: 10;
  width: 60%;
  left: 17rem;
  bottom: 5rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__content {
    left: 0;
    padding: 0 1.5rem;
    width: 100%;
  }
}
body.home section#interview .grid .card__content p {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__content p {
    font-size: 1.3rem;
  }
}
body.home section#interview .grid .card__content p span {
  font-size: 1.85rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  body.home section#interview .grid .card__content p span {
    font-size: 1.5rem;
  }
}
body.home section#environment {
  padding-top: 21.5rem;
  padding-bottom: 9.5rem;
  background-color: #f0f0f0;
}
@media screen and (max-width: 767px) {
  body.home section#environment {
    padding-top: 10rem;
    padding-bottom: 0rem;
  }
}
body.home section#environment div.section__inner .flex {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 0 10rem;
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .flex {
    flex-wrap: wrap;
    gap: 0;
  }
}
body.home section#environment div.section__inner .title {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .title {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 1200px) {
  body.home section#environment div.section__inner .title {
    justify-content: flex-start;
  }
}
body.home section#environment div.section__inner .title h2 {
  font-size: 5.5rem;
  width: 100%;
  margin-top: 1.5rem;
  line-height: 0.5;
  font-family: "CabinetGrotesk-Medium";
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .title h2 {
    font-size: 3rem;
    line-height: 0.7;
  }
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .title h2 span.txt {
    font-size: 1.2rem;
  }
}
body.home section#environment div.section__inner .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 1rem;
}
@media screen and (max-width: 1200px) {
  body.home section#environment div.section__inner .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem 0;
  }
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem 0;
  }
}
body.home section#environment div.section__inner .grid .card {
  max-width: 42.8rem;
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .grid .card {
    max-width: 100%;
  }
}
body.home section#environment div.section__inner .grid .card::after {
  content: "";
  background: linear-gradient(to bottom, rgba(240, 240, 240, 0) 0%, rgba(240, 240, 240, 0.8) 50%, rgb(240, 240, 240) 100%);
  width: 100%;
  height: 9rem;
  position: absolute;
  bottom: -0.1rem;
  z-index: 1;
  display: block;
}
body.home section#environment div.section__inner .grid .card img {
  object-fit: contain;
}
body.home section#environment div.section__inner .grid .card__content {
  position: absolute;
  bottom: 0;
  left: 3rem;
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .grid .card__content {
    left: 2rem;
  }
}
body.home section#environment div.section__inner .grid .card__title {
  position: relative;
  z-index: 2;
  bottom: 1.6rem;
  font-weight: 500;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .grid .card__title {
    font-size: 1.3rem;
  }
}
body.home section#environment div.section__inner .grid .card__title::after {
  content: "";
  background-color: #cb333b;
  width: 1.1rem;
  height: 0.1rem;
  position: absolute;
  bottom: 1rem;
  right: -2rem;
}
body.home section#environment div.section__inner .grid .card__title .en {
  font-size: 1rem;
  font-family: "CabinetGrotesk-Regular";
}
@media screen and (max-width: 767px) {
  body.home section#environment div.section__inner .grid .card__title .en {
    font-size: 0.8rem;
  }
}
body.home section#faq {
  background-color: #f0f0f0;
  padding-bottom: 19.5rem;
  top: -1px;
}
@media screen and (max-width: 767px) {
  body.home section#faq {
    padding-bottom: 13rem;
    padding-top: 2rem;
  }
}
body.home section#faq div.section__inner .faq {
  position: relative;
  display: block;
}
@media screen and (max-width: 767px) {
  body.home section#faq div.section__inner .faq {
    width: 100%;
    display: block;
  }
}
body.home section#faq div.section__inner .faq__box {
  display: flex;
  justify-content: center;
  justify-content: space-around;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
@media screen and (max-width: 767px) {
  body.home section#faq div.section__inner .faq__box {
    justify-content: unset;
    align-items: unset;
    padding-left: 2.7rem;
    margin-top: 1.5rem;
    display: block;
  }
}
body.home section#faq div.section__inner .faq__box h2 {
  font-size: 4.5rem;
  margin-bottom: 0rem;
  line-height: 0.7;
  font-family: "CabinetGrotesk-Medium";
  color: #FFF;
}
@media screen and (max-width: 767px) {
  body.home section#faq div.section__inner .faq__box h2 {
    font-size: 3rem;
    line-height: 0.7;
  }
}
body.home section#faq div.section__inner .faq__box h2 span.txt {
  top: 0;
}
@media screen and (max-width: 767px) {
  body.home section#faq div.section__inner .faq__box h2 span.txt {
    font-size: 1.2rem;
  }
}
body.home section#faq div.section__inner .faq__box .more {
  font-size: 1.4rem;
  color: #FFF;
  position: relative;
}
body.home section#faq div.section__inner .faq__box .more::after {
  content: "";
  background-color: #fff;
  width: 1.1rem;
  height: 0.1rem;
  position: absolute;
  bottom: 1rem;
  right: -2rem;
}
body.home .float-btn-wrap {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;
}
@media screen and (max-width: 767px) {
  body.home .float-btn-wrap {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}
body.home .float-btn-wrap.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
body.home .float-btn-wrap.is-hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(2rem);
  pointer-events: none;
}
body.home .float-btn-wrap {
  /* 閉じるボタン（×） */
}
body.home .float-btn-wrap .float-btn-close {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  position: absolute;
  top: -1rem;
  right: -1rem;
  z-index: 2;
  width: 1.8rem;
  height: 1.8rem;
  transition: transform 0.3s ease;
}
body.home .float-btn-wrap .float-btn-close img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.home .float-btn-wrap {
  /* メイン画像 */
}
body.home .float-btn-wrap .float-btn-main {
  display: block;
  width: 28.6rem;
  height: auto;
  aspect-ratio: 286/155;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  body.home .float-btn-wrap .float-btn-main {
    width: 45vw;
  }
}
body.home .float-btn-wrap .float-btn-main video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.home .float-btn-wrap .float-btn-main .deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}
body.home .float-btn-wrap .float-btn-main .ttl {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16rem;
  transform: translate(-50%, -50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  body.home .float-btn-wrap .float-btn-main .ttl {
    width: 80%;
  }
}
body.home .float-btn-wrap .float-btn-main .icon {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  width: auto;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  body.home .float-btn-wrap .float-btn-main:hover {
    opacity: 0.8;
  }
}

body:not(.home) .breadcrumbs-wrapper {
  position: absolute;
  top: 12rem;
  right: 5rem;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  body:not(.home) .breadcrumbs-wrapper {
    top: 8rem;
    right: 1.5rem;
  }
}
body:not(.home) .breadcrumbs-wrapper #breadcrumbs {
  font-size: 1.3rem;
  color: #707070;
}
body:not(.home) .breadcrumbs-wrapper #breadcrumbs a {
  color: #707070;
  text-decoration: none;
  transition: color 0.3s ease;
}
body:not(.home) .breadcrumbs-wrapper #breadcrumbs a:hover {
  color: #101946;
}

body.philosophy .breadcrumbs-wrapper #breadcrumbs,
body.business .breadcrumbs-wrapper #breadcrumbs,
body.re-creation .breadcrumbs-wrapper #breadcrumbs {
  color: #fff;
}
body.philosophy .breadcrumbs-wrapper #breadcrumbs a,
body.business .breadcrumbs-wrapper #breadcrumbs a,
body.re-creation .breadcrumbs-wrapper #breadcrumbs a {
  color: #fff;
}
body.philosophy .breadcrumbs-wrapper #breadcrumbs a:hover,
body.business .breadcrumbs-wrapper #breadcrumbs a:hover,
body.re-creation .breadcrumbs-wrapper #breadcrumbs a:hover {
  color: #fff;
}

body:not(.home) .line_btn {
  position: relative;
  padding-bottom: 2rem;
  border-bottom: 0.2rem solid rgba(112, 112, 112, 0.2);
  width: 30rem;
  display: block;
  margin: 0rem auto;
  color: #101946;
  text-decoration: none;
}
body:not(.home) .line_btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2rem;
  width: 100%;
  height: 0.2rem;
  background-color: #101946;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
body:not(.home) .line_btn:hover::after {
  transform: scaleX(1);
}
body:not(.home) .page #mv {
  padding: 25rem 2rem 0rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page #mv {
    padding: 13.5rem 1.5rem 0;
  }
}
body:not(.home) .page #mv .section__inner {
  position: relative;
}
body:not(.home) .page .lead {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page .lead {
    max-width: 100%;
    padding-top: 8.5rem;
  }
}
body:not(.home) .page .lead p {
  max-width: 60rem;
  line-height: 2.2;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page .lead p {
    font-size: 1.3rem;
    line-height: 2.154;
  }
}
body:not(.home) .page h2.dotted {
  font-size: 2.8rem;
  line-height: 0.8;
  margin-left: 1.5rem;
  width: auto;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page h2.dotted {
    font-size: 2.3rem;
    line-height: 1.2;
  }
}
body:not(.home) .page h2.dotted::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: 0.8rem;
  left: -1.5rem;
}
body:not(.home) .page h2.dotted span {
  font-size: 1.4rem;
  margin-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page h2.dotted span {
    font-size: 1rem;
  }
}
body:not(.home) .page h2.dotted span::before {
  content: none;
}
body:not(.home) .page .page-title {
  font-family: "CabinetGrotesk-Medium";
  color: #101946;
  font-size: 7rem;
  width: 100%;
  line-height: 0.6;
  font-weight: 500;
  /* backgroundを1行に統合 */
  background: linear-gradient(90deg, #283266 30%, #cb333b 40%, #ccc 50%) 100% 0/400% 100%;
  background-clip: text !important;
  color: transparent;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-name: fx_titleGrad;
  line-height: 1.2;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page .page-title {
    font-size: 4rem;
  }
}
body:not(.home) .page .page-title::before {
  content: none;
}
body:not(.home) .page .page-title span {
  font-family: "CabinetGrotesk-Medium";
  color: transparent;
  margin-left: 0;
}
body:not(.home) .page .page-title span::before {
  content: none;
}
body:not(.home) .page .page-title span.first {
  animation: clr_red 0.5s 1.5s forwards;
}
@keyframes clr_red {
  0% {
    color: transparent;
  }
  100% {
    color: #CB333B;
  }
}
body:not(.home) .page .page-title .ja,
body:not(.home) .page .page-title .en {
  font-size: 1.6rem;
  color: transparent;
  position: absolute;
  bottom: -1.5rem;
  left: 0;
  /* こちらのbackgroundも1行に統合 */
  background: linear-gradient(90deg, #283266 30%, #cb333b 40%, #ccc 50%) 100% 0/400% 100%;
  background-clip: text !important;
  color: transparent;
  animation-duration: 1s;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  animation-name: fx_titleGrad;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page .page-title .ja,
  body:not(.home) .page .page-title .en {
    font-size: 1.2rem;
  }
}
@keyframes fx_titleGrad {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 0;
  }
}
body:not(.home) .page {
  /* アコーディオン − */
}
body:not(.home) .page .acd {
  margin-top: 4rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) .page .acd {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) .page .acd {
    margin-bottom: 4rem;
  }
}
body:not(.home) .page .acd__toggle {
  position: relative;
  display: block;
  width: 100%;
  padding: 2.8rem 4.2rem;
  background: #FFF;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
body:not(.home) .page .acd__toggle::after {
  content: "";
  content: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background: linear-gradient(90deg, #101946, #cb333b);
}
body:not(.home) .page .acd__toggle p {
  color: #101946;
  font-weight: bold;
}
body:not(.home) .page .acd__cont {
  display: none;
  padding: 2rem;
}
body:not(.home) .page .btn-icon {
  position: absolute;
  top: 50%;
  right: 6rem;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
}
body:not(.home) .page .btn-icon::before, body:not(.home) .page .btn-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.2rem;
  background: #101946;
  transform: translateY(-50%);
  transition: 0.3s;
}
body:not(.home) .page .btn-icon {
  /* 初期は − */
}
body:not(.home) .page .btn-icon::after {
  opacity: 0;
}
body:not(.home) .page {
  /* 開いたら ＋ */
}
body:not(.home) .page .acd.is-open .btn-icon::after {
  transform: translateY(-50%) rotate(90deg);
  opacity: 1;
}
body:not(.home) .page .video-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  cursor: pointer;
  overflow: hidden;
  margin-top: 7.4rem;
}
body:not(.home) .page .video-container .video-poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body:not(.home) .page .video-container .icon_youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}
@media screen and (max-width: 767px) {
  body:not(.home) .page .video-container .icon_youtube {
    width: 5rem;
  }
}
body:not(.home) .page .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body:not(.home) {
  /*============================
  #history
  ============================*/
}
body:not(.home) #history {
  position: relative;
}
body:not(.home) #history .bg-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/history/bg-history_mv-pc.webp);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history .bg-fixed {
    background-image: url(/wordpress/wp-content/themes/komatsu/common//img/history/bg-history_mv-sp.webp);
  }
}
body:not(.home) #history .wrap {
  position: relative;
  z-index: 1;
}
body:not(.home) #history #mv {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  body:not(.home) #history #mv {
    padding: 25rem 4rem 0;
  }
}
body:not(.home) #history #mv .section__inner {
  position: relative;
  z-index: 2;
}
body:not(.home) #history #mv .movie {
  margin-top: 9.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #mv .movie {
    margin-top: 7.5rem;
  }
}
body:not(.home) #history #mv .lead {
  margin-top: 6.4rem;
}
body:not(.home) #history #timeline {
  margin-top: 20rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline {
    padding-top: 5rem;
  }
}
body:not(.home) #history #timeline .timeline-wrap {
  margin-bottom: 18rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .timeline-wrap {
    margin-bottom: 15rem;
  }
}
body:not(.home) #history #timeline .time_year {
  font-size: 3.5rem;
  display: flex;
  align-items: center;
  padding-left: 3rem;
  position: relative;
  margin-left: 0;
  font-weight: 500;
  color: #101946;
}
body:not(.home) #history #timeline .time_year span {
  opacity: 0;
  transition: opacity 0.5s ease;
}
body:not(.home) #history #timeline .time_year.is-show span {
  opacity: 1;
}
body:not(.home) #history #timeline .time_year.is-show::before {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .time_year {
    font-size: 1.6rem;
  }
}
body:not(.home) #history #timeline .time_year::before {
  content: "";
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/history/icon-title.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 4.6rem;
  height: 4.6rem;
  position: absolute;
  left: -2.2rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: unset;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s ease;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .time_year::before {
    width: 3.1rem;
    height: 3.1rem;
    left: -1rem;
  }
}
body:not(.home) #history #timeline .time_year::after {
  content: "";
  background-color: #101946;
  opacity: 0.15;
  width: 0.1rem;
  height: 20rem;
  position: absolute;
  left: 0rem;
  bottom: 4rem;
  z-index: 1;
  transform-origin: top;
  transform: scaleY(var(--line-scale, 0));
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .time_year::after {
    height: 14rem;
    left: 0.4rem;
  }
}
body:not(.home) #history #timeline .time_year .num {
  font-size: 5.5rem;
  font-family: "CabinetGrotesk-Medium";
  letter-spacing: -0.04em;
  font-weight: normal;
  margin-left: 2rem;
  position: relative;
  top: 0.2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .time_year .num {
    font-size: 3rem;
    margin-left: 1rem;
  }
}
body:not(.home) #history #timeline .time_year .num::before {
  content: none;
}
body:not(.home) #history #timeline .item {
  margin-top: 10rem;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item {
    margin-top: 5.5rem;
  }
}
body:not(.home) #history #timeline .item .title {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 4rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .title {
    font-size: 1.8rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    margin-left: 2cqh;
    margin-bottom: 0.5rem;
  }
}
body:not(.home) #history #timeline .item .title .num {
  font-family: "CabinetGrotesk-Bold";
  position: relative;
  font-size: 3rem;
  width: 10rem;
}
body:not(.home) #history #timeline .item .title .num::before {
  content: "";
  background-color: #CB333B;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .title .num::before {
    left: -2rem;
  }
}
body:not(.home) #history #timeline .item .title .event {
  position: relative;
  top: -0.4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .title .event {
    line-height: 1.6;
  }
}
body:not(.home) #history #timeline .item .no-num {
  margin-left: 10rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .no-num {
    margin-left: 1.5rem;
  }
}
body:not(.home) #history #timeline .item .fs {
  display: flex;
  align-items: flex-start;
}
body:not(.home) #history #timeline .item .fs .num {
  position: relative;
  top: 0.2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .fs .num {
    top: 0;
  }
}
body:not(.home) #history #timeline .item__box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-left: 10.3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__box {
    margin-left: 0rem;
    padding-left: 1.5rem;
  }
}
body:not(.home) #history #timeline .item__box p {
  font-size: 1.5rem;
  line-height: 2;
  max-width: 114.5rem;
  margin-bottom: 3rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__box p {
    font-size: 1.3rem;
  }
}
body:not(.home) #history #timeline .item__box .txt-s {
  font-size: 1.2rem;
  margin-top: 0.8rem;
}
body:not(.home) #history #timeline .item__flex {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 2.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__flex {
    flex-direction: column;
  }
}
body:not(.home) #history #timeline .item__flex img {
  object-fit: contain;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #history #timeline .item__flex img {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__flex img {
    max-width: 100%;
  }
}
body:not(.home) #history #timeline .item__flex .image {
  max-width: 56rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #history #timeline .item__flex .image {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__flex .image {
    max-width: 100%;
  }
}
body:not(.home) #history #timeline .item__flex .image p {
  font-size: 1.2rem;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__flex .image p {
    margin-bottom: 1rem;
  }
}
body:not(.home) #history #timeline .item__flex .text {
  max-width: 54rem;
  margin-right: 3rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #history #timeline .item__flex .text {
    max-width: 100%;
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item__flex .text {
    max-width: 100%;
    margin-right: 0;
  }
}
body:not(.home) #history #timeline .item .col3 img {
  width: 33%;
  object-fit: contain;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #history #timeline .item .col3 img {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .col3 img {
    max-width: 100%;
    width: 100%;
  }
}
body:not(.home) #history #timeline .item .left {
  position: relative;
  left: -1rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item .left {
    left: 0;
  }
}
body:not(.home) #history #timeline .item.item2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item.item2 {
    flex-direction: column;
  }
}
body:not(.home) #history #timeline .item.item2 .item__box {
  padding-left: 0;
}
body:not(.home) #history #timeline .item.item2 .item__box .event {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 4rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item.item2 .item__box .event {
    margin-bottom: 2rem;
    font-size: 1.8rem;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #history #timeline .item.item2 .item__flex {
    padding-left: 1.2rem;
    gap: 1rem;
  }
}
body:not(.home) #history #timeline .mt-half {
  margin-top: 5rem;
}
body:not(.home) #history #entry {
  position: relative;
  z-index: 2;
}
body:not(.home) {
  /*============================
  #philosophy
  ============================*/
}
body:not(.home) #philosophy section#mv {
  width: 100%;
  height: 100vh;
  position: relative;
  margin-bottom: 0rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#mv {
    margin-bottom: 20rem;
    padding-bottom: 48.5rem;
    height: auto;
  }
}
body:not(.home) #philosophy section#mv .mv_bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
body:not(.home) #philosophy .white_wrap {
  background-color: #fff;
  position: relative;
}
body:not(.home) #philosophy .white_wrap .mv_txt {
  position: relative;
  height: auto;
  padding-bottom: 40rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy .white_wrap .mv_txt {
    padding-bottom: 10rem;
  }
}
body:not(.home) #philosophy .white_wrap .mv_txt .flex {
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;
  position: absolute;
  left: 50%;
  top: -40rem;
  transform: translateX(-50%);
  padding: 13.7rem 2rem;
  width: 96%;
  max-width: 126rem;
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/philosophy/mv_bg2_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0.5rem;
}
@media screen and (max-width: 960px) {
  body:not(.home) #philosophy .white_wrap .mv_txt .flex {
    background-image: url(/wordpress/wp-content/themes/komatsu/common//img/philosophy/mv_bg2_sp.webp);
    flex-direction: column;
    top: -55rem;
    padding: 13.7rem 2rem 5rem;
  }
}
body:not(.home) #philosophy .white_wrap .mv_txt .flex .statement {
  position: absolute;
  top: 4rem;
  left: 4rem;
  font-size: 1.5rem;
  color: #fff;
}
@media screen and (max-width: 960px) {
  body:not(.home) #philosophy .white_wrap .mv_txt .flex .statement {
    top: 3rem;
    left: 2rem;
  }
}
body:not(.home) #philosophy .white_wrap .mv_txt .flex .statement .circle {
  color: #cb333b;
}
body:not(.home) #philosophy .white_wrap .mv_txt .flex h3 {
  font-size: 4.5rem;
  letter-spacing: 0.04em;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  color: #FFF;
}
@media screen and (max-width: 960px) {
  body:not(.home) #philosophy .white_wrap .mv_txt .flex h3 {
    font-size: 2.2rem;
    margin-bottom: 8.5rem;
  }
}
body:not(.home) #philosophy .white_wrap .mv_txt .flex .text p {
  font-size: 1.5rem;
  line-height: 2;
  color: #FFF;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 960px) {
  body:not(.home) #philosophy .white_wrap .mv_txt .flex .text p {
    font-weight: 1.3rem;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy .white_wrap .mv_txt .flex .text p {
    font-size: 1.3rem;
  }
}
body:not(.home) #philosophy .white_wrap .mv_txt .flex .text p:last-child {
  margin-bottom: 0;
}
body:not(.home) #philosophy section#corporate {
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/philosophy/bg-philosophy_pc.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 24%;
  padding-top: 18rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate {
    background-image: url(/wordpress/wp-content/themes/komatsu/common//img/philosophy/bg-philosophy_sp.webp);
    height: 49%;
    background-position: center 12rem;
  }
}
body:not(.home) #philosophy section#corporate .flex {
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .flex h2 {
    margin-bottom: 4.4rem;
  }
}
body:not(.home) #philosophy section#corporate .flex .text {
  width: 46.7%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .flex .text {
    width: 100%;
  }
}
body:not(.home) #philosophy section#corporate .flex .text p {
  font-size: 1.4rem;
  line-height: 1.786;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .flex .text p {
    font-size: 1.3rem;
    letter-spacing: 0;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp {
  margin-top: 9.4rem;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp {
    scale: clamp(0.7, calc((100vw + 40rem) / 1600), 1);
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp {
    flex-direction: column;
    align-items: center;
    margin-top: 3.4rem;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .circle {
  width: 33.3%;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .circle {
    width: 90%;
    position: relative;
    margin-bottom: 2rem;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .circle:nth-child(1) {
  left: 3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .circle:nth-child(1) {
    left: 0;
    bottom: -5vw;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .circle:nth-child(2) {
    z-index: 1;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .circle:nth-child(3) {
  right: 3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .circle:nth-child(3) {
    right: 0;
    z-index: 2;
    top: -5vw;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .circle-inner {
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;
  background-color: rgba(40, 50, 102, 0.9);
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .circle-inner {
    background-color: transparent;
    background-image: url(/wordpress/wp-content/themes/komatsu/common/img/philosophy/circle.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 1/1;
    width: 100%;
    height: auto;
    scale: 1.6;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .item {
  color: #FFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
body:not(.home) #philosophy section#corporate .corporate_warp .item .num {
  font-size: 3.5rem;
  font-family: "CabinetGrotesk-Medium";
  margin-bottom: 2.8rem;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .item .num {
    margin-bottom: 2rem;
    display: none;
    font-size: 3rem;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .item h3 {
  color: #FFF;
  font-size: 2rem;
  font-weight: 500;
  width: unset;
  line-height: normal;
  text-align: center;
  margin-bottom: 7rem;
  position: relative;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .item h3 {
    margin-bottom: 5.83333vw;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .item h3 {
    font-size: 3vw;
    margin-bottom: 2rem;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .item h3::after {
  content: "";
  background-color: #CB333B;
  width: 3.5rem;
  height: 0.1rem;
  position: absolute;
  bottom: -3.2rem;
  left: calc(50% - 1.6rem);
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .item h3::after {
    display: none;
  }
}
body:not(.home) #philosophy section#corporate .corporate_warp .item p {
  font-size: 1.4rem;
  line-height: 1.929;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#corporate .corporate_warp .item p {
    font-size: 2.2vw;
  }
}
body:not(.home) #philosophy section#company .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  position: relative;
  margin-top: 8.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex {
    margin-top: 3.5rem;
  }
}
body:not(.home) #philosophy section#company .flex__text {
  width: 50%;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#company .flex__text {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex__text {
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#company .flex__text table {
    margin-bottom: 6rem;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex__text table {
    margin-bottom: 6rem;
    width: 100%;
  }
}
body:not(.home) #philosophy section#company .flex__text table tr {
  display: flex;
}
body:not(.home) #philosophy section#company .flex__text table th,
body:not(.home) #philosophy section#company .flex__text table td {
  font-size: 1.4rem;
  text-align: left;
  padding-bottom: 1.6rem;
  padding-top: 1.6rem;
  line-height: 1.286;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex__text table th,
  body:not(.home) #philosophy section#company .flex__text table td {
    font-size: 1.2rem;
  }
}
body:not(.home) #philosophy section#company .flex__text table th {
  width: 14%;
  border-bottom: 0.1rem solid #101946;
  padding-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex__text table th {
    width: 27%;
  }
}
body:not(.home) #philosophy section#company .flex__text table td {
  border-bottom: 0.1rem solid #d9d9d9;
  position: relative;
  left: -0.2rem;
  padding-left: 5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex__text table td {
    padding-left: 3rem;
  }
}
body:not(.home) #philosophy section#company .flex__text table td p {
  margin-bottom: 1.5rem;
}
body:not(.home) #philosophy section#company .flex__text table td p:last-child {
  margin-bottom: 0;
}
body:not(.home) #philosophy section#company .flex__image {
  max-width: 50%;
  position: absolute;
  right: calc((100vw - 100%) / 2 * -1);
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#company .flex__image {
    max-width: 100%;
    right: 0;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#company .flex__image {
    max-width: 100%;
    right: 0;
    position: relative;
  }
}
body:not(.home) #philosophy section#company .flex__image img {
  object-fit: cover;
}
body:not(.home) #philosophy section#sustainability {
  padding-top: 20rem;
  padding-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#sustainability {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}
body:not(.home) #philosophy section#sustainability .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#sustainability .flex {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#sustainability .flex {
    flex-direction: column-reverse;
    gap: 5rem;
  }
}
body:not(.home) #philosophy section#sustainability .flex__image {
  max-width: 50%;
  position: absolute;
  left: calc((100vw - 100%) / 2 * -1);
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#sustainability .flex__image {
    max-width: 100%;
    left: 0;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#sustainability .flex__image {
    max-width: 100%;
    left: 0;
    position: relative;
  }
}
body:not(.home) #philosophy section#sustainability .flex__image img {
  object-fit: cover;
}
body:not(.home) #philosophy section#sustainability .flex__text {
  width: 50%;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.786;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #philosophy section#sustainability .flex__text {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#sustainability .flex__text {
    width: 100%;
    font-size: 1.2rem;
  }
}
body:not(.home) #philosophy section#sustainability .flex__text .lead {
  margin-bottom: 6.4rem;
  padding-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#sustainability .flex__text .lead {
    margin-bottom: 3.4rem;
    padding-top: 2rem;
  }
}
body:not(.home) #philosophy section#sustainability .flex__text .blue {
  color: #101946;
}
body:not(.home) #philosophy section#sustainability .line_btn {
  margin: 4rem auto 0 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #philosophy section#sustainability .line_btn {
    margin: 4rem auto;
  }
}
body:not(.home) {
  /*============================
  #faq
  ============================*/
}
body:not(.home) #faq section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #faq section#mv .mv-lead {
  font-size: 2.5rem;
  font-weight: bold;
  padding-top: 3rem;
  margin-top: 14rem;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #faq section#mv .mv-lead {
    margin-top: 8rem;
    font-size: 2.2rem;
  }
}
body:not(.home) #faq section#faq-content .acd__cont {
  display: block;
  padding: 7rem 3rem 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #faq section#faq-content .acd__cont {
    padding: 3rem 1.5rem 0;
  }
}
body:not(.home) #faq section#faq-content .title {
  background: #222c60;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
  padding: 2.6rem 4.4rem;
  display: flex;
  align-items: center;
}
body:not(.home) #faq section#faq-content .title h3 {
  font-size: 2.2rem;
  font-weight: 500;
  color: #FFF;
  margin-bottom: 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  body:not(.home) #faq section#faq-content .title h3 {
    font-size: 1.925rem;
  }
}
body:not(.home) #faq section#faq-content .btn-icon::before, body:not(.home) #faq section#faq-content .btn-icon::after {
  background: #FFF;
}
body:not(.home) #faq section#faq-content .wrap {
  margin-bottom: 17rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #faq section#faq-content .wrap {
    margin-bottom: 8rem;
  }
}
body:not(.home) #faq section#faq-content .wrap .item {
  margin-bottom: 6.8rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #faq section#faq-content .wrap .item {
    margin-bottom: 3.4rem;
  }
}
body:not(.home) #faq section#faq-content .wrap .item__title {
  font-size: 2.2rem;
  padding-bottom: 2.8rem;
  margin-bottom: 3.2rem;
  border-bottom: 0.1rem solid #e2e2e2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #faq section#faq-content .wrap .item__title {
    padding-bottom: 1.4rem;
    margin-bottom: 1.6rem;
    font-size: 1.925rem;
  }
}
body:not(.home) #faq section#faq-content .wrap .item__title p {
  line-height: 1.875;
}
body:not(.home) {
  /*============================
  #recruit
  ============================*/
}
body:not(.home) #recruit section#mv {
  padding-bottom: 0;
}
body:not(.home) #recruit section#mv .page-title {
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 768px) {
  body:not(.home) #recruit section#mv .page-title {
    font-size: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#mv .page-title {
    font-size: 3rem;
  }
}
body:not(.home) #recruit section#description {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
body:not(.home) #recruit section#description .acd__toggle {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0rem 1.3rem 2rem 0rem #f1f1f1;
  padding: 13.8rem 17rem 6rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #recruit section#description .acd__toggle {
    padding: 3.8rem 17rem 6rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__toggle {
    padding: 2.8rem 5rem 2rem 2rem;
    box-shadow: 0rem 0.7rem 1rem 0rem #f1f1f1;
  }
}
body:not(.home) #recruit section#description .acd__toggle::after {
  content: none;
}
body:not(.home) #recruit section#description .acd__toggle h2 {
  font-size: 2.5rem;
  line-height: 1.32;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__toggle h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
body:not(.home) #recruit section#description .acd__cont {
  position: relative;
}
body:not(.home) #recruit section#description .acd__cont::before {
  content: "";
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/recruit/bg-recruit.webp);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: 0;
  width: 100vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 30%;
  top: 0.1rem;
  visibility: hidden;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #recruit section#description .acd__cont::before {
    height: 20%;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__cont::before {
    height: 10%;
    content: none;
  }
}
body:not(.home) #recruit section#description .acd__inner {
  padding: 10rem 3.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__inner {
    padding: 0;
  }
}
body:not(.home) #recruit section#description .acd__inner table {
  width: 100%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #recruit section#description .acd__inner table {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__inner table {
    margin-bottom: 2rem;
  }
}
body:not(.home) #recruit section#description .acd__inner table tr {
  display: flex;
}
body:not(.home) #recruit section#description .acd__inner table th,
body:not(.home) #recruit section#description .acd__inner table td {
  font-size: 1.5rem;
  text-align: left;
  padding-bottom: 3rem;
  padding-top: 3.2rem;
  line-height: 1.286;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__inner table th,
  body:not(.home) #recruit section#description .acd__inner table td {
    font-size: 1.3rem;
  }
}
body:not(.home) #recruit section#description .acd__inner table th {
  width: 19.4%;
  border-bottom: 0.2rem solid #b6b8c1;
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__inner table th {
    width: 35%;
    padding-left: 5%;
  }
}
body:not(.home) #recruit section#description .acd__inner table td {
  border-bottom: 0.1rem solid #d9d9d9;
  position: relative;
  left: -0.2rem;
  padding-left: 12.5%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .acd__inner table td {
    padding-left: 2rem;
  }
}
body:not(.home) #recruit section#description .acd__inner table td p {
  margin-bottom: 1.5rem;
}
body:not(.home) #recruit section#description .acd__inner table td p:last-child {
  margin-bottom: 0;
}
body:not(.home) #recruit section#description .btn-icon {
  right: 17rem;
  top: 65%;
  width: 3rem;
  height: 1.5rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #recruit section#description .btn-icon {
    right: 9rem;
    width: 1.5rem;
    height: 1rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .btn-icon {
    right: 2rem;
  }
}
body:not(.home) #recruit section#description .btn-icon::before, body:not(.home) #recruit section#description .btn-icon::after {
  width: 60%;
}
body:not(.home) #recruit section#description .btn-icon {
  /* 閉じてる  ＼／ */
}
body:not(.home) #recruit section#description .btn-icon::before {
  left: 0;
  transform: translateY(-50%) rotate(45deg);
}
body:not(.home) #recruit section#description .btn-icon::after {
  right: 0;
  left: auto;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 1;
}
body:not(.home) #recruit section#description {
  /* 開いたら ／＼ */
}
body:not(.home) #recruit section#description .acd.is-open .btn-icon::before {
  transform: translateY(-50%) rotate(-45deg);
}
body:not(.home) #recruit section#description .acd.is-open .btn-icon::after {
  transform: translateY(-50%) rotate(45deg);
}
body:not(.home) #recruit section#description .text-box {
  background: #f3f5fb;
  padding: 4.5rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 6.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .text-box {
    padding: 2.5rem 2rem;
    margin-bottom: 3.5rem;
    font-size: 1.3rem;
  }
}
body:not(.home) #recruit section#description .text-box .title {
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 3.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .text-box .title {
    margin-bottom: 2.5rem;
    font-size: 1.5rem;
  }
}
body:not(.home) #recruit section#description .text-box .title::after {
  content: "";
  background: #CB333B;
  width: 3.1rem;
  height: 0.2rem;
  position: absolute;
  left: calc(50% - 1rem);
  bottom: -1rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .text-box .title::after {
    left: calc(50% - 1.5rem);
    bottom: -0.7rem;
  }
}
body:not(.home) #recruit section#description .btn {
  color: #FFF;
}
body:not(.home) #recruit section#description .btn__inner {
  background-color: #222c60;
  box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
  width: 40%;
  padding: 3rem;
  font-size: 2rem;
  font-weight: bold;
  border-radius: 0.5rem;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section#description .btn__inner {
    width: 100%;
    font-size: 1.75rem;
  }
}
body:not(.home) #recruit section.results {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results {
    padding-bottom: 6rem;
  }
}
body:not(.home) #recruit section.results h2 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results h2 {
    margin-bottom: 4rem;
  }
}
body:not(.home) #recruit section.results .content_inner {
  margin: 0 auto;
  max-width: 115.5rem;
}
body:not(.home) #recruit section.results .contact {
  margin-bottom: 8rem;
}
body:not(.home) #recruit section.results .contact p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .contact p {
    font-size: 1.6rem;
  }
}
body:not(.home) #recruit section.results .flow {
  margin-bottom: 6rem;
}
body:not(.home) #recruit section.results .flow p {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow p {
    font-size: 1.3rem;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 2rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  body:not(.home) #recruit section.results .flow-chart__wrap {
    overflow-x: auto;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 2.4rem;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap > * {
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap > * {
    width: 100%;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap > *::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.6rem;
  width: 1.6rem;
  height: 0.2rem;
  background: #ccc;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap > *::after {
    top: auto;
    bottom: -2.4rem;
    left: 50%;
    right: auto;
    width: 0.2rem;
    height: 2.2rem;
    transform: translateX(-50%);
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap > *.arrow_after:after {
  content: "→";
  color: #ccc;
  background: none;
  width: auto;
  height: auto;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap > *.arrow_after:after {
    transform: translateX(-50%) rotate(90deg);
    font-size: 1.9rem;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap > *:last-child::after {
  display: none;
}
body:not(.home) #recruit section.results .flow-chart__wrap .flow-item {
  min-width: 8rem;
  padding: 0.8rem 1rem;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 500;
  flex-shrink: 0;
  border: 0.1rem solid #9f9f9f;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap .flow-item {
    width: 100%;
    min-width: auto;
    font-size: 1.1rem;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap .flow-item.vertical {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  height: 18rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap .flow-item.vertical {
    writing-mode: horizontal-tb;
    height: auto;
    justify-content: center;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap .flow-item.vertical span {
  writing-mode: horizontal-tb;
  display: inline-block;
}
body:not(.home) #recruit section.results .flow-chart__wrap .flow-group {
  display: flex;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap .flow-group {
    flex-direction: column;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap .flow-group .flow-item {
  border-radius: 0;
}
@media screen and (min-width: 768px) {
  body:not(.home) #recruit section.results .flow-chart__wrap .flow-group .flow-item .pc_mt {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap .flow-group .flow-item .pc_mt {
    margin-left: 1rem;
  }
}
body:not(.home) #recruit section.results .flow-chart__wrap .gray {
  background: #e3e3e3;
}
body:not(.home) #recruit section.results .flow-chart__wrap .blue {
  background: #e1e4f2;
}
body:not(.home) #recruit section.results .flow-chart__wrap .orange {
  background: #f8cda7;
}
body:not(.home) #recruit section.results .flow-chart__wrap .yellow {
  background: #fff2ba;
}
body:not(.home) #recruit section.results .flow-chart__wrap .green {
  background: #9ec199;
}
body:not(.home) #recruit section.results .flow-chart__wrap .white {
  background: #fff;
  width: 17.6rem;
  height: 18rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  border: none;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flow-chart__wrap .white {
    width: 100%;
    height: 9rem;
  }
}
body:not(.home) #recruit section.results .flex {
  display: flex;
  gap: 4rem;
  max-width: 115.5rem;
  margin: 0 auto;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flex {
    gap: 2rem;
    margin-bottom: 1.5rem;
  }
}
body:not(.home) #recruit section.results .flex p {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .flex p {
    font-size: 1.6rem;
  }
}
body:not(.home) #recruit section.results .wrap table {
  border-spacing: 0;
  width: 100%;
}
body:not(.home) #recruit section.results .wrap table th,
body:not(.home) #recruit section.results .wrap table td {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  border-bottom: 0.1rem solid #dadada;
  border-left: 0.1rem solid #dadada;
}
@media screen and (max-width: 767px) {
  body:not(.home) #recruit section.results .wrap table th,
  body:not(.home) #recruit section.results .wrap table td {
    font-size: 1.3rem;
  }
}
body:not(.home) #recruit section.results .wrap table th:nth-child(1),
body:not(.home) #recruit section.results .wrap table td:nth-child(1) {
  border-left: none;
}
body:not(.home) #recruit section.results .wrap table th {
  background-color: #f4f4f4;
  border-top: 0.1rem solid #dadada;
  padding: 2.7rem 0 1.9rem;
}
body:not(.home) #recruit section.results .wrap table td {
  padding: 2.5rem 0 2.6rem;
}
body:not(.home) {
  /*============================
  #benefit
  ============================*/
}
body:not(.home) #benefit section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #benefit section#mv .mv-lead {
  font-size: 2.5rem;
  font-weight: bold;
  padding-top: 3rem;
  margin-top: 14rem;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #benefit section#mv .mv-lead {
    margin-top: 8rem;
    font-size: 2.2rem;
  }
}
body:not(.home) #benefit section#benefit-content .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #benefit section#benefit-content .grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
body:not(.home) #benefit section#benefit-content .grid .item {
  position: relative;
}
body:not(.home) #benefit section#benefit-content .grid .item__img {
  position: relative;
  display: flex;
  justify-content: center;
}
body:not(.home) #benefit section#benefit-content .grid .item__img .img_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  inset: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
body:not(.home) #benefit section#benefit-content .grid .item__img .main_img {
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  body:not(.home) #benefit section#benefit-content .grid .item__img .main_img {
    object-fit: cover;
  }
}
body:not(.home) #benefit section#benefit-content .grid .item__text {
  margin-top: 1rem;
}
body:not(.home) #benefit section#benefit-content .grid .item__text h3 {
  font-size: 2.8rem;
  padding-left: 2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #benefit section#benefit-content .grid .item__text h3 {
    font-size: 2.45rem;
  }
}
body:not(.home) #benefit section#benefit-content .grid .item__text h3::before {
  content: "";
  background: #CB333B;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  position: absolute;
  left: 0rem;
  top: 50%;
  transform: translateY(-50%);
}
body:not(.home) #benefit section#benefit-content .grid .item__text ul {
  margin-top: 2rem;
}
body:not(.home) #benefit section#benefit-content .grid .item__text ul li {
  font-size: 1.5rem;
  margin-bottom: 0.65rem;
  padding-left: 1.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #benefit section#benefit-content .grid .item__text ul li {
    font-size: 1.3rem;
    padding-left: 1.3rem;
  }
}
body:not(.home) #benefit section#benefit-content .grid .item__text ul li::before {
  content: "";
  background: #000;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  position: absolute;
  left: 0;
  bottom: 1.1rem;
}
body:not(.home) {
  /*============================
  #interview
  ============================*/
}
body:not(.home) #interview section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #interview section#interview-content {
  margin-top: 8.8rem;
}
body:not(.home) #interview section#interview-content .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 17rem 4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview section#interview-content .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
}
body:not(.home) #interview section#interview-content .grid .item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  border-bottom: 0.1rem solid rgba(112, 112, 112, 0.18);
  padding-bottom: 1.7rem;
}
body:not(.home) #interview section#interview-content .grid .item__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 2rem;
  gap: 3.2rem;
}
body:not(.home) #interview section#interview-content .grid .item__text p {
  font-size: 2rem;
  line-height: 1.65;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview section#interview-content .grid .item__text p {
    font-size: 1.75rem;
  }
}
body:not(.home) #interview section#interview-content .grid .item__text .tag {
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  background: #e3e3e3;
  border-radius: 2rem;
  padding: 0.6rem 1.5rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview section#interview-content .grid .item__text .tag {
    font-size: 1.15rem;
  }
}
body:not(.home) #interview section#interview-content .grid .item__text .tag p {
  font-weight: bold;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview section#interview-content .grid .item__text .tag p {
    font-size: 1.15rem;
  }
}
body:not(.home) #interview.single #mv {
  background-image: url(/wordpress/wp-content/themes/komatsu/common/img/interview/interview_bg.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  body:not(.home) #interview.single #mv {
    padding: 25rem 0rem 0rem;
  }
}
body:not(.home) #interview.single #mv .section__inner {
  padding: 0;
  max-width: unset;
  margin: 0 0 0 auto;
  width: 85%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner {
    width: 100%;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  gap: 5%;
  margin-top: 14.8rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box {
    margin-top: 10rem;
    gap: 5rem;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left {
  max-width: 54rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left {
    width: 100%;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .date {
  font-weight: bold;
  font-size: 1.6rem;
  color: #707070;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left .date {
    font-size: 1rem;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .single_ttl {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 4rem;
  color: #101946;
  margin: 1.8rem auto 3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left .single_ttl {
    font-size: 4.5vw;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .single_ttl::before {
  content: none;
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .tag {
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  background: #e3e3e3;
  border-radius: 2rem;
  padding: 0.6rem 1.5rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left .tag {
    font-size: 1.1rem;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .tag p {
  font-weight: bold;
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  align-content: center;
  margin-top: 7.6rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left .profile {
    flex-direction: column;
    gap: 0rem;
    align-items: center;
    margin-top: 3rem;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .profile .label {
  border-left: 0.1rem solid rgba(112, 112, 112, 0.15);
  border-right: 0.1rem solid rgba(112, 112, 112, 0.15);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 12.6rem;
  font-family: "Cabinet Grotesk";
  font-weight: 500;
  font-size: 1.8rem;
  text-align: left;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left .profile .label {
    width: 100%;
    border: none;
    border-bottom: 0.1rem solid rgba(112, 112, 112, 0.15);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    text-align: left;
    justify-content: flex-start;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .left .profile .txt {
  font-weight: normal;
  font-size: 1.3rem;
  line-height: 2.2rem;
  color: #626788;
  padding-left: 2.7rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .left .profile .txt {
    padding: 0;
    width: 100%;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .member_img {
  aspect-ratio: 780/410;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .member_img {
    margin: 3rem auto 0;
    display: block;
  }
}
body:not(.home) #interview.single #mv .section__inner .info_box .right {
  width: auto;
  flex: 1;
}
@media screen and (min-width: 768px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .right {
    max-width: 102rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single #mv .section__inner .info_box .right {
    display: none;
  }
}
body:not(.home) #interview.single article {
  margin-top: 24.5rem;
  padding: 0 4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single article {
    padding: 0 2rem;
    margin-top: 13.5rem;
  }
}
body:not(.home) #interview.single article .article__inner {
  max-width: 126rem;
  margin: auto;
}
body:not(.home) #interview.single article .article__inner h3:not(.page-special-title) {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 2.8rem;
  text-align: left;
  color: #fff;
  background-color: #101946;
  border-radius: 0.3rem;
  padding: 3rem 2rem;
  margin: 16rem auto 5.6rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: flex-start;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single article .article__inner h3:not(.page-special-title) {
    font-size: 1.6rem;
    padding: 1.6rem;
    margin: 5.6rem auto 3.5rem;
  }
}
body:not(.home) #interview.single article .article__inner h3:not(.page-special-title)::before {
  content: "Q.";
  position: relative;
}
body:not(.home) #interview.single article .article__inner p {
  max-width: 114rem;
  padding: 0 2rem 0;
  margin: 0 auto 3rem;
  line-height: 2.3;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single article .article__inner p {
    font-size: 1.3rem;
    padding: 0;
    line-height: 2;
  }
}
body:not(.home) #interview.single article .article__inner img {
  margin: 6rem auto;
  max-width: 82rem;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single article .article__inner img {
    margin: 3rem auto;
    padding: 0;
  }
}
body:not(.home) #interview.single article .article__inner .line_btn {
  margin: 10rem auto;
}
body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex {
  max-width: 114rem;
  margin: 6rem auto;
  padding: 0 2rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex {
    flex-direction: column;
    gap: 3rem;
    margin: 3rem auto;
    padding: 0;
  }
}
body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex > p,
body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex > figure {
  width: 48%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex > p,
  body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex > figure {
    width: 100%;
  }
}
body:not(.home) #interview.single article .article__inner .lazyblocks_box .lazyblocks_flex > figure img {
  width: 100%;
  margin: 0;
  padding: 0;
}
body:not(.home) {
  /*============================
  #work
  ============================*/
}
body:not(.home) #work section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #work section#mv .mv-lead2 {
  color: #101946;
  font-size: 2.8rem;
  position: relative;
  margin-left: 1.5rem;
  font-weight: 500;
  margin: 10rem 0 3rem 1.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#mv .mv-lead2 {
    font-size: 2.3rem;
  }
}
body:not(.home) #work section#mv .mv-lead2::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#mv .mv-lead2::before {
    top: 1.8rem;
    transform: unset;
  }
}
body:not(.home) #work section#mv .mv-lead {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#mv .mv-lead {
    font-size: 1.3rem;
  }
}
body:not(.home) #work #work_anc {
  max-width: 130rem;
  padding: 0 2rem;
  margin: 11rem auto 23rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work #work_anc {
    margin: 6rem auto 10rem;
  }
}
body:not(.home) #work #work_anc .tab_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
}
body:not(.home) #work #work_anc .tab_btn a {
  width: 32%;
  padding: 3rem 2rem 0 2rem;
  height: 9.7rem;
  background-color: #fff;
  box-shadow: 0 -0.8rem 1rem -0.5rem rgba(16, 25, 70, 0.1);
  text-align: center;
  color: #283266;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work #work_anc .tab_btn a {
    height: 4.8rem;
    padding: 1rem;
  }
}
body:not(.home) #work #work_anc .tab_btn a.active {
  height: 8.7rem;
  background-color: #edeaea;
  box-shadow: 0 0 1rem rgba(16, 25, 70, 0.3) !important;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work #work_anc .tab_btn a.active {
    height: 4.3rem;
  }
}
body:not(.home) #work #work_anc .anc_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  box-shadow: 0 0.8rem 1rem -0.5rem rgba(16, 25, 70, 0.1);
}
body:not(.home) #work #work_anc .anc_wrap .anc_box {
  width: 33%;
  height: auto;
  padding: 6.8rem 8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work #work_anc .anc_wrap .anc_box {
    width: 100%;
    display: none;
    padding: 2rem 3rem;
  }
}
body:not(.home) #work #work_anc .anc_wrap .anc_box::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #707070;
  opacity: 0.16;
  width: 0.1rem;
  height: 80%;
}
body:not(.home) #work #work_anc .anc_wrap .anc_box:last-child::after {
  content: none;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work #work_anc .anc_wrap .anc_box.active {
    display: block;
  }
}
body:not(.home) #work #work_anc .anc_wrap .anc_box.active ul {
  opacity: 1;
  visibility: visible;
}
body:not(.home) #work #work_anc .anc_wrap .anc_box ul {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s;
}
body:not(.home) #work #work_anc .anc_wrap .anc_box ul li {
  padding: 0.4rem 0;
}
body:not(.home) #work #work_anc .anc_wrap .anc_box ul li a {
  position: relative;
  font-weight: normal;
  transition: 0.4s;
}
body:not(.home) #work #work_anc .anc_wrap .anc_box ul li a::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.5rem;
  opacity: 0;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work #work_anc .anc_wrap .anc_box ul li a::before {
    opacity: 1;
  }
}
body:not(.home) #work #work_anc .anc_wrap .anc_box ul li a:hover {
  font-weight: bold;
}
body:not(.home) #work #work_anc .anc_wrap .anc_box ul li a:hover::before {
  opacity: 1;
}
body:not(.home) #work section#work-content {
  position: relative;
  padding-bottom: 0;
}
body:not(.home) #work section#work-content h2 {
  margin-bottom: 4rem;
}
body:not(.home) #work section#work-content h2 .sub {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content h2 .sub {
    width: 100%;
    display: block;
    margin-top: 1.4rem;
    font-size: 1.5rem;
  }
}
body:not(.home) #work section#work-content .bg_gray {
  background: #f7f7f7;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
body:not(.home) #work section#work-content .bg_white {
  background: #FFF;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
body:not(.home) #work section#work-content .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
body:not(.home) #work section#work-content .reverse {
  flex-direction: row-reverse;
}
body:not(.home) #work section#work-content .item {
  width: 100%;
  max-width: 126rem;
  margin: 0 auto;
  padding: 16.5rem 0;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #work section#work-content .item {
    padding: 8.5rem 3.6rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item {
    padding: 6rem 2.5rem 1rem;
  }
}
body:not(.home) #work section#work-content .item img {
  max-width: 44.5%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item img {
    max-width: 100%;
  }
}
body:not(.home) #work section#work-content .item__text {
  width: 48.4%;
  border-top: 0.1rem solid #e0e0e0;
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item__text {
    width: 100%;
    margin-top: 3rem;
  }
}
body:not(.home) #work section#work-content .item__text h3 {
  font-size: 2.5rem;
  line-height: normal;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item__text h3 {
    font-size: 2.2rem;
  }
}
body:not(.home) #work section#work-content .item__text h3 .sub {
  font-size: 1.8rem;
  margin-left: 1.2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item__text h3 .sub {
    width: 100%;
    display: block;
    margin-top: 1rem;
    margin-left: 0;
    font-size: 1.5rem;
  }
}
body:not(.home) #work section#work-content .item__text .job {
  background: #CB333B;
  font-size: 1.4rem;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  border-radius: 4rem;
  padding: 0.9rem 0;
  width: 13.5rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item__text .job {
    font-size: 1.2rem;
  }
}
body:not(.home) #work section#work-content .item__text ul {
  margin-top: 1rem;
  margin-bottom: 3rem;
}
body:not(.home) #work section#work-content .item__text ul:nth-last-of-type {
  margin-bottom: 0;
}
body:not(.home) #work section#work-content .item__text ul li {
  font-size: 1.5rem;
  padding-left: 1.6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work section#work-content .item__text ul li {
    font-size: 1.3rem;
    padding-left: 1.4rem;
  }
}
body:not(.home) #work section#work-content .item__text ul li::before {
  content: "";
  background: #101946;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  position: absolute;
  left: 0;
  bottom: 1.1rem;
}
body:not(.home) {
  /*============================
  #numbers
  ============================*/
}
body:not(.home) #numbers section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #numbers section#numbers-content {
  margin-top: 8rem;
}
body:not(.home) #numbers section#numbers-content .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.4rem;
  margin-bottom: 12rem;
  margin-top: 3rem;
}
@media screen and (max-width: 1200px) {
  body:not(.home) #numbers section#numbers-content .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #numbers section#numbers-content .grid {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 8rem;
  }
}
body:not(.home) #numbers section#numbers-content .navy {
  background: #101946;
}
body:not(.home) #numbers section#numbers-content .red {
  background: #CB333B;
}
body:not(.home) #numbers section#numbers-content .item {
  width: 100%;
  border-radius: 0.6rem;
  padding: 2.8rem 2rem 2.5rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
}
body:not(.home) #numbers section#numbers-content .item__img {
  width: auto;
  scale: 0.5;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  body:not(.home) #numbers section#numbers-content .item__img {
    scale: unset;
    zoom: 0.5;
    height: auto;
  }
}
body:not(.home) #numbers section#numbers-content p {
  width: 100%;
  color: #101946;
}
body:not(.home) #numbers section#numbers-content .title {
  font-size: 1.7rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  body:not(.home) #numbers section#numbers-content .title {
    font-size: 1.5rem;
  }
}
body:not(.home) #numbers section#numbers-content .num {
  text-align: center;
}
body:not(.home) #numbers section#numbers-content .num .js-count,
body:not(.home) #numbers section#numbers-content .num .semi {
  font-size: 6.1rem;
  font-family: "CabinetGrotesk-Medium";
}
body:not(.home) #numbers section#numbers-content .num .semi {
  line-height: 0;
}
body:not(.home) #numbers section#numbers-content .num .txt {
  font-size: 2.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}
body:not(.home) #numbers section#numbers-content .ac {
  display: flex;
  align-items: center;
  justify-content: center;
}
body:not(.home) #numbers section#numbers-content .num-sub01 {
  display: flex;
  gap: 1rem;
}
body:not(.home) #numbers section#numbers-content .num-sub01 .num {
  display: flex;
  flex-direction: column;
  font-size: 5rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  body:not(.home) #numbers section#numbers-content .num-sub01 .num {
    font-size: 4.3rem;
  }
}
body:not(.home) #numbers section#numbers-content .num-sub01 .sm {
  font-size: 1.6rem;
  font-weight: bold;
}
body:not(.home) #numbers section#numbers-content .num-sub01 .inline {
  display: contents;
}
body:not(.home) #numbers section#numbers-content .text {
  font-size: 1.2rem;
  opacity: 0;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  body:not(.home) #numbers section#numbers-content .text {
    opacity: 1;
  }
}
body:not(.home) #numbers section#numbers-content .item {
  cursor: pointer;
}
body:not(.home) #numbers section#numbers-content .item:hover .text {
  opacity: 1;
}
body:not(.home) {
  /*============================
  #work-place
  ============================*/
}
body:not(.home) #work-place section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #work-place section.anchor {
  margin: 8rem auto 16rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.anchor {
    margin: 8rem auto 4rem;
  }
}
body:not(.home) #work-place section.anchor ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.anchor ul {
    flex-wrap: wrap;
  }
}
body:not(.home) #work-place section.anchor ul li {
  background: #FFF;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  padding: 0;
  text-align: center;
  width: 18%;
  margin-bottom: 2rem;
}
body:not(.home) #work-place section.anchor ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 2.9rem 0 3.2rem;
  position: relative;
  color: #283266;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.anchor ul li a {
    padding: 2.5rem 1rem;
  }
}
body:not(.home) #work-place section.anchor ul li a::after {
  content: "";
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/work-place/triangle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  width: 1rem;
  height: 1rem;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.anchor ul li {
    width: 46%;
  }
}
body:not(.home) #work-place section.work-place-content .wrap {
  margin-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .wrap {
    margin-bottom: 10rem;
  }
}
body:not(.home) #work-place section.work-place-content h3 {
  font-size: 3.3rem;
  line-height: normal;
  color: #101946;
  font-weight: 500;
  text-align: center;
  margin-bottom: 6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content h3 {
    margin-bottom: 3rem;
    font-size: 2.9rem;
  }
}
body:not(.home) #work-place section.work-place-content h3::before {
  content: "";
  background: linear-gradient(90deg, #101946, #cb333b);
  width: 2rem;
  height: 0.3rem;
  border-radius: 0.3rem;
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
}
body:not(.home) #work-place section.work-place-content .img-box {
  position: relative;
  margin-bottom: 6.5rem;
}
body:not(.home) #work-place section.work-place-content .img-box__img {
  position: relative;
  display: flex;
  justify-content: center;
}
body:not(.home) #work-place section.work-place-content .img-box__img .img_bg {
  position: absolute;
  width: 100%;
  object-fit: cover;
  bottom: 0;
  left: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
body:not(.home) #work-place section.work-place-content .img-box__img .main_img {
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .img-box__img .main_img {
    object-fit: cover;
    aspect-ratio: 400/218;
  }
}
body:not(.home) #work-place section.work-place-content .img-box__text {
  position: absolute;
  bottom: 4rem;
  left: 4.2rem;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1.867;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .img-box__text {
    left: 0rem;
    bottom: 2rem;
    padding: 0 2rem;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .img-box__text p {
    font-size: 1.2rem;
    line-height: 1.4;
  }
}
body:not(.home) #work-place section.work-place-content .img-box__text .title {
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 2.2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .img-box__text .title {
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }
}
body:not(.home) #work-place section.work-place-content .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .flex {
    gap: 3rem;
  }
}
body:not(.home) #work-place section.work-place-content .col3 {
  width: 31.3%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .col3 {
    width: 100%;
  }
}
body:not(.home) #work-place section.work-place-content .col2 {
  width: 48.4%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .col2 {
    width: 100%;
  }
}
body:not(.home) #work-place section.work-place-content .item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
body:not(.home) #work-place section.work-place-content .item .title {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2rem;
  padding-left: 1.3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .item .title {
    font-size: 1.75rem;
  }
}
body:not(.home) #work-place section.work-place-content .item .title::before {
  content: "";
  background: #101946;
  width: 0.6rem;
  height: 0.2rem;
  position: absolute;
  left: 0;
  bottom: 1.4rem;
}
body:not(.home) #work-place section.work-place-content .item img {
  aspect-ratio: 394.38/215.2;
  object-fit: cover;
}
body:not(.home) #work-place section.work-place-content .item .text {
  margin-top: 2rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #work-place section.work-place-content .item .text {
    margin-bottom: 0;
  }
}
body:not(.home) {
  /*============================
  #re-creation
  ============================*/
}
body:not(.home) #re-creation #mv {
  padding: 0;
  height: 100svh;
}
body:not(.home) #re-creation #mv video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body:not(.home) #re-creation #mv .kv_movie_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body:not(.home) #re-creation #mv .section__inner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
}
body:not(.home) #re-creation #mv .section__inner .ttl_box {
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body:not(.home) #re-creation #mv .section__inner .ttl_box .lead_txt {
  color: #fff;
  font-size: 2.9rem;
  margin-bottom: 2rem;
  font-weight: 500;
}
body:not(.home) #re-creation #mv .section__inner .ttl_box h1 {
  font-size: 10.4rem;
  font-family: "CabinetGrotesk-Medium";
  color: #fff;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation #mv .section__inner .ttl_box h1 {
    font-size: 17vw;
  }
}
body:not(.home) #re-creation #mv .section__inner .ttl_box .sub_ttl {
  font-size: 1.6rem;
  color: #fff;
  position: relative;
  top: -1rem;
}
body:not(.home) #re-creation .col2 {
  width: 48.4%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation .col2 {
    width: 100%;
  }
}
body:not(.home) #re-creation .col4 {
  width: 22.2%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation .col4 {
    width: 100%;
  }
}
body:not(.home) #re-creation section.about {
  position: relative;
  z-index: 1;
  padding: 17rem 4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.about {
    padding: 10rem 2rem;
  }
}
body:not(.home) #re-creation section.about .section__inner h2 {
  font-size: 5.5rem;
  font-family: "CabinetGrotesk-Medium";
  color: #fff;
  margin-bottom: 9rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.about .section__inner h2 {
    margin-bottom: 5rem;
  }
}
body:not(.home) #re-creation section.about .section__inner p {
  font-size: 2.2rem;
  line-height: 2.72;
  color: #fff;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.about .section__inner p {
    font-size: 2rem;
    line-height: 2;
  }
}
body:not(.home) #re-creation section.flow {
  position: relative;
  margin-bottom: 0;
  padding-bottom: 13rem;
  padding-top: 20rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow {
    padding: 10rem 2rem 10rem;
  }
}
body:not(.home) #re-creation section.flow h2 {
  margin-bottom: 6rem;
}
body:not(.home) #re-creation section.flow .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex {
    width: 70%;
    justify-content: center;
    margin: auto;
    gap: 13rem;
  }
}
body:not(.home) #re-creation section.flow .flex .item {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}
body:not(.home) #re-creation section.flow .flex .item:nth-child(1) .item__img {
  width: 13.5rem;
  object-fit: contain;
}
body:not(.home) #re-creation section.flow .flex .item:nth-child(2) .item__img {
  width: 9.1rem;
  object-fit: contain;
}
body:not(.home) #re-creation section.flow .flex .item:nth-child(3) .item__img {
  width: 11.4rem;
  object-fit: contain;
}
body:not(.home) #re-creation section.flow .flex .item:nth-child(4) .item__img {
  width: 10.3rem;
  object-fit: contain;
}
body:not(.home) #re-creation section.flow .flex .item .num {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex .item .num {
    font-size: 1.925rem;
  }
}
body:not(.home) #re-creation section.flow .flex .item .title {
  font-size: 1.7rem;
  font-weight: bold;
  margin-top: 1.5rem;
  text-align: center;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex .item .title {
    font-size: 1.5rem;
  }
}
body:not(.home) #re-creation section.flow .flex .item .text {
  font-size: 1.3rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex .item .text {
    font-size: 1.1rem;
  }
}
body:not(.home) #re-creation section.flow .flex.line::before {
  content: "";
  background: linear-gradient(90deg, #cb333b, #101946);
  width: 150vw;
  height: 0.3rem;
  position: absolute;
  left: -50%;
  top: 11rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex.line::before {
    content: none;
  }
}
body:not(.home) #re-creation section.flow .flex.line .item::before {
  content: "";
  background-image: url(/wordpress/wp-content/themes/komatsu/common//img/re-creation/bg-flow.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24.5rem;
  height: 24.5rem;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex.line .item::before {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex.line .item::after {
    content: "";
    background-image: url(/wordpress/wp-content/themes/komatsu/common//img/re-creation/flow_line_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.3rem;
    height: 5.5rem;
    position: absolute;
    left: 50%;
    bottom: -10rem;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .flex.line .item:last-child::after {
    content: none;
  }
}
body:not(.home) #re-creation section.flow .text-area {
  margin-top: 7.5rem;
}
body:not(.home) #re-creation section.flow .text-area p {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .text-area p {
    font-size: 1.3rem;
  }
}
body:not(.home) #re-creation section.flow .movie-area {
  padding: 0;
  margin: 13.5rem auto 24.6rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .movie-area {
    margin: 6rem auto 8rem;
    padding: 0;
  }
}
body:not(.home) #re-creation section.flow .movie-area .video-container,
body:not(.home) #re-creation section.flow .movie-area video {
  max-width: 85.4rem;
  margin: auto;
}
body:not(.home) #re-creation section.flow .event {
  margin-top: 13.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .event {
    margin-top: 6rem;
  }
}
body:not(.home) #re-creation section.flow .event h2 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.flow .event .flex {
    width: 100%;
    gap: 3rem;
  }
}
body:not(.home) #re-creation section.flow .event .flex .item .text {
  font-size: 1.5rem;
}
body:not(.home) #re-creation section.fabric {
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric {
    margin-top: -0.1rem;
  }
}
body:not(.home) #re-creation section.fabric h2 {
  margin-bottom: 9rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric h2 {
    margin-bottom: 4rem;
  }
}
body:not(.home) #re-creation section.fabric .wrap {
  margin-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric .wrap {
    margin-bottom: 8rem;
  }
}
body:not(.home) #re-creation section.fabric .flex {
  justify-content: space-between;
  align-items: flex-start;
}
body:not(.home) #re-creation section.fabric .text-area {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric .text-area {
    margin-bottom: 3rem;
    font-size: 1.3rem;
  }
}
body:not(.home) #re-creation section.fabric .text-area .bg_red {
  background: #CB333B;
  padding: 0.7rem 2rem;
  border-radius: 2rem;
  margin-bottom: 0.8rem;
}
body:not(.home) #re-creation section.fabric .text-area .bg_red p {
  font-size: 1.4rem;
  color: #FFF;
  font-weight: bold;
}
body:not(.home) #re-creation section.fabric .text-area h3 {
  font-size: 2.35rem;
  line-height: normal;
  width: 100%;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric .text-area h3 {
    margin-bottom: 2rem;
    font-size: 2.05rem;
  }
}
body:not(.home) #re-creation section.fabric .text-area .bg_gray {
  background: #f5f5f5;
  border-radius: 0.2rem;
  padding: 2.2rem 1.8rem;
  margin-top: 2rem;
}
body:not(.home) #re-creation section.fabric .text-area .bg_gray .comment {
  font-weight: bold;
  margin-bottom: 1rem;
  color: #050505;
}
body:not(.home) #re-creation section.fabric .text-area .bg_gray p {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric .text-area .bg_gray p {
    font-size: 1.2rem;
  }
}
body:not(.home) #re-creation section.fabric .btn {
  display: block;
  width: 30rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  body:not(.home) #re-creation section.fabric .btn {
    margin-top: 3rem;
  }
}
body:not(.home) #re-creation section.fabric .btn__inner {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: 2rem;
  border-bottom: 0.1rem solid;
  text-align: center;
  color: #101946;
  border-color: #707070;
}
body:not(.home) #re-creation section.fabric .btn__inner span {
  position: relative;
}
body:not(.home) #re-creation section.fabric .btn__inner span::after {
  content: "";
  background: #101946;
  width: 1.1rem;
  height: 0.1rem;
  position: absolute;
  right: -2rem;
  bottom: 1rem;
}
body:not(.home) {
  /*============================
  #business
  ============================*/
}
body:not(.home) #business section#mv {
  height: 100svh;
  position: relative;
}
body:not(.home) #business section#mv .mv_bg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  object-fit: cover;
}
body:not(.home) #business section#mv .page-title {
  background: linear-gradient(90deg, #fff 0 50%, #283266 70% 100%) 100% 0/400% 100%;
}
body:not(.home) #business section#mv .page-title .ja {
  background: linear-gradient(90deg, #fff 0 50%, #283266 70% 100%) 100% 0/400% 100%;
}
body:not(.home) #business section#mv .lead {
  color: #fff;
  font-size: 1.5rem;
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section#mv .lead {
    margin-top: 13rem;
  }
}
body:not(.home) #business section.business-content {
  background-color: #fff;
  position: relative;
}
body:not(.home) #business section.business-content p {
  font-size: 1.5rem;
  line-height: 2;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content p {
    font-size: 1.3rem;
  }
}
body:not(.home) #business section.business-content .wrap {
  margin-bottom: 23rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .wrap {
    margin-bottom: 13rem;
  }
}
body:not(.home) #business section.business-content .img_scroll {
  margin-bottom: 13rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .img_scroll {
    overflow-x: auto;
  }
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .img_scroll img {
    height: 40rem;
    width: auto;
    max-width: unset;
  }
}
body:not(.home) #business section.business-content .title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 7.7rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .title {
    margin-bottom: 3rem;
  }
}
body:not(.home) #business section.business-content .title h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  margin-left: 0;
  font-size: 2.7rem;
  line-height: normal;
  position: relative;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .title h2 {
    font-size: 2.35rem;
  }
}
body:not(.home) #business section.business-content .title h2::before {
  content: "";
  background: linear-gradient(90deg, #101946, #cb333b);
  width: 2rem;
  height: 0.3rem;
  border-radius: 0.3rem;
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
}
body:not(.home) #business section.business-content .title .sub {
  background: #101946;
  border-radius: 0.5rem;
  padding: 0.6rem 1.9rem;
}
body:not(.home) #business section.business-content .title .sub p {
  font-size: 1.4rem;
  color: #FFF;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .title .sub p {
    font-size: 1.2rem;
  }
}
body:not(.home) #business section.business-content .flex_ttl {
  font-size: 2.5rem;
  position: relative;
  padding-left: 1.5rem;
  margin-top: 16rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .flex_ttl {
    margin-top: 8rem;
    margin-bottom: 2rem;
  }
}
body:not(.home) #business section.business-content .flex_ttl::before {
  content: "";
  background: linear-gradient(to right, #101946 0%, #101946 50%, #cb333b 50%, #cb333b 100%);
  width: 0.8rem;
  height: 0.3rem;
  border-radius: 0.3rem;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
body:not(.home) #business section.business-content .flex {
  justify-content: space-between;
  gap: 7rem 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .flex.sp-reverse {
    flex-direction: column-reverse;
    gap: 3rem;
  }
}
body:not(.home) #business section.business-content .col2 {
  width: 48.45%;
  align-content: baseline;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .col2 {
    width: 100%;
  }
}
body:not(.home) #business section.business-content .col3 {
  width: 31%;
  align-content: baseline;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .col3 {
    width: 100%;
  }
}
body:not(.home) #business section.business-content .item {
  display: flex;
  flex-direction: column;
}
body:not(.home) #business section.business-content .item .img_ttl {
  font-size: 2rem;
  color: #101946;
  margin-bottom: 3rem;
  line-height: 1;
}
body:not(.home) #business section.business-content .item .txt_btn_wrap {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
body:not(.home) #business section.business-content .btn {
  padding-bottom: 2rem;
  border-bottom: 0.2rem solid rgba(112, 112, 112, 0.2);
  width: 30rem;
  display: block;
  margin-top: auto;
  margin: auto auto 0;
  color: #101946;
  transition: border-color 0.4s;
}
body:not(.home) #business section.business-content .btn:hover {
  border-color: #101946;
}
body:not(.home) #business section.business-content .btn-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 7.6rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .btn-area {
    flex-direction: column;
    gap: 5rem;
    margin-top: 4rem;
  }
}
body:not(.home) #business section.business-content .btn-area .btn_list {
  width: 30%;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .btn-area .btn_list {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  body:not(.home) #business section.business-content .btn-area .btn_list .line_btn {
    width: 100%;
  }
}
body:not(.home) #business section.business-content .img-box {
  position: relative;
  margin-bottom: 2rem;
}
body:not(.home) #business section.business-content .img-box__img {
  position: relative;
  display: flex;
  justify-content: center;
}
body:not(.home) #business section.business-content .img-box__img .img_bg {
  position: absolute;
  width: 100%;
  object-fit: cover;
  bottom: 0;
  left: 0;
  opacity: 0.8;
  transition: opacity 0.3s;
}
body:not(.home) #business section.business-content .img-box__img .main_img {
  width: 100%;
  display: block;
  aspect-ratio: 610.47/300.22;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .img-box__img .main_img {
    object-fit: cover;
  }
}
body:not(.home) #business section.business-content .img-box__text {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  line-height: 1.867;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .img-box__text {
    left: 2rem;
    bottom: 2rem;
    font-size: 1.2rem;
  }
}
body:not(.home) #business section.business-content .img-box__text p {
  font-size: 2rem;
  font-weight: 500;
  color: #FFF !important;
}
@media screen and (max-width: 767px) {
  body:not(.home) #business section.business-content .img-box__text p {
    margin-bottom: 1rem;
    font-size: 1.75rem;
  }
}
body:not(.home) #news.news-main .news-container {
  max-width: 115rem;
  margin: 14rem auto 10rem;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news.news-main .news-container {
    margin: 8rem auto 6rem;
  }
}
body:not(.home) #news .news-list {
  list-style: none;
  padding: 0;
  margin-bottom: 6rem;
}
body:not(.home) #news .news-list .news-item .news-link {
  display: flex;
  align-items: center;
  padding: 2.5rem 1rem;
  text-decoration: none;
  color: #000;
  border-bottom: 0.2rem solid rgba(112, 112, 112, 0.2);
  transition: border-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .news-list .news-item .news-link {
    flex-wrap: wrap;
    padding: 2rem 0;
  }
}
body:not(.home) #news .news-list .news-item .news-link:hover {
  border-color: #101946;
  color: #101946;
}
body:not(.home) #news .news-list .news-item .news-link .category {
  display: inline-block;
  background-color: #101946;
  color: #fff;
  font-size: 1.3rem;
  padding: 0.4rem 1.6rem;
  margin-right: 1rem;
  flex-shrink: 0;
  text-align: center;
  min-width: 9rem;
  border-radius: 0.2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .news-list .news-item .news-link .category {
    margin-right: 1.5rem;
    margin-bottom: 1.2rem;
    font-size: 1.1rem;
  }
}
body:not(.home) #news .news-list .news-item .news-link .date {
  font-weight: bold;
  color: #101946;
  margin-right: 7rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .news-list .news-item .news-link .date {
    margin-right: 0;
    margin-bottom: 1.2rem;
  }
}
body:not(.home) #news .news-list .news-item .news-link .title {
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .news-list .news-item .news-link .title {
    width: 100%;
  }
}
body:not(.home) #news .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .pagination {
    gap: 0.5rem;
  }
}
body:not(.home) #news .pagination::before, body:not(.home) #news .pagination::after {
  content: "";
  display: block;
  width: 6rem;
  height: 0.2rem;
  background-color: rgba(112, 112, 112, 0.2);
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .pagination::before, body:not(.home) #news .pagination::after {
    width: 3rem;
  }
}
body:not(.home) #news .pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  height: 4.5rem;
  padding: 0 1rem;
  text-decoration: none;
  color: #707070;
  border: 0.2rem solid rgba(112, 112, 112, 0.2);
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .pagination .page-numbers {
    min-width: 3.5rem;
    height: 3.5rem;
    padding: 0 0.5rem;
    font-size: 1.2rem;
  }
}
body:not(.home) #news .pagination .page-numbers.current {
  background-color: #101946;
  color: #fff;
  border-color: #101946;
}
body:not(.home) #news .pagination .page-numbers:hover:not(.current) {
  border-color: #101946;
  color: #101946;
}
body:not(.home) #news .pagination .dots {
  border: none;
  display: flex;
  align-items: flex-end;
  padding-bottom: 1rem;
  color: #707070;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news .pagination .dots {
    padding-bottom: 0.5rem;
  }
}
body:not(.home) #news.single {
  padding: 8rem 0 0rem;
  margin-top: 10rem;
}
body:not(.home) #news.single .single-container {
  max-width: 119rem;
  margin: 0 auto;
  padding: 0 2rem;
}
body:not(.home) #news.single .single-header {
  margin-bottom: 6rem;
  padding-bottom: 3rem;
  border-bottom: 0.1rem solid #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news.single .single-header {
    margin-bottom: 3rem;
  }
}
body:not(.home) #news.single .single-header .date {
  display: block;
  font-size: 1.4rem;
  color: #707070;
  margin-bottom: 1.5rem;
  font-weight: bold;
}
body:not(.home) #news.single .single-header .single-title {
  font-size: 2.8rem;
  color: #101946;
  line-height: 1.5;
  margin-bottom: 2rem;
  font-weight: bold;
}
body:not(.home) #news.single .single-header .category-label {
  display: inline-block;
  background-color: #101946;
  color: #fff;
  font-size: 1.3rem;
  padding: 0.4rem 1.6rem;
  min-width: 9rem;
  text-align: center;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news.single .single-header .category-label {
    font-size: 1.1rem;
  }
}
body:not(.home) #news.single .entry-content {
  color: #000;
  padding: 0 2.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news.single .entry-content {
    padding: 0;
  }
}
body:not(.home) #news.single .entry-content p {
  font-size: 1.5rem;
  line-height: 2;
  margin-bottom: 3rem;
  letter-spacing: 0.05em;
}
body:not(.home) #news.single .entry-content h2:not(.page-special-title),
body:not(.home) #news.single .entry-content h3:not(.page-special-title) {
  color: #101946;
  font-weight: bold;
  position: relative;
  padding-left: 2.5rem;
  margin-top: 8rem;
  margin-bottom: 3rem;
  margin-left: 0;
  line-height: 1.4;
}
body:not(.home) #news.single .entry-content h2:not(.page-special-title)::before,
body:not(.home) #news.single .entry-content h3:not(.page-special-title)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  /* bottom: 0.2rem; */
  transform: translateY(-50%);
  width: 0.9rem;
  background-color: #cb333b;
  height: 100%;
  border-radius: 1rem;
}
body:not(.home) #news.single .entry-content h2 {
  font-size: 2.2rem;
}
body:not(.home) #news.single .entry-content h3 {
  font-size: 2rem;
}
body:not(.home) #news.single .entry-content figure.wp-block-image {
  margin: 5rem 0;
}
@media screen and (max-width: 767px) {
  body:not(.home) #news.single .entry-content figure.wp-block-image {
    margin: 1.5rem 0;
  }
}
body:not(.home) #news.single .entry-content figure.wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
body:not(.home) #news.single .entry-content .wp-block-columns {
  margin-top: 5rem;
  margin-bottom: 5rem;
  gap: 3rem;
}
body:not(.home) #news.single .entry-content .aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
body:not(.home) #news.single .entry-content *:last-child {
  margin-bottom: 0;
}
body:not(.home) #news.single .entry-content .line_btn {
  margin: 10rem auto;
}
body:not(.home) #contact section#mv .page-title {
  margin-left: 0;
}
body:not(.home) #contact section#mv .mv-lead {
  font-size: 2.5rem;
  font-weight: bold;
  padding-top: 3rem;
  margin-top: 14rem;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact section#mv .mv-lead {
    margin-top: 8rem;
    font-size: 2.2rem;
  }
}
body:not(.home) #contact .form_area {
  padding: 8rem 2rem 12rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area {
    padding: 6rem 1.5rem 8rem;
  }
}
body:not(.home) #contact .form_area .form-wrapper {
  max-width: 126rem;
  margin: 0 auto;
  background-color: #fff;
  border: 0.1rem solid rgba(112, 112, 112, 0.2);
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.08);
  padding: 10rem 2rem;
  border-radius: 0.4rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-wrapper {
    padding: 4rem 1.5rem;
  }
}
body:not(.home) #contact .form_area .form-inner {
  max-width: 105.6rem;
  margin: 0 auto;
}
body:not(.home) #contact .form_area .form-row {
  display: flex;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-row {
    flex-direction: column;
    margin-bottom: 3rem;
  }
}
body:not(.home) #contact .form_area .form-th {
  width: 28rem;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  padding-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-th {
    width: 100%;
    margin-bottom: 1.5rem;
    padding-top: 0;
    align-items: center;
  }
}
body:not(.home) #contact .form_area .form-th .req {
  background-color: #fc1d29;
  color: #fff;
  font-size: 1.3rem;
  padding: 0.2rem 1rem;
  margin-right: 2rem;
  border-radius: 0.2rem;
  white-space: nowrap;
}
body:not(.home) #contact .form_area .form-th .label {
  font-weight: bold;
  color: #000;
  font-size: 1.5rem;
}
body:not(.home) #contact .form_area .form-td {
  flex-grow: 1;
}
body:not(.home) #contact .form_area .form-td .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
body:not(.home) #contact .form_area .form-td input[type=text],
body:not(.home) #contact .form_area .form-td input[type=email],
body:not(.home) #contact .form_area .form-td input[type=tel],
body:not(.home) #contact .form_area .form-td textarea {
  width: 100%;
  background-color: #f4f4f4;
  border: none;
  padding: 1.8rem 2rem;
  font-size: 1.6rem;
  box-sizing: border-box;
  border-radius: 0.2rem;
  transition: outline 0.3s ease;
}
body:not(.home) #contact .form_area .form-td input[type=text]:focus,
body:not(.home) #contact .form_area .form-td input[type=email]:focus,
body:not(.home) #contact .form_area .form-td input[type=tel]:focus,
body:not(.home) #contact .form_area .form-td textarea:focus {
  outline: 0.1rem solid #101946;
}
body:not(.home) #contact .form_area .form-td textarea {
  height: 25rem;
  resize: vertical;
}
body:not(.home) #contact .form_area .form-td .name-wrap {
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-td .name-wrap {
    flex-direction: column;
    gap: 1.5rem;
  }
}
body:not(.home) #contact .form_area .form-td .name-wrap.mt-2 {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-td .name-wrap.mt-2 {
    margin-top: 1.5rem;
  }
}
body:not(.home) #contact .form_area .form-td .name-wrap .name-item {
  display: flex;
  align-items: center;
  flex: 1;
}
body:not(.home) #contact .form_area .form-td .name-wrap .name-item .sub-label {
  width: 4rem;
  flex-shrink: 0;
  color: #707070;
  font-size: 1.5rem;
}
body:not(.home) #contact .form_area .form-submit {
  text-align: center;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-submit {
    margin-top: 5rem;
  }
}
body:not(.home) #contact .form_area .form-submit input[type=submit] {
  background-image: linear-gradient(90deg, #101946 0%, #cb333b 100%);
  color: #fff;
  border: none;
  width: 32rem;
  padding: 2rem 0;
  font-size: 1.8rem;
  font-weight: bold;
  border-radius: 0.4rem;
  cursor: pointer;
  box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  body:not(.home) #contact .form_area .form-submit input[type=submit] {
    width: 100%;
  }
}
body:not(.home) #contact .form_area .form-submit input[type=submit]:hover {
  opacity: 0.85;
  transform: translateY(-0.2rem);
}
body:not(.home) #contact .form_area .form-submit .wpcf7-spinner {
  display: block;
  margin: 1.5rem auto 0;
}
body:not(.home) #contact .btn {
  padding-bottom: 2rem;
  border-bottom: 0.2rem solid rgba(112, 112, 112, 0.2);
  width: 30rem;
  display: block;
  margin: 10rem auto;
  color: #101946;
  transition: border-color 0.4s;
}
body:not(.home) #contact .btn:hover {
  border-color: #101946;
}

body.gallery #gallery section#mv .gallery_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  z-index: -1;
}
body.gallery #gallery section#mv .page-title {
  margin-left: 0;
}
body.gallery #gallery section#mv .mv-lead {
  font-size: 2.5rem;
  font-weight: bold;
  padding-top: 3rem;
  margin-top: 14rem;
  color: #101946;
}
@media screen and (max-width: 767px) {
  body.gallery #gallery section#mv .mv-lead {
    margin-top: 8rem;
    font-size: 2.2rem;
  }
}
body.gallery #gallery .gallery_area {
  padding: 8rem 2rem 12rem;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  body.gallery #gallery .gallery_area {
    padding: 6rem 2rem 10rem;
  }
}
body.gallery #gallery .gallery_area .gallery-inner {
  max-width: 124rem;
  margin: 0 auto;
}
body.gallery #gallery .gallery_area .sec-title {
  font-size: 3.2rem;
  color: #101946;
  margin-bottom: 3rem;
  font-weight: normal;
  margin: 0 auto 3rem;
}
body.gallery #gallery .gallery_area .sec-title::before {
  content: none;
}
body.gallery #gallery .gallery_area .gallery-pickup {
  margin-bottom: 10rem;
}
body.gallery #gallery .gallery_area .gallery-pickup .gallery-card {
  width: 100%;
  margin-bottom: 4rem;
}
body.gallery #gallery .gallery_area .gallery-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem 3rem;
}
@media screen and (max-width: 767px) {
  body.gallery #gallery .gallery_area .gallery-list {
    gap: 4rem 0;
  }
}
body.gallery #gallery .gallery_area .gallery-list .gallery-card {
  width: calc(50% - 1.5rem);
}
@media screen and (max-width: 767px) {
  body.gallery #gallery .gallery_area .gallery-list .gallery-card {
    width: 100%;
  }
}
body.gallery #gallery .gallery_area .gallery-card {
  cursor: pointer;
}
body.gallery #gallery .gallery_area .gallery-card .img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #000;
  overflow: hidden;
  margin-bottom: 2rem;
}
body.gallery #gallery .gallery_area .gallery-card .img-wrap iframe,
body.gallery #gallery .gallery_area .gallery-card .img-wrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  object-fit: cover;
}
body.gallery #gallery .gallery_area .gallery-card .img-wrap .click-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}
body.gallery #gallery .gallery_area .gallery-card .img-wrap .click-overlay .play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6rem;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  body.gallery #gallery .gallery_area .gallery-card .img-wrap .click-overlay .play-icon {
    width: 5rem;
  }
}
body.gallery #gallery .gallery_area .gallery-card .img-wrap:hover .click-overlay {
  background-color: rgba(0, 0, 0, 0.3);
}
body.gallery #gallery .gallery_area .gallery-card .img-wrap:hover .click-overlay .play-icon {
  transform: translate(-50%, -50%) scale(1.1);
}
body.gallery #gallery .gallery_area .gallery-card .title {
  position: relative;
  color: #101946;
  font-weight: bold;
  padding-left: 3rem;
  line-height: 1.5;
  font-size: 2.2rem;
}
body.gallery #gallery .gallery_area .gallery-card .title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 47%;
  transform: translateY(-50%);
  width: 0.9rem;
  background-color: #cb333b;
  height: 100%;
  border-radius: 1rem;
}
body.gallery .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
body.gallery .modal .modal-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  cursor: pointer;
}
body.gallery .modal .modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 126rem;
  background: #fff;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.16);
}
body.gallery .modal .modal-content .modal-video-wrap {
  width: 90%;
  margin: 7rem auto 7rem;
  aspect-ratio: 16/9;
  background: #fff;
  position: relative;
}
body.gallery .modal .modal-content .modal-video-wrap iframe,
body.gallery .modal .modal-content .modal-video-wrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
body.gallery .modal .modal-content .modal-close {
  width: 100%;
  padding: 2rem 0;
  background-color: rgba(16, 25, 70, 0.07);
  border: none;
  font-size: 1.5rem;
  color: #101946;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.3s ease;
}
body.gallery .modal .modal-content .modal-close:hover {
  background-color: #e0e0e0;
}

body.error404 .sec_404 .txt {
  margin: 10rem auto;
}
@media screen and (max-width: 767px) {
  body.error404 .sec_404 .txt {
    margin: 5rem auto;
  }
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset !important;
  box-shadow: 0 0 0px 1000px #f4f4f4 inset !important;
  -webkit-text-fill-color: #000000 !important;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  padding-left: 2.9rem;
  background-color: #ffffff;
  transition: background-color 0.4s;
  box-sizing: border-box;
}
body.home header, body.philosophy header, body.re-creation header, body.business header, body.single-interview header, body.gallery header {
  background-color: transparent;
}
header {
  /* is-menu-open の時も白にする */
}
header.is-scrolled {
  background-color: #ffffff !important;
}
header.is-menu-open {
  background-color: rgba(14, 22, 70, 0.9) !important;
}
@media screen and (max-width: 1060px) {
  header {
    padding-left: 1rem;
  }
}
header {
  /* JSで付与される白文字モード */
}
header.is-white-mode .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > a,
header.is-white-mode .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link {
  color: #ffffff !important;
}
header.is-white-mode .header__nav-area nav#header_nav ul.global-navigation__list .menu-item .outline_btn {
  color: #ffffff !important;
  border-color: #ffffff !important;
}
header.is-white-mode .hamburger .hamburger__line::before,
header.is-white-mode .hamburger .hamburger__line::after {
  background-color: #ffffff !important;
}
header .header__inner {
  width: 100%;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 9rem;
  gap: 1rem;
}
@media screen and (max-width: 1060px) {
  header .header__inner {
    height: 7.5rem;
  }
}
header .header__inner h1 {
  display: flex;
  align-items: center;
  margin: 0;
  position: relative;
  z-index: 11;
  flex: 1;
  max-width: 22.5rem;
}
@media screen and (max-width: 1534px) {
  header .header__inner h1 {
    max-width: 15rem;
  }
}
header .header__inner h1 a {
  display: block;
}
header .header__inner h1 a img {
  transition: 0.4s;
  width: 100%;
  height: auto;
  object-fit: contain;
  vertical-align: bottom;
}
header .header__inner .header__nav-area {
  height: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area {
    position: fixed;
    top: 7.4rem;
    left: 0;
    z-index: 9;
    height: calc(100dvh - 7.4rem);
    width: 100%;
    visibility: hidden;
    opacity: 0;
    padding: 0rem 0 4.5rem;
    background-color: #ffffff;
    background-color: rgba(14, 22, 70, 0.9);
    color: #333333;
    overflow-y: auto;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.4);
  }
  header .header__inner .header__nav-area.-active {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s, opacity 0.4s;
  }
}
header .header__inner .header__nav-area nav#header_nav {
  height: 100%;
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav {
    width: 100%;
  }
}
header .header__inner .header__nav-area nav#header_nav .global-navigation {
  height: 100%;
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3rem;
  height: 100%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1534px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list {
    gap: 1.2rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    padding: 0;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item {
  list-style: none;
  font-size: 1.4rem;
  font-weight: 500;
  position: relative;
  color: #333333;
  display: flex;
  align-items: center;
  height: 100%;
  transition: color 0.4s;
}
@media screen and (max-width: 1534px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item {
    width: 100%;
    height: auto;
    flex-direction: column;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.4);
    padding: 0;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > a,
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > a,
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link {
    width: 100%;
    padding: 2rem;
    justify-content: flex-start;
    color: #fff !important;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link {
    position: relative;
  }
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link::after {
    content: "";
    position: absolute;
    right: 2.5rem;
    top: 50%;
    width: 1.2rem;
    height: 0.2rem;
    background-color: #cb333b;
    transform: translateY(-50%);
  }
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link::before {
    content: "";
    position: absolute;
    right: 3rem;
    top: 50%;
    width: 0.2rem;
    height: 1.2rem;
    background-color: #cb333b;
    transform: translateY(-50%);
    transition: opacity 0.3s, transform 0.3s;
  }
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item > .parent_link.-active::before {
    opacity: 0;
    transform: translateY(-50%) rotate(90deg);
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item {
  /* 枠線付きボタン */
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item .outline_btn {
  font-size: 1.2rem;
  border: 0.1rem solid #333333;
  padding: 0.8rem 1.6rem;
  background-color: transparent;
  white-space: nowrap;
  transition: color 0.4s, border-color 0.4s;
}
@media screen and (max-width: 1534px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item .outline_btn {
    padding: 0.6rem 1rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item .outline_btn {
    display: flex;
    width: 80%;
    max-width: 30rem;
    padding: 1.5rem;
    margin: 2rem auto;
    justify-content: center;
    color: #fff !important;
    border-color: #707070 !important;
    padding: 0.8rem 1rem;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item {
  /* サブメニュー */
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu {
  height: 0;
  max-height: 0;
  overflow: hidden;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -1rem);
  background-color: rgba(14, 22, 70, 0.9);
  color: #333333;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s, transform 0.4s;
  min-width: 20rem;
  padding: 6rem;
  box-shadow: 0 0.4rem 0.6rem rgba(0, 0, 0, 0.1);
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu.-active {
  height: auto;
  max-height: 100rem;
  visibility: visible;
  transform: translate(-50%, 0rem);
  opacity: 1;
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu {
    position: static;
    transform: none;
    box-shadow: none;
    border: none;
    background-color: transparent;
    width: 100%;
    margin-top: 0;
    padding: 0rem 0;
  }
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu.-active {
    padding: 0rem 0 2rem;
    transform: translate(0%, 0rem);
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li {
  width: 100%;
  padding: 1rem 0rem;
  height: auto;
  position: relative;
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0rem;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.4s;
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li::before {
    opacity: 1;
    left: 2rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li {
    border: none;
    text-align: center;
    padding: 0 2rem;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li a {
  display: block;
  width: 100%;
  color: #fff !important;
  white-space: nowrap;
  font-size: 1.4rem;
  font-weight: bold;
  transition: transform 0.4s;
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li a {
    text-align: left;
    padding-left: 1.4rem;
    font-size: 1.2rem;
    padding: 1.4rem 1.2rem;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li:hover::before {
  opacity: 1;
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .menu-item ul.sub-menu li:hover a {
  transform: translateX(1rem);
  opacity: 1;
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list {
  /* Contactボタン */
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item {
  height: 100%;
  max-height: 12rem;
  background-color: #101946;
  margin-left: 1rem;
}
@media screen and (max-width: 1534px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item {
    margin-left: 0;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item {
    width: 100%;
    background-color: transparent;
    padding: 2rem 0;
    border-bottom: none;
    margin-left: 0;
    margin-bottom: 3rem;
    max-height: unset;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .nav_btn {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 5.5rem;
  color: #ffffff !important;
  text-decoration: none;
  line-height: 0.6;
}
@media screen and (max-width: 1534px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .nav_btn {
    padding: 0 1.5rem;
  }
}
@media screen and (max-width: 1060px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .nav_btn {
    background-color: #101946;
    padding: 4.3rem 2rem;
    border-radius: 0.4rem;
    width: 80%;
    max-width: 30rem;
    margin: 0 auto 3rem;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: row;
    gap: 1rem;
    height: 8.5rem;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .nav_btn .en {
  font-size: 2.3rem;
  font-family: "CabinetGrotesk-Regular";
}
@media screen and (max-width: 1534px) {
  header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .nav_btn .en {
    font-size: 2.5rem;
  }
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .nav_btn .ja {
  font-size: 1.2rem;
}
header .header__inner .header__nav-area nav#header_nav ul.global-navigation__list .contact-item .recruit {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 1rem;
  width: 90%;
}
header .header__inner {
  /*============================
  ハンバーガー
  ============================*/
}
header .header__inner .hamburger {
  display: none;
}
@media screen and (max-width: 1060px) {
  header .header__inner .hamburger {
    display: block;
    height: 7.5rem;
    width: 6rem;
    border: none;
    background-color: transparent;
    position: relative;
    z-index: 100;
    cursor: pointer;
    padding: 0;
  }
  header .header__inner .hamburger.-active .hamburger__line::before {
    top: 0;
    transform: rotate(35deg);
    background-color: #fff !important;
  }
  header .header__inner .hamburger.-active .hamburger__line::after {
    top: 0;
    transform: rotate(-35deg);
    background-color: #fff !important;
  }
  header .header__inner .hamburger .hamburger__line {
    display: block;
    height: 0.2rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3rem;
    background-color: transparent;
    transition: 0.4s;
  }
  header .header__inner .hamburger .hamburger__line:before, header .header__inner .hamburger .hamburger__line:after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    background-color: #333333;
    transition: inherit;
  }
  header .header__inner .hamburger .hamburger__line:before {
    top: -0.6rem;
  }
  header .header__inner .hamburger .hamburger__line:after {
    top: 0.6rem;
  }
}

section#entry {
  background-image: url(/wordpress/wp-content/themes/komatsu/common/img/bg-entry_pc.webp);
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 17.5rem;
  padding-bottom: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  section#entry {
    background-image: url(/wordpress/wp-content/themes/komatsu/common/img/bg-entry_sp.webp);
    padding-top: 8rem;
  }
}
@media screen and (max-width: 1200px) {
  section#entry {
    background-image: url(/wordpress/wp-content/themes/komatsu/common/img/bg-entry_sp.webp);
    padding-top: 8rem;
  }
}
section#entry div.section__inner .entry_ttl {
  color: #FFF;
  font-family: "CabinetGrotesk-Medium";
  font-size: 7.5rem;
  margin-bottom: 3rem;
  line-height: 0.4;
}
@media screen and (max-width: 767px) {
  section#entry div.section__inner .entry_ttl {
    font-size: 5rem;
    line-height: 0.5;
  }
}
section#entry div.section__inner .entry_ttl span.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  section#entry div.section__inner .entry_ttl span.txt {
    position: relative;
    top: -2rem;
  }
}
section#entry div.section__inner .entry_ttl span.txt::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: 0.3rem;
  left: -0.5rem;
}
section#entry div.section__inner .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 5rem;
  gap: 4rem 2.5rem;
  margin-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  section#entry div.section__inner .grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 0.8rem 0;
    margin-bottom: 11rem;
  }
}
section#entry div.section__inner .grid .btn {
  border: 0.1rem solid rgba(255, 255, 255, 0.3);
  padding: 2.7rem 3.3rem 3.3rem;
}
@media screen and (max-width: 767px) {
  section#entry div.section__inner .grid .btn {
    padding: 2.5rem 2.6rem 1.8rem;
  }
}
section#entry div.section__inner .grid .btn p {
  color: #FFF;
  position: relative;
}
section#entry div.section__inner .grid .btn p::after {
  content: "";
  background-color: #cb333b;
  width: 1.1rem;
  height: 0.1rem;
  position: absolute;
  right: 0;
  bottom: 1rem;
}
@media screen and (min-width: 768px) {
  section#entry div.section__inner .grid .btn:hover {
    background-color: #FFF;
    opacity: 1;
  }
  section#entry div.section__inner .grid .btn:hover p {
    color: #101946;
  }
}
section#entry .contact {
  background-color: rgba(16, 25, 70, 0.8);
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}
section#entry .contact__inner {
  max-width: 133rem;
  margin: 0 auto;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  section#entry .contact__inner {
    padding: 0rem 1.5rem;
  }
}
@media screen and (max-width: 1200px) {
  section#entry .contact__inner {
    padding: 0rem 1.5rem;
  }
}
section#entry .contact__inner a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 11rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  section#entry .contact__inner a {
    flex-wrap: wrap;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
section#entry .contact__inner h2 {
  color: #FFF;
  font-family: "CabinetGrotesk-Medium";
  font-size: 5.5rem;
  margin-bottom: 3rem;
  line-height: 0.4;
}
@media screen and (max-width: 767px) {
  section#entry .contact__inner h2 {
    font-size: 4.8rem;
    line-height: 0.5;
  }
}
section#entry .contact__inner h2 span.txt {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  section#entry .contact__inner h2 span.txt {
    position: relative;
    top: -1rem;
  }
}
section#entry .contact__inner h2 span.txt::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: 0.3rem;
  left: -0.5rem;
}
section#entry .contact__inner p {
  color: #FFF;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  section#entry .contact__inner p {
    font-size: 1.3rem;
  }
}

footer {
  background-color: #000;
  color: #FFF;
  position: relative;
  z-index: 1;
  margin-top: -0.1rem;
}
@media screen and (max-width: 1200px) {
  footer {
    padding: 0 14rem;
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding: 0 1.5rem;
  }
}
footer div.footer__inner {
  max-width: 126rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner {
    padding: 0 1.5rem;
  }
}
footer div.footer__inner div.footer_top {
  margin-top: 15rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top {
    margin-top: 10rem;
    flex-direction: column;
    align-items: center;
  }
}
footer div.footer__inner div.footer_top .img {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 29rem;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .img {
    width: 20rem;
    margin: 0 auto;
  }
}
footer div.footer__inner div.footer_top .img img {
  max-width: 29rem;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .img img {
    width: 20rem;
    height: 5.5rem;
  }
}
footer div.footer__inner div.footer_top .img p {
  font-family: "CabinetGrotesk-Regular";
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .img p {
    font-size: 1.6rem;
    text-align: center;
    position: relative;
    top: -1.5rem;
  }
}
footer div.footer__inner div.footer_top .contact {
  border: 0.1rem solid #FFF;
  border-radius: 0.5rem;
  padding: 1.7rem 2.5rem;
  display: flex;
  align-items: center;
  width: 28.7rem;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .contact {
    padding: 2.7rem 1.6rem;
    margin: 0 auto;
  }
}
footer div.footer__inner div.footer_top .contact .en {
  font-size: 2.3rem;
  margin-right: 1.2rem;
  position: relative;
  font-family: "CabinetGrotesk-Regular";
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .contact .en {
    font-size: 2rem;
    margin-left: 1rem;
  }
}
footer div.footer__inner div.footer_top .contact .en::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  bottom: 0.6rem;
  left: -0.5rem;
}
footer div.footer__inner div.footer_top .contact p {
  font-size: 1.2rem;
}
footer div.footer__inner div.footer_top .info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 4.5rem;
}
footer div.footer__inner div.footer_top .list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 10rem;
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .list {
    gap: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    margin-bottom: 4.6rem;
    margin-top: 5.5rem;
    margin-left: 0;
  }
}
footer div.footer__inner div.footer_top .list ul {
  min-width: 18rem;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .list ul {
    min-width: 16rem;
  }
}
footer div.footer__inner div.footer_top .list ul li {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .list ul li {
    font-size: 1.3rem;
  }
}
footer div.footer__inner div.footer_top .list ul li::before {
  content: "";
  background-color: #cb333b;
  background-repeat: no-repeat;
  width: 0.5rem;
  height: 0.2rem;
  display: inline-block;
  position: relative;
  bottom: 0.5rem;
  left: -0.5rem;
}
footer div.footer__inner div.footer_top .list ul li:last-child {
  margin-bottom: 0;
}
footer div.footer__inner div.footer_top .list ul .small {
  font-size: 1.4rem;
  font-weight: normal;
  margin-bottom: 0.7rem;
  margin-left: 0.5rem;
}
footer div.footer__inner div.footer_top .list ul .small::before {
  content: none;
}
footer div.footer__inner div.footer_top .list ul .small:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .list ul .small {
    font-size: 1.225rem;
  }
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_top .list ul:last-child {
    margin-top: 2rem;
    position: relative;
    right: auto;
  }
}
footer div.footer__inner div.footer_bottom {
  color: #FFF;
  font-size: 1.1rem;
  font-weight: normal;
  padding: 2rem 0;
  padding-top: 15.5rem;
}
@media screen and (max-width: 767px) {
  footer div.footer__inner div.footer_bottom {
    padding-top: 7.5rem;
  }
}
footer div.footer__inner div.footer_bottom div.flex {
  width: fit-content;
  margin: 0 auto;
  gap: 0.4rem;
}