@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;500;700&display=swap");
@import url("https://use.typekit.net/vxt0gvy.css");
@import url("https://fonts.googleapis.com/css2?family=Sansation:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/*
Theme Name: 株式会社SAMRISE
Theme URI: null
Description: Description
Author: 81bridge - SGX
Version: 1.0
*/

.aligncenter {
  display: block;
  margin: 0 auto;
}
.alignright {
  float: right;
}
.alignleft {
  float: left;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;

  max-width: 100%;
}
.wp-block-image figure,
.wp-block-image figcaption {
  display: block;
}
a.nolink,
a.nolink:hover {
  opacity: 1;
  cursor: default;
  pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
div,
td {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1em;
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body,
table,
input,
textarea,
select,
option {
  font-family: "Noto Sans JP", sans-serif;
}
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
  display: block;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
a,
a:link {
  color: #2d2d2d;
  text-decoration: none;
  transition: 0.3s;
  -webkit-transition: 0.3s;
}
a:visited {
  color: #2d2d2d;
}
a:hover {
  color: #2d2d2d;
}
a:active {
  color: #2d2d2d;
}
section {
  padding: 100px 20px;

  @media (max-width: 798px) {
    padding: 60px 16px;
  }
}
:root {
  --color-main: #c90000;
  --color-sub: #8b0000;
  --color-bk: #f2f2f2;
  --font-en: "Sansation", sans-serif;
  --font-min: serif;
}
h2,
h3 {
  font-family: var(--font-min);
}
h2 {
  font-size: clamp(2.6rem, 2.6rem + 1vw, 4rem);
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
/* flex */
.flex,
.flexA,
.flexB,
.flexC {
  display: flex;
  flex-wrap: wrap;
}
.flexA {
  justify-content: space-around;
}
.flexB {
  justify-content: space-between;
}
.flexC {
  justify-content: center;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
  color: #2d2d2d;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  background-color: #fff;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
#container {
  /* padding-top: 83px; */
  overflow: hidden;
  text-align: left;
}
.special #container {
  padding: 0;
}
#main {
  display: block;
  background-color: var(--color-bk);
}
a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}
@media all and (min-width: 897px) {
  .sp {
    display: none !important;
  }
}
@media all and (max-width: 896px) {
  body {
    min-width: inherit;
  }
  a:hover,
  a:hover img {
    opacity: 1 !important;
  }
  .pc {
    display: none !important;
  }
  a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto;
  }
  #container {
    padding-top: 60px;
  }
}

/*------------------------------------------------------------
 gsap　スクロールアニメーション
------------------------------------------------------------*/
.svg-section {
  position: relative;
  overflow: hidden;
}

.svg-bg {
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  position: absolute; /* ← ページ全体に固定 */
  inset: 0;
  z-index: 0;
}

#bg-svg {
  width: 100%;
  height: 200%;
}

.svg-content {
  position: relative;
  z-index: 2;
  height: 80%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
/* gsap　スクロールアニメーション終わり */

/*------------------------------------------------------------
  ボタンデザイン
------------------------------------------------------------*/
.mainBtn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  display: inline-block;
  padding: 15px 40px;
  width: 200px;
  cursor: pointer;
  user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  position: relative;
  border-radius: 0;
  transition: all 0.33s ease-in-out;

  &::before,
  &::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background: #2d2d2d;
    transition: all 0.3s;
  }
  &::before {
    top: 0;
    left: 0;
  }
  &::after {
    bottom: 0;
    right: 0;
  }
  .arrow {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    z-index: 2;
    background-size: 16px;
  }

  &:hover {
    background-color: var(--color-main);
    color: #fff;
    &::before,
    &::after {
      width: 0;
    }
    .arrow {
      background: url("img/common/icon02_on.png") no-repeat right center;
      background-size: 17px auto;
    }
  }
}

/*------------------------------------------------------------
  ヘッダー
------------------------------------------------------------*/

header {
}

#gHeader {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1000;
  box-sizing: border-box;

  h1 {
    .logo {
      width: 240px;
    }
  }

  .rBox {
    display: flex;
    margin-right: 20px;
  }

  .naviUl {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;

    > li {
      z-index: 1;
      position: relative;

      > a,
      > p {
        font-size: 2rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        font-family: "Barlow Semi Condensed", sans-serif;
        font-weight: 500;
        text-shadow:
          0 0 6px rgb(139 139 139 / 0.2),
          0 0 6px rgb(139 139 139 / 0.2);
      }

      &.on > a:after {
        opacity: 0.7;
      }
    }

    .jsBox {
      display: none;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      box-sizing: border-box;
      width: 110px;
      .subUl {
        border-radius: 0 0 30px 30px;
        padding: 5px;
        background: rgba(255, 255, 255, 0.9);
        box-shadow: 0 6px 10px rgb(139 139 139 / 0.1);

        li {
          margin: 6px 0;
          border: none;

          a {
            display: block;
            font-size: 1.2rem;
            letter-spacing: 0.06em;
            text-align: center;

            &:hover {
              opacity: 0.7;
            }
          }
        }
      }
    }
  }

  .menuout {
    position: relative;
    display: flex;
    align-items: center;
    margin-left: 30px;

    .outtxt {
      font-size: 2rem;
      font-family: "all-round-gothic", sans-serif;
      font-weight: 400;
      font-style: normal;
    }
  }

  .menu {
    float: right;

    width: 52px;
    height: 52px;
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 39px;
    position: relative;
    background-color: #2d2d2d;
    border: 2px solid #2d2d2d;
    box-sizing: border-box;

    span {
      transition: all 0.4s;
      box-sizing: border-box;
      position: absolute;
      left: calc(50% - 10px);
      width: 20px;
      height: 1px;
      border-radius: 2px;
      background-color: #fff;

      &:nth-of-type(1) {
        top: 18px;
      }
      &:nth-of-type(2) {
        top: 28px;
      }
    }

    &.on {
      span {
        top: 25px !important;
        opacity: 0;

        &:nth-of-type(1) {
          transform: rotate(45deg);
          opacity: 1;
        }
        &:nth-of-type(2) {
          transform: rotate(-45deg);
          opacity: 1;
        }
      }
    }
  }

  &.scrolled {
    .naviUl > li > a {
      color: #2d2d2d; /* 黒に変更 */
      text-shadow: none;
    }
  }
}

.special01 {
  #gHeader {
    background: none;

    &.on {
      background: rgb(255 255 255 / 0.8);
      background: #fff;
    }
  }
}

/*------------------------------------------------------------
  メディアクエリまとめ
------------------------------------------------------------*/
/* 例 */
@media screen and (max-width: 768px) {
  #gHeader h1 {
    font-size: 1.6rem;
  }

  #gHeader .naviUl > li > a,
  #gHeader .naviUl > li > p {
    font-size: 1.6rem;
  }

  #gHeader .menuout .outtxt {
    font-size: 1.6rem;
  }
}

.menuBox {
  display: none;
  position: fixed;
  right: 0;
  top: 74px;
  width: 100%;
  background: rgb(139 139 139 / 0.9);
  z-index: 1000;
  overflow-y: auto;
  box-sizing: border-box;
  border-radius: 0 0 50px 50px;

  .naviUl {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
    padding: 20px 50px 50px 60px;
    box-sizing: border-box;

    li {
      width: 45%;

      a,
      p {
        width: 100%;
        padding: 16px 30px 10px 0;
        position: relative;
        font-size: 2rem;
        font-family: "Barlow Semi Condensed", sans-serif;
        font-weight: 500;
        display: block;
        color: #fff;
        letter-spacing: 0.06em;
      }
    }

    > li:first-child > a {
      border-top: none;
    }

    .subUl2 {
      margin: 0 4px 20px 16px;

      li {
        margin-bottom: 12px;
        width: 94%;

        a {
          font-size: 1.3rem;
          font-weight: 500;
          letter-spacing: 0.06em;
          vertical-align: middle;
          border-bottom: 1px solid #fff;
          position: relative;

          &:before {
            position: absolute;
            right: 0;
            top: 50%;
            margin-top: -5px;
            width: 21px;
            height: 11px;
            background: url("img/common/icon05_02.png") no-repeat left top;
            background-size: 21px 11px;
            content: "";
            transition: 0.3s;
            -webkit-transition: 0.3s;
          }
        }
      }
    }

    .blank a:before {
      margin-top: -8px;
      width: 17px;
      height: 17px;
      background: url("img/common/icon13.png") no-repeat left top;
      background-size: 17px 17px;
      content: "";
    }
  }
}

@media all and (min-width: 897px) {
  #gHeader {
    &.on {
      h1 {
        transition: 0.3s;
        -webkit-transition: 0.3s;

        img {
          width: 200px;
          transition: 0.3s;
          -webkit-transition: 0.3s;
        }
      }

      .rBox {
        transition: 0.3s;
        -webkit-transition: 0.3s;
        border: 1px solid #333;
        padding: 5px 20px;
        border-radius: 20px;
        backdrop-filter: blur(20px);
        background: #ffffff36;

        .btn {
          margin-right: 16px;
          transition: 0.3s;
          -webkit-transition: 0.3s;

          a {
            width: 215px;
            height: 52px;
            transition: 0.3s;
            -webkit-transition: 0.3s;
          }
        }
      }

      .menu {
        width: 40px;
        height: 40px;
        transition: 0.3s;
        -webkit-transition: 0.3s;

        span {
          width: 18px;
          left: calc(50% - 10px);
          transition: 0.3s;
          -webkit-transition: 0.3s;

          &:nth-of-type(1) {
            top: 15px;
          }
          &:nth-of-type(2) {
            top: 23px;
          }
        }

        &.on span {
          top: 19px !important;
        }
      }
    }

    .menu:hover {
      opacity: 0.7;
    }
  }

  .menuBox {
    .naviUl li a:hover:before {
      right: -15px;
    }
  }
}

@media all and (max-width: 896px) {
  #gHeader {
    padding: 5px 0;
    h1 {
      .logo {
        width: 180px;
      }
    }

    .rBox {
      .naviUl {
        display: none;
      }

      .btn {
        margin-right: 15px;

        a {
          height: 35px;
          width: 96px;
          font-size: 1.2rem;
          letter-spacing: 0.03em;
        }
        .img {
          margin: 7px 6px 0 0;
        }
      }
    }

    .menuout {
      .outtxt {
        display: none;
      }
      &::before {
        display: none;
      }
    }

    .menu {
      width: 35px;
      height: 35px;
      display: flex;
      align-items: center;
      justify-content: center;

      span {
        left: calc(50% - 8px);
        width: 16px;
        height: 1px;

        &:nth-of-type(1) {
          top: 12px;
        }
        &:nth-of-type(2) {
          top: 18px;
        }
        &:nth-of-type(3) {
          top: 21px;
        }
      }

      &.on span {
        top: 15px !important;
      }
    }
  }

  body.fixed #gHeader .rBox .btn {
    display: none;
  }

  .menuBox {
    right: 0;
    top: 60px;
    width: 100%;
    height: calc(100% - 60px);

    .naviUl {
      padding: 0 27px 50px;
    }
  }
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
  max-width: 1150px;
  padding: 0 20px;
  margin: 0 auto 16px;
}
#pagePath li {
  margin-right: 0;
  display: inline;
  letter-spacing: 0.08em;
}
#pagePath li a {
  font-size: 1.4rem;
  padding-right: 24px;
  display: inline-block;
  /* background: url("img/common/icon04.png") no-repeat right center;
	background-size: 9px auto; */
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
#pagePath li a::after {
  position: absolute;
  display: block;
  content: "";
  height: 14px;
  width: 2px;
  top: 5px;
  left: 76px;
  background: #777;
}
#pagePath li:nth-child(1) a {
  color: #999;
}
#pagePath li:nth-child(2) a {
  background: none;
}
/* #pagePath li img {
    margin: -3px 0 0;
    display: inline-block;
    vertical-align: middle;
} */
#pagePath li a:hover {
  opacity: 0.7;
}
@media all and (max-width: 896px) {
  #pagePath {
    max-width: inherit;
    /* margin: 0 auto 42px; */
    padding: 0 24px;
  }
  #pagePath li {
    margin-right: 9px;
  }
  #pagePath li a {
    padding-right: 26px;
    /* background: url("img/common/sp_icon03.png") no-repeat right center;
        background-size: 8px auto;  */
  }
  /* #pagePath li img {
        margin: -3px 0 0;
    } */
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
  /* padding: 90px 0 0; */
  padding: 90px 100px 20px;
  background: linear-gradient(#ebebeb 30%, #fff 60%);
}
#gFooter .fLogo {
  text-align: center;
  /* margin: 0 auto 60px; */
  max-height: 200px;
  display: block;
  width: 300px;
}

.fInner {
  /* display: flex; */
  flex-wrap: wrap;
  /* justify-content: space-evenly; */
  max-width: 1340px;
  margin: 0 auto;
  /* padding: 0 20px; */
}
.fInner .rBox {
  /* flex: 1; */
  padding: 10px 24px;
  /* display: flex; */
  flex-wrap: wrap;
  justify-content: flex-end;
}
.fInner .rBox a {
  /* color: #2d2d2d; */
}
.fInner .rBox a[target="_blank"] {
  padding-right: 22px;
  background: url("img/common/icon15.png") no-repeat right center;
  background-size: 17px auto;
}
/* .fInner .rBox a:hover {
    opacity: 0.7;
} */
.fInner .naviUl {
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* margin-right: -40px; */
}
.fInner .naviUl > li {
  /* width: 307px; */
  /* width: 210px; */
  /* margin-left: 45px; */
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.fInner .naviUl > li p {
  font-size: 2rem;
  letter-spacing: 0.06em;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
.fInner .naviUl > li .subUl {
  margin: 5px 0 38px 5px;
}
.fInner .naviUl > li .subUl:last-child {
  margin-bottom: 0;
}
.fInner .naviUl > li .subUl li {
  margin-bottom: 3px;
  /* padding-left: 20px; */
  font-size: 1.4rem;
  position: relative;
  letter-spacing: 0.06em;
}
.fInner .naviUl > li .subUl li:after {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2d2d2d;
  position: absolute;
  top: 23%;
  /* right: 2px; */
  content: "";
  margin-left: 10px;
}

#gFooter .bottom_Box {
  font-size: 20rem;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  line-height: 1;
  margin-bottom: -2.3%;
}

#gFooter address {
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  font-style: normal;
  text-align: left !important;
  color: #2d2d2d;
  padding: 20px 24px;
  /* display: block; */
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
#gFooter address .sp_address {
  display: none;
}

.pageTop {
  position: fixed;
  right: 46px;
  bottom: 25px;
  z-index: 600;
  text-align: center;
  background-color: var(--color-sub);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;

  transition: all 0.3s ease;
  font-weight: 800;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  a {
    line-height: 1.4;
    color: #fff;
  }
}
.pageTop:hover {
  opacity: 0.7;
}
/* 回転アニメーションの定義 */
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* imgタグにアニメーションを適用 */
.pageTop img {
  animation: rotate 15s linear infinite;
}

@media all and (max-width: 1510px) {
  #gFooter .bottom_Box {
    font-size: 19rem;
  }
}
@media all and (max-width: 1435px) {
  #gFooter .bottom_Box {
    font-size: 18rem;
  }
}
@media all and (max-width: 1359px) {
  #gFooter .bottom_Box {
    font-size: 17rem;
  }
}
@media all and (max-width: 1283px) {
  #gFooter .bottom_Box {
    font-size: 16rem;
  }
}
@media all and (max-width: 1208px) {
  #gFooter .bottom_Box {
    font-size: 15rem;
  }
}
@media all and (max-width: 1132px) {
  #gFooter .bottom_Box {
    font-size: 14rem;
  }
}
@media all and (max-width: 1057px) {
  #gFooter .bottom_Box {
    font-size: 13rem;
  }
}
@media all and (max-width: 981px) {
  #gFooter .bottom_Box {
    font-size: 12rem;
  }
}
@media all and (max-width: 906px) {
  #gFooter .bottom_Box {
    font-size: 11rem;
  }
}
@media all and (max-width: 830px) {
  #gFooter .bottom_Box {
    font-size: 10rem;
  }
}
@media all and (max-width: 755px) {
  #gFooter .bottom_Box {
    font-size: 9rem;
  }
}
@media all and (max-width: 679px) {
  #gFooter .bottom_Box {
    font-size: 8rem;
  }
}
@media all and (max-width: 604px) {
  #gFooter .bottom_Box {
    font-size: 7rem;
  }
}
@media all and (max-width: 528px) {
  #gFooter .bottom_Box {
    font-size: 6rem;
  }
}
@media all and (max-width: 453px) {
  #gFooter .bottom_Box {
    font-size: 5rem;
  }
}
@media all and (max-width: 377px) {
  #gFooter .bottom_Box {
    font-size: 4rem;
  }
}

@media all and (max-width: 1420px) {
  #gFooter address {
    display: block;
  }
  #gFooter address span {
    display: block;
    margin-bottom: -10px;
  }
  #gFooter address .sp_address {
    display: block;
  }
}

@media all and (max-width: 896px) {
  #gFooter {
    padding: 0;
    border-top: 1px solid #efeded;
  }
  .special #gFooter {
    border-top: none;
  }

  .fInner {
    max-width: inherit;
    display: block;
    /* padding: 50px 24px 25px; */
    padding: 22px 24px;
    /* margin-top: 150px; */
  }
  .fLogo {
    /* margin-bottom: 37px; */
    width: 200px;
    margin: 20px auto 30px !important;
  }
  .fInner .rBox {
    padding: 0;
    display: block;
  }
  .fInner .naviUl {
    /* display: block; */
    margin: 0;
  }
  .fInner .naviUl > li {
    width: 50%;
    margin: 0 0 44px;
  }
  .fInner .naviUl > li .subUl {
    margin-left: 0;
  }
  .fInner .naviUl > li p {
    font-size: 3rem;
    margin-bottom: 11px;
  }
  .fInner .naviUl > li .subUl li {
    margin-bottom: 10px;
    /* padding-left: 31px; */
  }
  .fInner .naviUl > li .subUl li::after {
    top: 23%;
    /* left: 5px; */
  }

  #gFooter address {
    font-size: 1.2rem;
    text-align: center;
  }
  .pageTop {
    display: none;
  }
}

@media all and (max-width: 640px) {
  .fInner .naviUl {
    display: block;
  }
  .fInner .naviUl > li {
    width: auto;
  }
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
  position: relative;
}
@media all and (max-width: 796px) {
  .content {
    padding: 0;
  }
}

/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
  margin-bottom: 26px;
  padding: 93px 0 63px;
  text-align: center;
  /* border-bottom: 1px solid #D1CFCF; */
  background: #fff;
  box-shadow: 0 6px 10px rgb(139 139 139 / 0.1);
}
.pageTitle .headLine01 .en {
  margin-bottom: 8px;
  display: block;
  font-size: 4.6rem;
  letter-spacing: 0.06em;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.pageTitle .headLine01 .jp {
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media all and (max-width: 896px) {
  .pageTitle {
    margin-bottom: 13px;
    padding: 18px 0 30px;
  }
  .pageTitle .headLine01 .en {
    margin-bottom: 2px;
    font-size: 3rem;
  }
  .pageTitle .headLine01 .jp {
    font-size: 1.6rem;
  }
}
/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(60px);
  transform: translateY(60px);
  transition:
    transform 1s,
    opacity 1s;
}
.fadeInUp.on {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
/*------------------------------------------------------------
	comVisual
------------------------------------------------------------*/

.comVisual {
  background: url("img/common/com_kv.jpg") no-repeat center center;
}
.comVisual .headLine05 {
  font-size: clamp(4.6rem, 5vw, 8rem);
  letter-spacing: 1px;
  font-family: var(--font-en);
  font-weight: 500;
  text-shadow: 0 0 6px rgb(139 139 139 / 0.9);

  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  line-height: 1;
}
/* テキスト1文字ずつ登場する アニメーション */
.comVisual .headLine05 .move {
  display: block;
  transform: translateY(105%);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.comVisual .headLine05.-visible .move {
  transform: translateY(0);
}

.comVisualInner_r p {
  margin-bottom: 60px;
  font-size: 3.2rem;
  text-shadow: 0 0 6px rgb(139 139 139 / 0.9);
}

.comVisual {
  margin-bottom: 25px;
  color: #fff;
  height: 350px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("img/common/com_kv.jpg") no-repeat center center;
  background-size: cover;
  padding: 0 20px;
  position: relative;

  &::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    background-image: linear-gradient(
      45deg,
      #c90000 0,
      #c90000 30%,
      #2d2d2d65 30%,
      #2d2d2d65 100%
    );
  }
  &::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 40%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    clip-path: polygon(100% 0, 0 0, 0 100%);
  }
}

@media all and (max-width: 896px) {
  .comVisual {
    margin-bottom: 13px;
    height: 180px;
    background: url("img/common/com_kv.jpg") no-repeat center center;
    background-size: cover;
  }
  .comVisualInner_r p {
    margin-bottom: 30px;
    font-size: 1.8rem;
  }
}

@media all and (max-width: 390px) {
  .comVisual {
    padding: 0 8px;
  }
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
  margin-bottom: 75px;
  padding-bottom: 40px;
  position: relative;
  font-size: 6.2rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.headLine02:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 35px;
  height: 1px;
  background: #2d2d2d;
  content: "";
}
@media all and (max-width: 896px) {
  .headLine02 {
    margin-bottom: 50px;
    padding-bottom: 23px;
    font-size: 2.4rem;
    text-align: center;
  }
  .headLine02:before {
    /* margin-left: -16px; */
    left: 50%;
    bottom: 0;
    width: 32px;
  }
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
  margin-bottom: 20px;
  padding-bottom: 26px;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #d1cfcf;
}
@media all and (max-width: 896px) {
  .headLine03 {
    margin-bottom: 10px;
    padding-bottom: 13px;
    font-size: 1.6rem;
  }
}
/*------------------------------------------------------------
	comTtlBox
------------------------------------------------------------*/

.headLine04 {
  margin-bottom: 49px;
  padding-bottom: 35px;
  color: #ff8300;
  font-size: 6.4rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
.headLine04 .jp {
  display: block;
  font-size: 2.4rem;
  color: #2d2d2d;
}
.comTtlBox .title {
  color: #211b1b;
  line-height: 1.85;
  text-align: center;
  letter-spacing: 0.06em;
}
@media all and (max-width: 896px) {
  .comTtlBox {
    display: block;
    margin-bottom: 44px;
  }
  .headLine04 {
    margin-bottom: 16px;
    font-size: 4.5rem;
  }
  .comTtlBox .title {
    width: 100%;
    padding: 22px 0 0 0;
    font-size: 1.4rem;
    line-height: 2.2;
    text-align: left;
  }
}
/*------------------------------------------------------------
	headLine06
------------------------------------------------------------*/
.headLine06 {
  position: relative;
  margin-bottom: 50px;
  padding: 32px 0;
  font-size: 6.4rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
  text-align: center;
  /* background-size: auto 3px; */
  border-top: 1px solid #2d2d2d;
  border-bottom: 1px solid #2d2d2d;
}
.subttl {
  display: block;
  width: 370px;
  font-size: 2.4rem;
  text-align: center;
  color: #fff;
  margin: 0 auto -16px;
  position: relative;
  z-index: 10;
}

@media all and (max-width: 896px) {
  .headLine06 {
    padding: 20px 0;
    margin-bottom: 44px;
    font-size: 3.2rem;
  }

  .subttl {
    width: 70%;
    min-width: 280px;
    font-size: 1.6rem;
    margin: 0 auto -13px;
  }
}
/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
  margin-bottom: 40px;
  color: #2d2d2d;
  font-size: 3.2rem;
  margin-bottom: 30px;
  padding: 0 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  width: 90%;
  position: relative;
  &::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    display: block;
    height: 4px;
    bottom: -10px;
    background: linear-gradient(to right, #c90000, transparent);
  }
}
@media all and (max-width: 896px) {
  .headLine07 {
    margin-bottom: 20px;
    font-size: 2.4rem;
  }
}
/*------------------------------------------------------------
	headLine08
------------------------------------------------------------*/
.headLine08 {
  color: #2d2d2d;
  font-size: 6rem;
  border-bottom: none;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: right;
}
.headLine08 span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: -10px;
}
@media all and (max-width: 896px) {
  .headLine08 {
    font-size: 3.2rem;
  }
  .headLine08 span {
    display: block;
    font-size: 1.4rem;
    margin-bottom: -10px;
  }
}
.english {
  font-weight: 800;
  color: #2d2d2d17;
  font-size: clamp(8rem, 13vw, 25rem);
  line-height: 1;
  font-family: var(--font-en);
  position: absolute;
  top: -19%;
  left: 0%;
  z-index: 0;
  span {
    display: inline-block;
    opacity: 0;
    transform: translateY(80px);
  }

  &.on span {
    animation: fadeUp 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }
  @media (max-width: 796px) {
    font-size: clamp(4rem, 15vw, 13rem);
    top: -5%;
  }
}
.boder_titleBox {
  position: relative;
  .borderText {
    position: absolute;
    left: 0%;
    bottom: 10%;
    font-size: clamp(5rem, 7vw, 13rem);
    -webkit-text-stroke: 2px #1313131e;
    text-stroke: 2px #1313131e;
    paint-order: stroke;
    color: transparent;
    font-family: sans-serif;
    line-height: 1;
  }
}
.bigred {
  font-size: clamp(3rem, 5vw, 6rem);
  color: var(--color-main);
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(80px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*------------------------------------------------------------
	comCompany
------------------------------------------------------------*/
.comCompany {
  padding: 150px 0 140px;
  position: relative;
}
/* .comCompany:before {
    position: absolute;
    left: 0;
    top: -40px;
    width: 520px;
    height: 340px;
    background: url("img/common/com_bg.png") repeat left top;
    background-size: 1363px auto;
    content: "";
    z-index: -2;
} */
/* .comCompany:after {
    position: absolute;
    right: 0;
    bottom: -80px;
    width: 482px;
    height: 220px;
    background: url("img/common/com_bg.png") repeat left top;
    background-size: 1363px auto;
    content: "";
    z-index: -2;
} */
.comCompany .headLine04 {
  margin-bottom: 120px;
  text-align: center;
}
.comCompany .textBox {
  position: relative;
  width: 46%;
  float: left;
  color: #211b1b;
  box-sizing: border-box;
}
.comCompany .textBox table {
  width: 100%;
  border-collapse: collapse;
}
.comCompany .textBox th,
.comCompany .textBox td {
  padding: 23px 0;
  text-align: left;
  vertical-align: middle;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #dbdbdb;
}
.comCompany .textBox th {
  width: 35%;
  font-weight: 500;
}
.comCompany .mapBox {
  width: 48%;
  position: relative;
  float: right;
}
/* .comCompany .mapBox:before {
    position: absolute;
    right: -70px;
    top: -66px;
    background: url("img/common/icon16.png") no-repeat left top;
    background-size: auto;
    background-size: 61px auto;
    width: 61px;
    height: 61px;
    content: "";   
} */
.comCompany .mapBox iframe {
  height: 422px;
  width: 100%;
  vertical-align: top;
  background: #2d2d2d;
}
@media all and (min-width: 897px) and (max-width: 1200px) {
  .comCompany .mapBox::before {
    right: 0;
  }
}
@media all and (max-width: 896px) {
  .comCompany {
    padding: 46px 0 72px;
  }
  .comCompany:before {
    display: none;
  }
  .comCompany:after {
    display: none;
  }
  .comCompany .headLine04 {
    margin-bottom: 22px;
    width: 100%;
  }
  .comCompany .textBox {
    padding: 0;
    position: relative;
    width: 100%;
    float: none;
  }
  .comCompany .textBox th,
  .comCompany .textBox td {
    float: left;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 16px;
    letter-spacing: 0.06em;
  }
  .comCompany .textBox th {
    padding: 18px 0 7px;
    width: 100%;
    border-bottom: none;
  }
  .comCompany .mapBox {
    margin: 72px -24px 0;
    width: auto;
    float: none;
  }
  .comCompany .mapBox::before {
    right: 28px;
    top: -60px;
    width: 77px;
    height: 40px;
    background: url("img/common/sp_icon08.png") no-repeat left top;
    background-size: 77px auto;
  }
  .comCompany .mapBox iframe {
    height: 238px;
  }
}
/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.comBox {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 858px !important;
  background: url("img/common/com_box_bg.jpg") no-repeat center center;
  background-size: cover;
  margin-bottom: -206px;
}

.comBox .textBox {
  display: block;
  max-width: 1340px;
}

.comBox .textBox .recruitMain {
  font-size: 12rem;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #8fc31f;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #fff;
  margin-bottom: 40px;
}
.comBox .textBox .recruitMain span {
  display: block;
  line-height: 1.2;
}

.comBox .textBox .headLine04 {
  display: block;
  text-align: center;
  margin-bottom: 0;
  padding-bottom: 0;
}
.comBox .textBox .headLine04 span {
  margin-bottom: -25px;
}
.comBox .textBox .headLine04 a {
  color: #2d2d2d;
}

@media all and (max-width: 896px) {
  .comBox {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 580px !important;
    background: url("img/common/sp_com_box_bg.jpg") no-repeat center center;
    background-size: cover;
    padding-bottom: 50px;
    margin-bottom: -50px;
  }
}
@media all and (max-width: 480px) {
  .comBox {
    height: 400px !important;
    padding-bottom: 30px;
  }
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink a {
  display: block;
  width: 560px;
  color: #fff;
  position: relative;
  font-size: 2.4rem;
  font-weight: 500;
  border: 1px solid #fff;
  border-radius: 50px;
  letter-spacing: 0.06em;
}
.comLink .info {
  position: relative;
  z-index: 2;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.comLink .info:before {
  margin-top: -5px;
  position: absolute;
  right: 17px;
  top: 50%;
  background: url("img/common/icon05_02.png") no-repeat left top;
  background-size: 21px auto;
  width: 21px;
  height: 11px;
  content: "";
  transition: 0.3s;
  -webkit-transition: 0.3s;
}
@media all and (min-width: 897px) {
  .comLink a:before {
    content: " ";
    position: absolute;
    top: 0;
    height: 100%;
    width: 0;
    left: auto;
    right: 0;
    background-color: #fff;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -ms-transition-duration: 0.5s;
    -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-duration: 0.5s;
    -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    -moz-transition-duration: 0.5s;
    -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    overflow: hidden;
    border-radius: 50px;
  }
  .comLink a:hover {
    color: #211b1b;
  }
  .comLink a:hover:before {
    width: 100%;
    right: auto;
    left: 0;
  }
  .comLink a:hover .info:before {
    right: -21px;
  }
}
@media all and (max-width: 896px) {
  .comLink a {
    width: 328px;
    font-size: 1.6rem;
  }
  .comLink .info {
    height: 60px;
  }
  .comLink .info:before {
    margin-top: -10px;
    right: 17px;
    background: url("img/common/sp_icon12.png") no-repeat left top;
    background-size: 20px auto;
    width: 20px;
    height: 19px;
  }
}
@media all and (max-width: 374px) {
  .comLink a {
    width: 290px;
  }
}

/*------------------------------------------------------------
	comWhiteBg
------------------------------------------------------------*/
.comWhiteBg {
  margin: 0 auto 60px;
  padding: 91px 0 100px;
  max-width: 1100px;
  background: #fff;
}
.comWhiteBg01 {
  max-width: 1305px;
}
@media all and (max-width: 896px) {
  .comWhiteBg {
    margin: 0 19px 23px;
    padding: 29px 5px 35px;
    max-width: inherit !important;
  }
}
/*------------------------------------------------------------
	comMore
------------------------------------------------------------*/

.comMore a {
  width: 300px;
  position: relative;
  display: flex;
  height: 58px;
  color: #2d2d2d;
  justify-content: flex-start;
  padding-left: 40px;
  align-items: center;
  letter-spacing: 0.08em;
  /* border-radius: 80px; */
  overflow: hidden;
  border: 1px solid #00478f;
  font-size: 1.8rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
.comMore a:before {
  margin-top: -8px;
  position: absolute;
  right: 18.5px;
  top: 45%;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #00478f;
  content: "";
  transition: 0.3s;
  -webkit-transition: 0.3s;
  z-index: 2;
}
.comMore a:after {
  content: " ";
  position: absolute;
  top: 0;
  height: 100%;
  width: 0;
  left: auto;
  right: 0;
  background-color: #00478f;
  /* border-radius: 80px; */
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.comMore .info {
  position: relative;
  z-index: 2;
}

@media all and (min-width: 897px) {
  .comMore a:hover {
    color: #fff;
  }
  .comMore a:hover:after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .comMore a:hover:before {
    right: 16px;
    background: url("img/common/icon02_on.png") no-repeat right center;
    background-size: 17px auto;
  }
}
@media all and (max-width: 896px) {
  .comMore {
    /* max-width: 240px; */
    display: flex;
    margin-bottom: 30px;
  }
  .comMore a {
    margin: 0 auto;
    height: 42px;
    border-width: 1px;
    width: auto;
    font-size: 1.4rem;
    padding-left: initial;
    padding: 0 40px 0 20px;
  }
  .comMore a:before {
    margin-top: -4px;
    width: 14px;
    height: 14px;
    background: #00478f;
    /* background: url("img/common/sp_icon07.png") no-repeat right center;
        background-size: 14px auto; */
  }
}
/*------------------------------------------------------------
	comBg01
------------------------------------------------------------*/
.comBg01 {
  padding: 120px 0;
  position: relative;
}
.comBg01 {
  background: url("img/service/service_01.png") repeat-y center center;
  background-size: contain;
}

.comBg02 {
  padding: 150px 0 60px;
}
.comBg02 {
  background: #fff;
  /* background: #e9e9e9; */
}

.comBg03 {
  padding: 130px 0;
}
.comBg03 {
  background: url("img/company/history_01.png") repeat-y center center;
  background-size: contain;
  /* background: #e9e9e9; */
}

.comBg04 {
  padding: 90px 0 40px;
}
.comBg04 {
  background:
    url("img/recruit/data_01.png") repeat-y center center,
    linear-gradient(#8ec29a 0%, #a9d6e1 70%);
  background-size: contain;
  background-blend-mode: color-burn;
}

.comBgBox {
  padding: 45px 0 0;
  /* padding: 180px 100px 20px; */
  background: linear-gradient(#8fc31f 10%, #fff 30%);
  border-radius: 50px 50px 0 0;
}

@media all and (max-width: 896px) {
  .comBg01 {
    padding: 30px 0;
  }

  .comBgBox {
    padding: 30px 19px 0;
  }
  .comBg04 {
    background: linear-gradient(#8ec29a 0%, #a9d6e1 70%);
    /* background-blend-mode: color-burn; */
    padding: 30px 0;
  }
}
/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox {
  margin-bottom: 96px;
  display: flex;
  justify-content: space-between;
}
.comImgBox:last-child {
  margin-bottom: 0;
}
.comImgBox .photoBox {
  width: 30%;
}
.comImgBox .photoBox .pho {
  display: block;
  position: relative;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
.comImgBox .photoBox .pho:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8px;
  background: #ea751f;
  content: "";
}
.comImgBox .photoBox .nameSpan {
  margin-top: 10px;
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.comImgBox .photoBox .nameSpan .small {
  margin-left: 30px;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 400;
}
.comImgBox .textBox {
  width: 70%;
}
.comImgBox .textBox .subBox + .subBox {
  margin-top: 30px;
}
.comImgBox .textBox .headLine08 {
  margin-bottom: 15px;
  padding: 0 0 20px 90px;
  font-size: 2rem;
}
.comImgBox .textBox p {
  padding: 0 0 0 90px;
  line-height: 2.35;
  letter-spacing: 0.06em;
  text-align: justify;
}
.comImgBox01 {
  align-content: flex-start;
  flex-direction: row-reverse;
}
.comImgBox01 .textBox .headLine08 {
  padding-left: 0;
}
.comImgBox01 .textBox p {
  padding: 0 100px 0 0;
}
@media all and (max-width: 896px) {
  .comImgBox {
    margin-bottom: 76px;
    display: block;
  }
  .comImgBox:last-child {
    margin-bottom: 0;
  }
  .comImgBox .photoBox {
    width: 100%;
  }
  .comImgBox .photoBox .pho {
    border-radius: 0;
  }
  .comImgBox .photoBox .pho img {
    width: 100%;
  }
  .comImgBox .photoBox .pho:before {
    display: none;
  }
  .comImgBox .photoBox .nameSpan {
    margin-top: 24px;
    font-size: 1.6rem;
  }
  .comImgBox .photoBox .nameSpan .small {
    margin-left: 25px;
    font-size: 1.4rem;
  }
  .comImgBox .textBox {
    padding-top: 20px;
    width: 100%;
  }
  .comImgBox .textBox .headLine08 {
    margin-bottom: 10px;
    padding: 0 0 15px 0px;
    font-size: 1.8rem;
  }
  .comImgBox .textBox p {
    padding: 0;
    line-height: 2.15;
  }
  .comImgBox01 .textBox .headLine08 {
    padding-left: 0;
  }
  .comImgBox01 .textBox p {
    padding: 0;
  }
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/

.indexPage {
  .mainVisual {
    display: flex;
    position: relative;
    width: 100%;
    height: 100vh;
    background-image: linear-gradient(180deg, #c90000, #f0e0e0);

    .mainimgBox {
      width: 50%;
      height: 100%;
      position: relative;

      mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0,0 H80 C100,10 100,40 80,50 C60,60 60,90 80,100 H0 Z' fill='white'/></svg>");
      mask-size: 100% 100%;
      mask-repeat: no-repeat;

      &::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: #2d2d2d85;
      }

      img {
        object-fit: cover;
        width: 100%;
        height: 100%;
      }

      /* ← Sライン本体 */
      .s-line {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
      }

      .s-line path {
        fill: none;
        stroke: #ffffff;
        stroke-width: 1;
        stroke-linecap: round;

        /* アニメーション準備 */
        stroke-dasharray: 300;
        stroke-dashoffset: 300;

        animation: drawLine 4s ease-out forwards;
        animation-delay: 1s;
      }
    }

    .topinner {
      width: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      padding-right: 10%;
      text-align: center;
      font-weight: 800;
      letter-spacing: 2.5px;
      color: #fff;  
      gap: 15px;

      h2,
      h3 {
        opacity: 0;
        transform: translateX(-40px);
      }

      h3 {
        font-size: clamp(1.8rem, 3vw, 4rem);
        text-shadow: 3px 3px 7px #2d2d2d;
        animation: fadeSlide 1s ease-out 0.3s forwards;
        white-space: nowrap;
      }
      h2 {
        font-size: clamp(3.4rem, 5vw, 9rem);
        text-shadow: 5px 4px 3px #2d2d2d;
        animation: fadeSlide 1s ease-out 0.9s forwards;
        line-height: 1;
      }
    }
  }

  @media (max-width: 796px) {
    .mainVisual {
      height: 70vh;

        .topinner {
          width: 65%;
          padding-right: 5%;
          align-items: flex-start;
          gap: 10px;
        }
    }
  }

  /* about */
  .aboutSec {
    margin-bottom: 120px;
    .inner {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: end;
      gap: 20px ;
      .photoBox {
        max-width: 550px;
        width: 50%;
        &::before {
          content: "";
          position: absolute;
          bottom: -20px;
          right: -20px;
          width: 80%;
          height: 60%;
          background-color: var(--color-main);
          z-index: -1;
        }

        img {
          width: 100%;
          aspect-ratio: 3 / 2;
        }
      }

      .textBox {
        position: relative;
        z-index: 1;
        
          width: 60%;
        .infoBox {
          .name {
            font-size: 2.4rem;
            text-align: right;
          }
        }

        p {
          color: #211b1b;
          line-height: 2;
          letter-spacing: 0.06em;
          backdrop-filter: blur(2px);
        }
      }
    }
  }
  @media (max-width: 796px) {
    .aboutSec {
      margin-bottom: 80px;
      .inner {
        flex-direction: column;
        .photoBox {
          width: 90%;
          margin-left: auto;
        }

        .textBox {
          width: 100%;
          .infoBox {
            width: 92%;
          }
          p {
            padding: 0;
          }
        }
      }
    }
  }

  /* news */
  .newsSec {
    position: relative;
    max-width: 1400px;
    border: 1px solid #333;
    margin: 0 auto;
    margin-bottom: 100px;

    .english {
      left: unset;
      right: 0%;
    }
    .newsList {
      max-width: 1000px;
      margin: 0px auto 60px;
      padding-top: 40px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
      li {
        width: calc(100% / 3 - 20px);
        min-width: 300px;
        a {
          .pho {
            aspect-ratio: 2 / 1;
            max-width: 350px;

            img {
              aspect-ratio: 2 / 1;
              display: block;
              transition: 0.3s;
            }
          }
          &:hover {
            .pho {
              img {
                transform: scale(1.05);
              }
            }
          }
        }
      }
    }

    .mainBtn {
      margin: 0 auto;
      display: block;
    }
  }
  @media (max-width: 796px) {
    .newsSec {
      margin: 0 16px 60px;

      .english {
        top: 0;
      }
      .newsList {
        gap: 10px;
        li {
          width: calc(100% / 2 - 10px);
          min-width: 250px;
          a {
          }
        }
      }
    }
  }

  /* COMPANY */
  .bk {
    padding: 120px 16px;
    background: url(./img/index/business.jpg) no-repeat center;
    background-attachment: fixed;
    position: relative;

    &::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: #2d2d2d9d;
      backdrop-filter: blur(6px);
    }

    .companySec {
      background: #ebe9e9;
      padding: 20px 10px;
      display: flex;
      justify-content: center;
      gap: 40px;
      align-items: stretch;
      position: relative;
      z-index: 1;
      width: 90%;
      box-sizing: border-box;
      img {
        object-fit: cover;
        display: block;
        width: 45%;
        object-fit: cover;
        max-width: 400px;
        aspect-ratio: 1;
        border-radius: 50%;
        box-shadow: 3px 3px 6px #d6d5d5;

        &.slidein.is-animated {
          animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
        }
      }
      .innterText {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: relative;
        .textBox {
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: flex-start;
          flex: 1;
          h2 {
            font-size: clamp(2rem, 3vw, 3rem);
            border-left: 6px solid var(--color-main);
            padding-left: 10px;
            margin-bottom: 20px;
            .big {
              font-size: clamp(3rem, 3vw, 4rem);
              color: var(--color-main);
            }
          }
        }
        .btnBox {
          margin-left: auto;
        }
      }
    }
    .businessSec {
      margin-left: auto;
      margin-top: 40px;
    }
  }
  @media (max-width: 540px) {
    .bk {
      background-attachment: unset;

      .companySec {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100%;
        .innterText {
          .textBox {
            margin-bottom: 20px;
            h2 {
              margin-bottom: 10px;
            }
          }
        }
      }
      .businessSec {
        flex-direction: column-reverse;
      }
    }
  }
  /*------------------------------------------------------------
 TOPページserviceデザイン
------------------------------------------------------------*/
  .serviceSec {
    position: relative;
    background-image: linear-gradient(
      195deg,
      #c90000 0,
      #801414 10%,
      #2d2d2d 10%,
      #2d2d2d 90%,
      #801414 90%,
      #c90000 100%
    );
    .serviceBox {
      .textBox {
        color: #fff;
        h2 {
          color: #fff;
        }
        h3 {
          color: #8585853b;
          z-index: -1;
          left: unset;
          right: 0;
        }
        .innertitle {
          display: flex;
          align-items: center;
          gap: 10px;
          margin-bottom: 20px;
          span {
            background: #fff;
            height: 1px;
            width: 30px;
          }
          h4 {
            font-size: clamp(1.6rem, 3vw, 2rem);
            font-weight: 700;
          }
        }
      }
    }

    .imgBox {
      display: flex;
      gap: 20px;
      margin-bottom: 60px;
      text-align: center;
      flex-wrap: wrap;
      justify-content: center;
    }
    .inBox {
      width: calc(100% / 4 - 20px);
      min-width: 230px;
      height: fit-content;
      aspect-ratio: 1;
      border-radius: 50%;
      background-size: cover;
      margin-top: 120px;
      position: relative;
      filter: grayscale(100%);
      opacity: 0;
      transform: translateY(60px);
      transition:
        transform 1s,
        opacity 1s;

      &.on {
        opacity: 1;
        transform: translateY(0);
      }

      &:nth-child(1) {
        background: url("img/index/top_service_01.jpg") no-repeat center center;
        margin-top: 90px;
        transition-delay: 0.1s;
      }

      &:nth-child(2) {
        background: url("img/index/top_service_02.jpg") no-repeat center center;
        margin-top: 60px;
        transition-delay: 0.3s;
      }

      &:nth-child(3) {
        background: url("img/index/top_service_03.jpg") no-repeat center center;
        margin-top: 30px;
        transition-delay: 0.6s;
      }

      &:nth-child(4) {
        background: url("img/index/top_service_04.jpg") no-repeat center center;
        margin-top: 0px;
        transition-delay: 0.9s;
      }
    }
    .inBoxText {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 100%;
      color: #fff;
      text-shadow: 1px 1px 2px #2d2d2d;
      h5 {
        display: block;
        font-family: "Barlow Semi Condensed", sans-serif;
        font-weight: 500;
        font-size: clamp(1.8rem, 3vw, 2.4rem);
      }

      span {
        display: block;
        font-size: 1.7rem;
      }
    }
    .btnBox {
      text-align: center;
      .mainBtn {
        color: #fff;
        &::before,
        &::after {
          background-color: #fff;
        }
      }
    }
  }
  @media (max-width: 796px) {
    .serviceSec {
      .imgBox {
        gap: 10px;
        .inBox {
          width: calc(100% / 2 - 10px);
          max-width: 300px;
          margin-top: 60px;
        }
      }
    }
  }
  @media (max-width: 550px) {
    .serviceSec {
      .imgBox {
        gap: 20px;
        .inBox {
          width: 100%;
          max-width: 300px;
          margin-top: 0px;

          &:nth-child(1) {
            margin-top: unset;
          }
          &:nth-child(2) {
            margin-top: unset;
          }
          &:nth-child(3) {
            margin-top: unset;
          }
          &:nth-child(4) {
            margin-top: unset;
          }
        }
      }
    }
  }

  /*------------------------------------------------------------
   お客様の声デザイン
  ------------------------------------------------------------*/
  .voiceSec {
    .english {
      left: unset;
      right: 0%;
    }

    .voiceList {
      display: flex;
      justify-content: center;
      width: 85%;
      margin-left: auto;

      li {
        width: calc(100% / 4);
        padding: 10px 20px 20px;
        background-image: linear-gradient(
          180deg,
          transparent 0,
          transparent 25%,
          var(--color-main) 25%,
          var(--color-main) 0
        );

        .pho {
          max-width: 150px;
          margin: 0 auto;
          aspect-ratio: 1;
          border-radius: 50%;
          background-color: #fff;
          img {
            width: 100%;
            aspect-ratio: 1;
            border-radius: 50%;
            object-fit: cover;
          }
        }
        .txtBox {
          display: block;
          color: #fff;
          font-size: 1.6rem;
          letter-spacing: 0.06em;
          z-index: 10;
          box-sizing: border-box;

          .name {
            margin-bottom: 9px;
            display: block;
            text-align: center;
            font-weight: 800;
            margin-top: 20px;
            font-family: serif;
            letter-spacing: 1.6px;
            font-size: 1.8rem;
          }
        }
      }
      li:nth-child(2n) {
        background-image: linear-gradient(
          180deg,
          transparent 0,
          transparent 25%,
          #7a0505 25%,
          #7a0505 0
        );
      }
    }
  }
  @media (max-width: 896px) {
    .voiceSec {
      .english {
        top: 0;
      }
      .voiceList {
        width: 100%;
        flex-wrap: wrap;

        li {
          width: calc(100% / 2);
          min-width: 300px;
        }
      }
    }
  }
}
@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes fadeSlide {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* RECRUIT */
.indexPage .recruitSec .comTtlBox {
  display: flex;
  margin-bottom: 12px;
  justify-content: space-between;
  min-height: 185px;
  padding: 50px;
  max-width: 1570px;
}

.indexPage .recruitSec .comTtlBox .textBox {
  width: 28%;
}

.indexPage .recruitSec .comTtlBox .textBox p {
  margin-bottom: 90px;
}

.indexPage .recruitSec .imgBox {
  display: flex;
  gap: 50px;
  width: 45%;
}

.indexPage .recruitSec .imgBox .imgContainer {
  width: 50%;
}

.indexPage .recruitSec .imgBox .imgContainer:nth-child(1) img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 2 / 3;
  min-width: 215px;
}

.indexPage .recruitSec .imgBox .imgContainer:nth-child(2) img {
  margin-top: 60px;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 2 / 3;
  min-width: 215px;
}

@media all and (max-width: 896px) {
  .indexPage .companySec {
    padding-bottom: 10px;
  }
  .indexPage .companySec .headLine04 {
    margin-bottom: 7px;
  }
  .indexPage .companySec .comTtlBox {
    display: block;
    margin-bottom: -25px;
    width: 80%;
    right: 0;
    transform: initial;
    padding: 30px;
  }
  .indexPage .companySec .comTtlBox .textBox p {
    margin-bottom: 30px;
  }
  .indexPage .companySec .comTtlBox img {
    max-width: 80px;
  }
  .indexPage .companySec .comTtlBox .title {
    padding: 36px 0 0;
  }
  .indexPage .companySec .title {
    width: 100%;
  }
  .indexPage .companySec .innerBox .infoSec {
    margin-top: -60px;
  }
  .indexPage .companySec .innerBox {
    margin: 0 24px 20px;
    display: block;
  }
  .indexPage .companySec .innerBox:first-child {
    margin-top: 30px;
  }
  .indexPage .companySec .innerBox:last-child {
    margin-bottom: 30px;
  }
  .indexPage .companySec .innerBox .photoBox {
    width: 100%;
    position: relative;
  }
  .indexPage .companySec .innerBox .photoBox:before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    right: 0;
    height: 8px;
    background: #ea751f;
    content: "";
  }
  .indexPage .companySec .innerBox .photoBox .infoBox {
    padding-bottom: 78%;
    max-width: inherit;
    margin: 0 auto;
    height: 0;
    border-radius: 20px 20px 0 0;
    background-image: url("img/index/sp_photo06.png");
  }
  .indexPage .companySec .innerBox .textBox {
    width: 100%;
    padding: 40px 24px;
    border-bottom: none;
  }
  .indexPage .companySec .innerBox .textBox .txt {
    margin-bottom: 17px;
    line-height: 2.2;
  }
  .indexPage .companySec .innerBox .textBox .comMore {
    margin: 0 auto;
    text-align: center;
  }
  .indexPage .companySec .innerBox .textBox .subBox {
    max-width: inherit;
  }
  .indexPage .companySec .comMore01 {
    display: none;
  }

  .indexPage .recruitSec .comTtlBox {
    flex-direction: column-reverse;
    width: initial;
    padding: 30px 0;
  }
  .indexPage .recruitSec .comTtlBox .textBox {
    width: initial;
  }
  .indexPage .recruitSec .comTtlBox .textBox p {
    margin-bottom: 30px;
  }
  .indexPage .recruitSec .imgBox {
    width: 100%;
    gap: 32px;
    justify-content: space-between;
  }

  .indexPage .recruitSec .imgBox .imgContainer:nth-child(1) img {
    min-width: 170px;
  }

  .indexPage .recruitSec .imgBox .imgContainer:nth-child(2) img {
    min-width: 170px;
  }

  .comBox .textBox .recruitMain {
    font-size: 7.2rem;
    margin-bottom: 30px;
  }
}

/*------------------------------------------------------------
    businessページデザイン
------------------------------------------------------------*/
.businessPage {
  position: relative;

  #pagePath {
    margin-bottom: 16px;
  }

  .businessTop {
    text-align: center;

    h2 {
      font-size: clamp(3rem, 5vw, 5rem);
      position: relative;
      width: fit-content;
      margin: 0 auto 40px;
      padding: 0 40px;
      &:before,
      &:after {
        position: absolute;
        content: "";
      }

      &:after {
        top: 0;
        left: 0;
        width: 40px;
        height: 40px;
        border-top: 3px solid var(--color-main);
        border-left: 3px solid var(--color-main);
      }

      &:before {
        right: 0;
        bottom: 0;
        width: 40px;
        height: 40px;
        border-right: 3px solid var(--color-main);
        border-bottom: 3px solid var(--color-main);
      }
    }
  }
  .businessList {
    .ListBox {
      li {
        position: relative;
        height: 100%;

        &::before {
          content: "";
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
        }
        .imgBox {
          max-height: 350px;
          img {
            width: 100%;
            max-height: 350px;
            object-fit: cover;
          }
        }
        .txtBox {
          position: absolute;
          width: 50%;
          top: 50%;
          transform: translateY(-50%);
          right: 0;
          height: 100%;
          background-color: #ffffffe8;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          &::before {
            content: "";
            background: linear-gradient(
              270deg,
              #ffffffe8,
              #ffffffe8 20%,
              hsla(0, 0%, 100%, 0.75) 45%,
              hsla(0, 0%, 100%, 0.35) 72%,
              hsla(0, 0%, 100%, 0)
            );
            height: 100%;
            pointer-events: none;
            position: absolute;
            right: 100%;
            top: 0;
            width: 40%;
            z-index: 2;
          }
          h3 {
            font-size: clamp(2rem, 3vw, 3rem);
            margin-bottom: 30px;

            span {
              font-size: clamp(2.6rem, 4vw, 4rem);
              color: var(--color-main);
            }
          }
          p {
            line-height: 1.8;
            margin-bottom: 30px;
          }
        }
      }
    }
  }

  @keyframes slideIn {
    0% {
      transform: translateX(180px);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
    }
    40%,
    100% {
      opacity: 1;
    }
  }
  @media (max-width: 796px) {
    .businessTop {
      h2 {
        font-size: 26px;
        padding: 0 20px;

        &:after {
          width: 20px;
          height: 20px;
        }

        &:before {
          width: 20px;
          height: 20px;
        }
      }
    }
    .businessList {
      .ListBox {
        li {
          .imgBox {
            width: 100%;
            min-height: 350px;
            img {
              width: 100%;
              object-fit: cover;
              min-height: 350px;
            }
          }
          .txtBox {
            position: absolute;
            width: 100%;
            top: 50%;
            right: 0;
            height: 100%;
            padding: 10px;
            background-color: #ffffffa4;
            &::before {
              display: none;
            }

            h3 {
              margin-bottom: 20px;
            }
            p {
              margin-bottom: 30px;
            }
          }
        }
      }
    }
  }
}

/*------------------------------------------------------------
	Comapnyページデザイン
------------------------------------------------------------*/
.companyTop {
  background: url("img/company/company_bg.jpg") no-repeat center center;
  background-size: cover;
  background-color: #2d2d2da4;
  background-blend-mode: darken;
  padding: 120px 10px;
  .TopinnerBox {
    color: #fff;
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    h2 {
      margin-bottom: 40px;
      display: block;
      position: relative;
      .big {
        font-size: clamp(3rem, 5vw, 6rem);
      }
    }
    .Toptext {
      .catchTitle {
        line-height: 1.6;
        font-size: clamp(3rem, 3vw, 4.6rem);
        .titkebk {
          background: linear-gradient(135deg, #660000, #c90000);
          padding: 0 10px;
        }
      }
      .catchText {
        text-align: end;
        font-size: clamp(1.8rem, 1.4vw, 2.4rem);
      }
    }
  }
}

.companyBox {
  padding: 90px 0;

  .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .headLine01 {
    margin-bottom: 20px;
    font-size: 6.4rem;
    font-family: "Barlow Semi Condensed", sans-serif;
    font-weight: 500;
  }

  .comVisual01 {
    margin-bottom: 70px;
    color: #fff;
    height: 530px;
    display: flex;
    align-items: center;
    justify-content: center;

    .comVisual01Inner {
      width: 100%;
      text-align: center;
      text-shadow: 0 0 10px rgba(0, 0, 0, 1);

      h3 {
        font-size: 11rem;
        font-weight: normal;
      }

      small {
        font-size: 4.8rem;
        font-family: "Barlow Semi Condensed", sans-serif;
        font-weight: 500;
      }
    }
  }
  /* Tables */
  .comTable01 {
    border-collapse: collapse;
    width: 70%;
    margin: 0 auto;

    tr {
      border-bottom: 1px solid #ccc;
      th,
      td {
        font-size: 1.6rem;
        letter-spacing: 0.06em;
        line-height: 2.14;
        vertical-align: middle;
        padding: 20px 10px;
      }

      th {
        width: 26%;
        color: #2d2d2d;
      }
    }
    @media (max-width: 796px) {
      width: 100%;

      tr {
        th {
          width: 40%;
        }
      }
    }
  }

  .textBox {
    width: 100%;

    p {
      line-height: 2;
      text-align: center;
    }

    .inBox {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 40px;

      .comTable {
        tr {
          display: flex;
          flex-direction: column;

          th {
            margin-bottom: 10px;
            border-left: 4px solid var(--color-sub);
            padding-left: 10px;
          }
        }
      }

      .map {
        width: 40%;
      }
    }
    @media (max-width: 796px) {
      .inBox {
        flex-direction: column;
        gap: 20px;

        .map {
          width: 100%;
        }
      }
    }
  }

  .map {
    width: 100%;
    aspect-ratio: 2 / 1;

    iframe {
      width: 100%;
      height: 100%;
    }
  }
}

@media all and (max-width: 896px) {
  .companyPage .comVisual {
    margin-bottom: 13px;
    height: 180px;
    background: url("img/common/com_kv.jpg") no-repeat center center;
    background-size: cover;
  }
  .companyPage {
    overflow: hidden;
  }
  .companyPage .linkList a {
    margin: -17px auto 17px;
  }
  .companyPage .bgWrap:before {
    display: none;
  }
  .companyPage #pagePath {
    margin-bottom: 16px;
  }
  .companyPage .comBgBox {
    margin-bottom: 0;
    padding: 60px 19px 60px;
  }
  .corporate {
    margin-bottom: 59px;
    display: block;
    padding: 0 24px;
  }
  .corporate .textBox {
    margin-bottom: 30px;
    padding: 0;
  }
  .corporate .textBox .subBox {
    max-width: inherit;
  }
  .corporate .photoBox {
    width: auto;
    margin: 0;
  }
  .corporate .textBox .headLine01 {
    margin-bottom: 26px;
  }
  .corporate .textBox h4 {
    margin-bottom: 24px;
    line-height: 1.9;
  }
  .corporate .textBox p {
    font-weight: normal;
    font-size: 1.4rem;
    line-height: 1.86;
  }
}
@media all and (max-width: 639px) {
  .companyBox .comVisual01 {
    height: 230px;
  }
  .comTable01 {
    width: 100%;
  }
  .companyBox:nth-child(6) {
    padding: 30px 0 150px;
  }
}

@media all and (max-width: 540px) {
  .companyPage .linkList01 .img .nameSpan {
    font-size: 1.8rem;
  }
  .companyPage .linkList01 .img .nameSpan .small {
    font-size: 1.6rem;
  }
}

@media all and (max-width: 480px) {
  .comTable {
    margin: 0 auto 30px;
  }
  .companyBox .textBox {
    margin: 0 0 30px;
  }
}

@media all and (max-width: 390px) {
  .comVisualInner_r p {
    font-size: 1.6rem;
  }
  .companyBox:nth-child(6) {
    padding: 30px 0 150px;
  }
  .companyBox .content .linkBox .content {
    padding: 0;
  }
  .companyPage .linkList01 .img {
    padding: 14px;
  }
  .companyPage .linkList01 .img img {
    border-radius: 38px;
  }
}
/*------------------------------------------------------------
    Serviceページデザイン
------------------------------------------------------------*/

.servicePage {
  .linkList {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 50px 20px 0;
    flex-wrap: wrap;

    a {
      display: block;
      padding: 10px 0;
      text-align: center;
      border: 1px solid var(--color-sub);
      color: #2d2d2d;
      font-size: 1.4rem;
      transition: 0.3s ease;
      width: 150px;

      &:hover {
        background-color: var(--color-main);
        color: #fff;
      }
    }
  }
  .serviceSec {
    padding: 180px 20px 80px;
    position: relative;
    &::before {
      content: "";
      font-family: "shape divider from ShapeDividers.com";
      position: absolute;
      z-index: 3;
      pointer-events: none;
      background-repeat: no-repeat;
      top: 100%;
      left: 0;
      width: 100%;
      height: 150px;
      background-size: 235% 150px;
      background-position: 50% 0%;
      background-position: 50% 0%;
      background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 1c3.17.8 7.29-.38 10.04-.55 2.75-.17 9.25 1.47 12.67 1.3 3.43-.17 4.65-.84 7.05-.87 2.4-.02 5.52.88 5.52.88V0H0z" fill="%23f2f2f2"/></svg>');
    }
    .seviceBox-title {
      h2 {
        background-color: #ddd;
        border-bottom: 7px solid var(--color-sub);
        text-align: center;
        margin-bottom: 60px;
        padding: 40px 0 20px;
      }

      .subtitle {
        background: linear-gradient(135deg, #660000, #c90000);
        padding: 10px 20px;
        color: #fff;
        margin: 0px auto -20px;
        display: block;
        width: fit-content;
        position: relative;
        z-index: 1;
      }
    }
    .seviceBox-secondTitle {
      border: 1px solid #2d2d2d;
      padding: 40px 16px;
      max-width: 1000px;
      margin: 0 auto 60px;
      text-align: center;

      h3 {
        font-size: clamp(2.6rem, 4vw, 4rem);
        margin-bottom: 30px;
      }
    }
    .serviceBox-info {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 60px;

      .infoText {
        width: 30%;
        text-align: center;
        h4 {
          font-size: clamp(2.2rem, 3vw, 3rem);
          margin-bottom: 20px;
        }
      }
      .imgBox {
        width: 50%;
        position: relative;
        &::before {
          content: "";
          position: absolute;
          width: 50%;
          height: 90%;
          bottom: -5%;
          right: -5%;
          background-color: var(--color-main);
          clip-path: polygon(50% 0%, 100% 0%, 50% 100%, 0% 100%);
        }
        img {
          width: 100%;
          clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
          aspect-ratio: 2 / 1;
          object-fit: cover;
        }
      }
    }
    .serviceBox-poibnt {
      display: flex;
      justify-content: center;
      gap: 40px;
      flex-wrap: wrap;
      .poibntBox {
        width: calc(100% / 2 - 40px);
        min-width: 350px;
        max-width: 500px;

        .imgBox {
          width: 100%;

          img {
            width: 100%;
            aspect-ratio: 2 / 1;
            object-fit: cover;
          }
        }
        .pointTextBox {
          h5 {
            font-size: clamp(1.8rem, 2vw, 2.2rem);
            margin-bottom: 10px;
            text-align: center;
            border: 1px solid var(--color-main);
          }
        }
      }
    }
  }
  .serviceSec01 {
    padding: 100px 20px;
  }
  .serviceSec02,
  .serviceSec04 {
    background-color: #d6d2d2;
    &::before {
      background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 1c3.17.8 7.29-.38 10.04-.55 2.75-.17 9.25 1.47 12.67 1.3 3.43-.17 4.65-.84 7.05-.87 2.4-.02 5.52.88 5.52.88V0H0z" fill="%23d6d2d2"/></svg>');
    }
    & .seviceBox-title {
      h2 {
        background-color: #fff;
      }
    }
  }
  .serviceSec03 {
    .outerBox {
      margin-top: 60px;
      background-image: linear-gradient(45deg, #d3cccc, #ffffff);
      padding: 40px;
      position: relative;
      .num {
        position: absolute;
        top: 10px;
        left: 10px;
        font-size: clamp(6rem, 10vw, 15rem);
        font-family: "Roboto", sans-serif;
        line-height: 1;
        -webkit-text-fill-color: transparent;
        background: linear-gradient(45deg, #c90000, #1f1f1f 100%);
        -webkit-background-clip: text;
        opacity: 0.1;
        z-index: 0;
      }

      .serviceBox-poibnt {
        .poibntBox {
          width: calc(100% / 2 - 40px);
          max-width: 500px;
          min-width: 280px;
          display: flex;
          align-items: center;
          flex-direction: column;
          gap: 10px;

          .imgBox {
            width: 100%;
            max-width: 300px;

            img {
              width: 100%;
              aspect-ratio: 1;
              object-fit: cover;
              border-radius: 50%;
            }
          }
        }
      }
    }
  }
  .serviceSec04 {
    &::before {
      display: none;
    }
  }
}
@media (max-width: 796px) {
  .servicePage {
    .serviceSec {
      .seviceBox-title {
        h2 {
          font-size: 24px;
        }
      }
      .serviceBox-info {
        flex-direction: column;

        .infoText {
          width: 100%;
          margin-bottom: 20px;
        }
        .imgBox {
          width: 100%;
        }
      }
    }
    .serviceSec03 {
      .outerBox {
        padding: 20px;
      }
    }
  }
}
/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
.recruitPage .comVisual {
  margin-bottom: 25px;
  color: #fff;
  height: 350px;
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  /* flex-direction: column; */
  background: url("img/common/com_kv.jpg") no-repeat center center;
  background-size: cover;
  padding: 0 20px;
}
/* .recruitPage .pageTitle {
    background-image: url("img/philosophy/main_img.jpg");
} */
.recruitPage .bgWrap {
  /* padding-bottom: 120px;
    background: url("img/philosophy/bg01.png") no-repeat 55px 30px/160px auto, url("img/philosophy/bg02.png") no-repeat right 12px top 68px/174px auto; */
}

.recruitPage .comVisualInner_l img {
  visibility: hidden;
}
.recruitPage .comVisualInner_r p {
  visibility: hidden;
}

/* .recruitPage .linkList a {
}
.recruitPage .linkList a {
    margin: -17px auto 25px;
    position: relative;
    z-index: 10;
    display: block;
    box-sizing: border-box;
    padding-left: 18px;
    color: #fff;
    text-shadow: 0 0 6px rgb(139 139 139 / .9), 0 0 6px rgb(139 139 139 / .9);
}
.recruitPage .linkList a::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    top: 30%;
    left: 0;
    background: #DBF227;
    border-radius: 50%;
} */

.recruitBox {
  padding: 90px 0 130px;
}
.recruitBox .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 162px;
  background: #ea5514;
  box-shadow: 0 0 10px rgb(139 139 139 / 0.5);
  border-radius: 15px;
  transition: 0.3s all ease-in-out;
}

.recruitBox .inner:hover {
  opacity: 0.85;
}
.recruitBox .inner p {
  font-size: 2.4rem;
  text-align: center;
  color: #00478f;
}

/* 中間部Kv */
/* .comVisual01 {
    margin-bottom: 70px;
    color: #fff;
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    border-radius: 50px;
}
.comVisual01Inner {
    width: 100%;
}

.comVisual01Inner p {
    margin-bottom: 30px;
    font-size: 3.2rem;
    visibility:hidden;
    display: none;
}

.recruitPage .comVisual01Inner .linkList a {
    visibility: visible;
}

.recruitPage .comVisual01Inner .linkList a {
    margin: -16px auto 24px 24px;
    width: 90%;
    position: relative;
    z-index: 10;
    display: block;
    box-sizing: border-box;
    padding-left: 18px;
    color: #fff;
    text-shadow: 0 6px 10px rgb(139 139 139 / .1);
}
.recruitPage .comVisual01Inner .linkList a::before {
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    top: 30%;
    left: 0;
    background: #DBF227;
    border-radius: 50%;
} */

.recruitBox01 {
  position: relative;
  /* padding: 147px 0 160px; */
}

.recruitBox01 .headLine01 {
  margin-bottom: 30px;
  font-size: 6.4rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
.recruitBox01 .headLine01 .jp {
  color: #2d2d2d;
  font-size: 1.6rem;
  display: block;
}

.comBg04 .headLine01,
.comBg04 .headLine01 .jp {
  color: #fff;
}

.recruitPage .midTxt {
  margin-bottom: 50px;
}

/* 福利厚生 */
.recruitPage .benefitsBox {
  margin: 0 auto 90px;
}
.recruitPage .benefits01 {
  margin: 20px auto 25px;
  /* width: 90%; */
  position: relative;
  z-index: 10;
  display: block;
  box-sizing: border-box;
  /* text-align: center; */
}
.recruitPage .benefits01 li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.recruitPage .benefits01 .textBox {
  width: 58%;
}

.recruitPage .benefits01 .img {
  width: 38%;
}

.recruitPage .benefits01 .img img {
  width: 100%;
  object-fit: cover;
  /* border-radius: 50px; */
  /* aspect-ratio: 3 / 2; */
  /* box-shadow: 0 6px 10px rgb(139 139 139 / .1); */
}

.recruitPage .benefits01 .img.slidein.is-animated {
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,
  100% {
    opacity: 1;
  }
}

.recruitPage .benefits01 h3 {
  position: relative;
  z-index: 10;
  display: block;
  color: #2d2d2d;
  font-size: 2.4rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  text-align: left;
  margin-bottom: 30px;
}
.recruitPage .benefits01 p {
  display: block;
  line-height: 1.875;
  letter-spacing: 0.06em;
  min-height: 180px;
}

/* データとよくあるご質問 */
/* balloon */
/* .recruitPage .compareList {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
.recruitPage .compareList li {
    display: flex;
    justify-content: space-between;
}
.recruitPage .compareList li img {
    width: 100px;
    border-radius: 30px;
    border: 6px solid #fff;
    box-shadow: 0 6px 10px rgb(139 139 139 / .1);
}
.recruitPage .compareList li:nth-child(2) img {
    position: absolute;
    bottom: 0;
    right: 0;
}
.recruitPage .compareList li .balloon {
    width: 64%;
    padding: 30px 40px;
    max-height: 60px;
    font-size: 2.4rem;
    line-height: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 0 50px 50px 50px;
    box-shadow: 0 6px 10px rgb(139 139 139 / .1);
}
.recruitPage .compareList li .balloon01 {
    width: 64%;
    padding: 40px 40px;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    border-radius: 50px 50px 0 50px;
    box-shadow: 0 6px 10px rgb(139 139 139 / .1);
}
.recruitPage .compareList li .balloon01 h3 {
    font-size: 2.4rem;
    font-weight: 700;
}
.recruitPage .compareList li .balloon01 .Desc {
    font-size: 2.4rem;
    font-weight: 700;
}
.recruitPage .compareList li .balloon01 .Desc .color {
    font-size: 9.6rem;
    font-family: "all-round-gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #8FC31F;
} */

/*=========グラフ表示のためのCSS ===============*/

.chart-area {
  /*円グラフがスマホでつぶれないようにする*/
  position: relative;
  width: 100%;
  height: 40vh;
}

#chart01,
#chart02,
#chart03,
#chart04 {
  /* width: 80% !important;
    height: 80% !important; */
  margin: 20px auto 0;
}

@media all and (min-width: 897px) {
  .recruitPage .compareList li {
    width: calc(50% - 45px);
  }
}

/* faqDl */
.faqDl {
  margin-bottom: 60px;
}
.faqDl dt {
  padding: 30px 36px;
  position: relative;
  font-size: 2.4rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
  background: linear-gradient(#f0f9c1 0%, #fff 70%);
  /* background-size: cover; */
  background-blend-mode: lighten;
  border-radius: 30px;
  margin-bottom: 40px;
}
.faqDl dt .head_q {
  font-size: 4.8rem;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-right: 20px;
}
.faqDl dt:first-child {
  border: none;
}
.faqDl dt:before,
.faqDl dt:after {
  margin-top: -1px;
  position: absolute;
  right: 36px;
  top: 50%;
  width: 24px;
  height: 2px;
  background-color: #8b8b8b;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  content: "";
  /* border-radius: 3px; */
}
.faqDl dt:after {
  transform: rotate(90deg);
}
.faqDl dt.on:after {
  transform: rotate(180deg);
  opacity: 0;
}
.faqDl dd {
  padding: 80px 40px 40px;
  display: none;
  font-size: 1.6rem;
  line-height: 2;
  text-align: left;
  background: linear-gradient(#fff 20%, #f1f1f1 90%);
  border-top: 1px solid #eeeeee;
  border-radius: 0 0 30px 30px;
  margin-top: -78px;
  margin-bottom: 40px;
}
@media all and (max-width: 896px) {
  .faqDl {
    margin-bottom: 55px;
  }
  .faqDl dt {
    padding: 20px 50px 20px 20px;
    font-size: 1.6rem;
    /* line-height: 2.14; */
    background-position: right 5px center;
    background-size: 25px auto;
  }
  .faqDl dt .head_q {
    font-size: 3.2rem;
  }
  .faqDl dt:before,
  .faqDl dt:after {
    right: 20px;
    width: 14px;
    height: 2px;
  }
  .faqDl dd {
    padding: 20px 24px;
    font-size: 1.4rem;
    line-height: 1.86;
    margin-top: -64px;
  }
}
@media all and (max-width: 393px) {
  .faqDl {
    margin-bottom: 0;
  }
}

/* 4つの部署 スライダー */
/* .recruitPage .recruitBox02 {
    position: relative;
    padding: 90px 0 90px;    
}
.recruitPage .recruitBox02 .content .contentInner {
}
.recruitBox02 .headLine01 {
    margin-bottom: 30px;
    font-size: 7.2rem;
    font-family: "all-round-gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.recruitBox02 .headLine01 .jp {
    color: #8FC31F;
    font-size: 1.6rem;
    display: block;
}
.recruitPage .recruitBox02 .listUl {
    position: relative;
}

.recruitPage .recruitBox02 .listUl li {
	float: left;
}
.recruitPage .recruitBox02 .listUl li .infoPho {
    display: block;
    position: relative;
    border-radius: 40px;
	overflow: hidden;
}
.recruitPage .recruitBox02 .listUl li .infoPho img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 7 / 10;
}

.recruitPage .recruitBox02 .listUl .slick-slide > div {
    width: 288px;
    margin: 0 20px;
    float: left;
}
.recruitPage .recruitBox02 .listUl li a {
	display: block;
	position: relative;
}

.recruitPage .recruitBox02 .listUl li .jobBox .job {
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 5.6rem;
    font-family: "all-round-gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    -webkit-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    direction: ltr;
}

.recruitPage .recruitBox02 .listUl li .txtBox {
    display: block;
    color: #2d2d2d;
	font-size: 1.6rem;
	letter-spacing: 0.06em;
	z-index: 10;
	box-sizing: border-box;
    position: absolute;
    width: 100%;
    bottom: 15px;
    left: 0%;
    text-align: center;
}
.recruitPage .recruitBox02 .listUl li .txtBox .namejp {
	display: block;
    color: #2d2d2d;
	font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    text-shadow: 0 0 6px #fff, 0 0 6px #fff;
}
.recruitPage .recruitBox02 .listUl li .txtBox .name {
	margin-bottom: 9px;
	display: block;
    color: #DBF227;
	font-size: 2.4rem;
    font-family: "all-round-gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.recruitPage .recruitBox02 .listUl .slick-dots {
    margin-top: 30px;
    text-align: center;
}
.recruitPage .recruitBox02 .listUl .slick-dots li {
    float: none;
	margin: 0 17px;
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 100px;
	background: none;
    border: 1px solid #2d2d2d;
}
.recruitPage .recruitBox02 .listUl .slick-dots li button {
	display: none;
}
.recruitPage .recruitBox02 .listUl .slick-dots li.slick-active {
	background: none;
    border: 1px solid #2d2d2d;
	-webkit-transform: scale(1.8);
	transform: scale(1.8);
	transform-origin: center;
}
.recruitPage .recruitBox02 .listUl .slick-prev,
.recruitPage .recruitBox02 .listUl .slick-next {
    margin-top: -66px;
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 77px;
    height: 77px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
}
.recruitPage .recruitBox02 .listUl .slick-prev {
	left: -89px;
	background: url("img/common/prev.png") no-repeat;
	background-size: 77px 77px;
	z-index: 10;
}
.recruitPage .recruitBox02 .listUl .slick-next {
	right: -89px;
	background: url("img/common/next.png") no-repeat;
	background-size: 77px 77px;
	z-index: 10;
} */

/* Voice */
/* .recruitPage .voiceBox {

}
.recruitPage .voiceBox .voiceBoxInner{
    margin-bottom: 180px;
}
.recruitPage .voiceBox .pho {
    border-radius: 50px 0 50px 0;
    overflow: hidden;
    position: relative;
    margin-bottom: 60px;
}
.recruitPage .voiceBox .pho .infoPho img {
    object-fit: cover;
}
.recruitPage .voiceBox .pho .txtBox01 {
    font-size: 24rem;
    padding: 20px 30px;
    background: #fff;
    border-radius: 0 0 40px 40px;
    position: absolute;
    top: 0;
    right: 0;
}
.recruitPage .voiceBox .pho .txtBox01 .comment {
    display: block;
    font-size: 2.4rem;
}
.recruitPage .voiceBox .pho .txtBox {
    width: 306px;
    padding: 20px 30px;
    background: #fff;
    border-radius: 40px 40px 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
}
.recruitPage .voiceBox .pho .txtBox .name {
    display: block;
    font-size: 2.4rem;
    font-weight: 600;
    position: relative;
    padding-left: 20px;
}
.recruitPage .voiceBox .pho .txtBox .name::before {
    position: absolute;
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    top: 10px;
    left: 0;
    background: #DBF227;
}
.recruitPage .voiceBox .pho .txtBox .year {
    display: block;
    font-size: 1.6rem;
}
.recruitPage .voiceBox .contBox {
    display: flex;
    justify-content: space-around;
}
.recruitPage .voiceBox .contBox .contBox_l {
    width: 48%;
}
.recruitPage .voiceBox .contBox .contBox_r {
    width: 36%;
}
.recruitPage .voiceBox .contBox .contBox_l .faq {
    margin-bottom: 90px;
}

.recruitPage .voiceBox .contBox .contBox_l .faq:nth-child(4) {
    margin-bottom: 0;
}

.recruitPage .voiceBox .contBox .contBox_l h3 {
    font-size: 2.4rem;
    font-weight: 500;
    position: relative;
    color: #8B8B8B;
    padding-left: 58px;
    margin-bottom: 40px;
}
.recruitPage .voiceBox .contBox .contBox_l h3::before {
    position: absolute;
    content: "";
    width: 48px;
    height: 2.5px;
    top: 50%;
    left: 0;
    background: #DBF227;
}

.recruitPage .voiceBox .contBox .contBox_r .balloon {
    display: block;
    padding: 40px;
    width: 80%;
    background: linear-gradient(#CFE265 0%, #F0F9C1 70%);
    border-radius: 40px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 40px;
}
.recruitPage .voiceBox .contBox .contBox_r .balloon::after {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-top: 30px solid #F0F9C1;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}
.recruitPage .voiceBox .contBox .contBox_r h3 {
    font-size: 3.2rem;
    color: #fff;
    font-family: "all-round-gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.recruitPage .voiceBox .contBox .contBox_r .messageImg {
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
}
.recruitPage .voiceBox .contBox .contBox_r .messageImg img {
    max-height: 430px;
    display: block;
    margin: 0 auto;
}
} */

@media (min-width: 897px) {
  .recruitPage .linkList01 li {
    width: calc(30% - 45px);
  }

  .recruitPage .linkList01 {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
}

@media (max-width: 1300px) {
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 60%;
  }
}
@media (max-width: 1200px) {
  .recruitPage .compareList li {
    width: calc(50% - 24px);
  }
  .recruitPage .compareList li .balloon {
    font-size: 1.8rem;
  }
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 58%;
  }
  .recruitPage .voiceBox .contBox .contBox_r .balloon {
    width: 70%;
  }
}
@media (max-width: 1080px) {
  .recruitPage .compareList li {
    width: calc(50% - 10px);
  }
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 56%;
  }
  .recruitPage .compareList li img {
    width: 80px;
  }
}
@media (max-width: 920px) {
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 53%;
  }
}

@media all and (max-width: 896px) {
  .recruitPage .comVisual {
    margin-bottom: 13px;
    height: 180px;
    background: url("img/common/com_kv.jpg") no-repeat center center;
    background-size: cover;
  }
  /* .comVisual01 {
        margin-bottom: 60px;
        height: 170px;
    }
    .comVisual01Inner p { 
        font-size: 0;
    } */
  .recruitBox {
    padding: 30px 0 60px;
  }
  .recruitBox .inner {
    height: 100px;
  }
  .recruitBox .inner p {
    font-size: 1.8rem;
  }
  .recruitPage .benefits01 li {
    flex-direction: column-reverse;
    width: 70%;
    margin: 0 auto 50px;
  }
  .recruitPage .benefits01 .textBox {
    width: initial;
  }
  .recruitPage .benefits01 h3 {
    margin-bottom: 10px;
  }
  .recruitPage .benefits01 p {
    min-height: initial;
    margin-bottom: 20px;
  }
  .recruitPage .benefits01 .img {
    width: initial;
  }
  .recruitBox .headLine01 {
    font-size: 3.2rem;
    margin-bottom: 14px;
  }
  .recruitBox p {
    font-size: 1.6rem;
  }
  .recruitBox .name {
    font-size: 1.6rem;
  }
  .recruitBox .name span {
    font-size: 1.4rem;
  }
  .recruitBox01 .headLine01 {
    margin-bottom: 14px;
    font-size: 4rem;
  }
  .recruitPage .linkList01 h3 {
    margin: 30px 0 24px;
  }
  .recruitPage .linkList01 .img img {
    width: 60%;
    display: block;
    margin: 0 auto;
  }
  .recruitPage .linkList01 p {
    min-height: initial;
    margin-bottom: 90px;
  }
  .recruitPage .compareList {
    display: block;
    margin-bottom: 30px;
  }
  .recruitPage .compareList li {
    width: 80%;
    margin: 0 auto;
  }
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 66%;
    margin-bottom: 30px;
  }
  .recruitPage .recruitBox02 {
    padding: 30px 0 90px;
  }
  .recruitBox02 .headLine01 {
    font-size: 3.2rem;
    margin-bottom: 14px;
  }
  .recruitPage .recruitBox02 .listUl .slick-prev,
  .recruitPage .recruitBox02 .listUl .slick-next {
    margin-top: 0;
    top: 94%;
    width: 40px;
    height: 40px;
  }
  .recruitPage .recruitBox02 .listUl .slick-prev {
    left: 0;
    background: url(img/common/prev.png) no-repeat;
    background-size: 40px 40px;
    z-index: 10;
  }
  .recruitPage .recruitBox02 .listUl .slick-next {
    right: 0;
    background: url(img/common/next.png) no-repeat;
    background-size: 40px 40px;
    z-index: 10;
  }
  .recruitPage .voiceBox .pho {
    border-radius: 30px 0 30px 0;
  }
  .recruitPage .voiceBox .pho .txtBox01 {
    border-radius: 0 0 20px 20px;
    padding: 20px;
  }
  .recruitPage .voiceBox .pho .txtBox {
    border-radius: 20px 20px 0 0;
    padding: 20px;
    width: 218px;
  }
  .recruitPage .voiceBox .pho .txtBox01 .comment {
    font-size: 1.8rem;
  }
  .recruitPage .voiceBox .pho .txtBox .name {
    font-size: 1.8rem;
  }
  .recruitPage .voiceBox .contBox .contBox_l .faq {
    margin-bottom: 30px;
  }
  .recruitPage .voiceBox .contBox .contBox_l h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  .recruitPage .voiceBox .contBox .contBox_r {
    width: 48%;
  }
  .recruitPage .voiceBox .contBox .contBox_r .messageImg {
    width: 70%;
  }
}

@media all and (max-width: 740px) {
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 62%;
  }
  .recruitPage .compareList li {
    width: 82%;
  }
}
@media all and (max-width: 660px) {
  .recruitPage .compareList li {
    width: 90%;
  }
  .recruitPage .compareList li img {
    width: 70px;
  }
  .recruitPage .compareList li .balloon {
    padding: 20px 40px;
    font-size: 1.6rem;
  }
  .recruitPage .compareList li .balloon01 {
    padding: 20px 40px;
    font-size: 1.4rem;
  }
  .recruitPage .compareList li .balloon01 h3 {
    font-size: 1.8rem;
    font-weight: 700;
  }
  .recruitPage .compareList li .balloon01 .Desc {
    font-size: 1.8rem;
  }
  .recruitPage .compareList li .balloon01 .Desc .color {
    font-size: 5.6rem;
  }

  .recruitPage .recruitBox02 .listUl .slick-slide > div {
    width: 190px;
    margin: 0 10px;
  }
  .recruitPage .recruitBox02 .listUl .slick-dots {
    margin-top: 40px;
  }
  .recruitPage .recruitBox02 .listUl li .txtBox {
    bottom: -5px;
  }
  .recruitPage .recruitBox02 .listUl li .jobBox .job {
    font-size: 3.2rem;
    top: 20px;
  }
  .recruitPage .recruitBox02 .listUl li .txtBox .namejp {
    font-size: 1.6rem;
  }
  .recruitPage .voiceBox .voiceBoxInner {
    margin-bottom: 80px;
  }
  .recruitPage .voiceBox .contBox .contBox_r .balloon {
    padding: 20px 20px 20px;
  }
}
@media all and (max-width: 590px) {
  .recruitPage .linkList01 p {
    margin-bottom: 60px;
  }
  .recruitPage .compareList li {
    width: 100%;
  }
  .recruitPage .voiceBox .pho .infoPho img {
    aspect-ratio: 3 / 2;
  }
  .contBox_r .flexBox {
    display: flex;
    margin-bottom: -20px;
  }
  .recruitPage .voiceBox .contBox .contBox_r .balloon::after {
    position: absolute;
    content: "";
    top: 25%;
    left: 100%;
    transform: translateY(-50%);
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 30px solid #dbea87;
  }
  .recruitPage .voiceBox .contBox {
    display: block;
  }
  .recruitPage .voiceBox .contBox .contBox_l {
    width: 100%;
  }
  .recruitPage .voiceBox .contBox .contBox_l .faq:nth-child(4) {
    margin-bottom: 30px;
  }
  .recruitPage .voiceBox .contBox .contBox_r {
    width: 100%;
  }
  .recruitPage .voiceBox .pho .txtBox01 {
    padding: 10px;
    width: 80%;
  }
  .recruitPage .voiceBox .pho .txtBox01 .comment {
    font-size: 1.4rem;
  }
  .recruitPage .voiceBox .pho .txtBox {
    padding: 10px;
  }
  .recruitPage .voiceBox .pho .txtBox .name {
    font-size: 1.6rem;
  }
  .recruitPage .voiceBox .pho .txtBox .name::before {
    width: 14px;
    height: 14px;
    top: 6px;
  }
  .recruitPage .voiceBox .pho .txtBox .year {
    display: block;
    font-size: 1.4rem;
  }
  .recruitPage .voiceBox .contBox .contBox_l h3 {
    font-size: 1.6rem;
  }
  .recruitPage .voiceBox .contBox .contBox_r .messageImg img {
    max-height: 300px;
  }
}
@media all and (max-width: 540px) {
  .recruitPage .compareList {
    margin-bottom: 60px;
  }
  .recruitPage .compareList li img {
    width: 60px;
    border-radius: 20px;
    border: 4px solid #fff;
  }
}
@media all and (max-width: 480px) {
  .recruitPage .benefits01 li {
    width: 90%;
  }
}
@media all and (max-width: 450px) {
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 58%;
  }
}
@media all and (max-width: 410px) {
  .recruitPage .compareList li .balloon,
  .recruitPage .compareList li .balloon01 {
    width: 54%;
  }
  .chart-area {
    position: relative;
    width: 100%;
    height: 31vh;
  }
}
@media all and (max-width: 390px) {
  .recruitBox .headLine01 {
    font-size: 2.4rem;
  }
  .recruitPage .linkList01 h3 {
    font-size: 2.4rem;
  }
  .recruitPage .linkList01 h3 {
    margin: 15px 0 12px;
  }
  .recruitPage .faqArea .content {
    padding: 0;
  }
  .faqDl dt {
    padding: 8px 50px 20px 20px;
    margin-bottom: 20px;
  }
  .faqDl dd {
    margin-bottom: 20px;
    margin-top: -45px;
  }
  .recruitPage .voiceBox .pho {
    border-radius: 30px 30px 30px 0;
    margin-bottom: 30px;
  }
  .recruitPage .voiceBox .pho .txtBox {
    width: 190px;
  }
  .recruitPage .voiceBox .pho .txtBox01 {
    background: none;
    color: #fff;
    font-weight: 600;
    text-shadow: 0 0 10px rgb(139 139 139 / 0.8);
  }
}

/*------------------------------------------------------------
	application
------------------------------------------------------------*/
.applicationPage .comVisual {
  margin-bottom: 25px;
  color: #fff;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  /* flex-direction: column; */
  background: url("img/application/application_kv.jpg") no-repeat center center;
  background-size: cover;
  padding: 0 20px;
}

/* .applicationPage .pageTitle {
    background-image: url("img/philosophy/main_img.jpg");
} */
.applicationPage .bgWrap {
  /* padding-bottom: 120px;
    background: url("img/philosophy/bg01.png") no-repeat 55px 30px/160px auto, url("img/philosophy/bg02.png") no-repeat right 12px top 68px/174px auto; */
}

.applicationPage .comVisualInner_l img {
  visibility: hidden;
}
.applicationPage .comVisualInner_r p {
  visibility: hidden;
}
.applicationPage .linkList a {
  visibility: hidden;
}

.applicationPage .linkList a {
  margin: -17px auto 25px;
  width: 90%;
  position: relative;
  z-index: 10;
  display: block;
  box-sizing: border-box;
  padding-left: 18px;
}
.applicationPage .linkList a::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 30%;
  left: 0;
  background: #dbf227;
  border-radius: 50%;
}
.applicationBox {
  position: relative;
  padding: 90px 0 90px;
}
.applicationBox .inner {
  display: flex;
  /* flex-wrap: wrap; */
  justify-content: center;
}
.applicationBox .headLine01 {
  margin-bottom: 20px;
  font-size: 7.2rem;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.applicationBox .headLine01 .jp {
  color: #8fc31f;
  font-size: 1.6rem;
  display: block;
}
.comBg04 .headLine01 .jp {
  color: #fff;
  font-size: 1.6rem;
  display: block;
}

.applicationBox .textBox {
  padding: 60px 0 60px;
  background: #fff;
  border-radius: 50px;
  width: 90%;
}

.applicationBox .textBox .comTable01 {
  width: 90%;
}

/* 募集職種 */
.applicationBox .linkList01 {
  margin: 50px auto 0;
  justify-content: center;
  max-width: 980px;
}
/* 募集職種 切り替えbtn */
.applicationBox .linkList01 .active {
  margin-right: 1.8%;
  width: 22.5%;
  display: inline-block;
  background: #f0f9c1;
  border-radius: 60px 60px 0 0;
}
.applicationBox .linkList01 .inactive {
  margin-right: 1.8%;
  width: 22.5%;
  display: inline-block;
  background: #f6f6f6;
  color: #d9d9d9;
  border-radius: 60px 60px 0 0;
}
.applicationBox .linkList01 .inactive a {
  color: #d9d9d9;
}
.applicationBox .linkList01 li:nth-child(4n) {
  margin-right: 0;
}
.applicationBox .linkList01 li a {
  padding: 10px 10px 6px 0px;
  height: 88px;
  position: relative;
  letter-spacing: 0.06em;
  font-weight: 600;
  text-align: center;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
.applicationBox .linkList01 li a:after {
  margin-top: -3px;
  position: absolute;
  right: 13px;
  top: 50%;
  width: 16px;
  height: 9px;
  background: url(img/common/icon09.png) no-repeat right center;
  background-size: 16px auto;
  content: "";
}

.applicationBox .textBox01 {
  padding: 60px 30px 60px;
  background: linear-gradient(#f0f9c1 0%, #fefef9 50%, #f0f9c1 130%);
  border-radius: 20px 20px 50px 50px;
  /* margin-bottom: 90px; */
}

.applicationBox .textBox01 .topbox {
  display: flex;
  justify-content: space-between;
}
/* 募集職種 左ボックス */
.applicationBox .textBox01 .topbox .topbox_l {
  width: 48%;
}
.applicationBox .textBox01 .topbox .topbox_l .jobname {
  font-size: 3.2rem;
  margin-bottom: 20px;
}
.applicationBox .textBox01 .topbox .topbox_l p {
  margin-bottom: 60px;
}
.applicationBox .textBox01 .topbox .topbox_l h4 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
.applicationBox .textBox01 .topbox .topbox_l .workList {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 30px;
  margin-bottom: 60px;
}
.applicationBox .textBox01 .topbox .topbox_l .workList li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
}
.applicationBox .textBox01 .topbox .topbox_l .workList li::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 7px;
  left: 0;
  background: #8fc31f;
  border-radius: 50%;
}
.applicationBox .textBox01 .topbox .topbox_l .pointList .color {
  color: #8fc31f;
  font-weight: 600;
  display: block;
}
.applicationBox .textBox01 .topbox .topbox_l .pointList .inList {
  position: relative;
  padding-left: 22px;
  display: block;
}
.applicationBox .textBox01 .topbox .topbox_l .pointList .inList::before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 7px;
  left: 0;
  background: #aaaaaa;
  border-radius: 50%;
}
.applicationBox .textBox01 .topbox .topbox_l .pointList {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 30px;
  margin-bottom: 60px;
}

/* 募集職種 右ボックス */
.applicationBox .textBox01 .topbox .topbox_r {
  width: 48%;
}
.applicationBox .textBox01 .topbox .topbox_r h4 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
/* スケジュール */
.applicationBox .textBox01 .topbox .topbox_r .schedule {
  padding: 30px;
  background: #fff;
  border-radius: 20px;
  margin-bottom: 60px;
}
.applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 {
  width: initial;
}
.applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 th {
  width: 18%;
}
.applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 td {
  font-size: 1.4rem;
}
.applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 td span {
  font-size: 1.6rem;
  font-weight: 600;
}
.applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 th,
.applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 td {
  padding: 10px 10px 10px 0;
  border-bottom: none;
}
/* 採用FLOW */
.applicationBox .textBox01 .topbox .topbox_r .flow {
  padding: 0px 20px 0;
}
.applicationBox .textBox01 .topbox .topbox_r .flow .timeline {
  display: flex;
  justify-content: space-between;
}
.applicationBox .textBox01 .topbox .topbox_r .flow .timeline li {
  width: 24%;
}
.applicationBox .textBox01 .topbox .topbox_r .flow .timeline li .timeline-ttl {
  font-size: 2.4rem;
  font-weight: 600;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 60px;
  position: relative;
}
.applicationBox
  .textBox01
  .topbox
  .topbox_r
  .flow
  .timeline
  li
  .timeline-ttl::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 100%;
  left: 42%;
  background: #2d2d2d;
  border-radius: 50%;
}
.applicationBox
  .textBox01
  .topbox
  .topbox_r
  .flow
  .timeline
  li
  .timeline-ttl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  top: 100%;
  left: 50%;
  margin-top: 9px;
  background: #d9d9d9;
}
.applicationBox
  .textBox01
  .topbox
  .topbox_r
  .flow
  .timeline
  li:last-child
  .timeline-ttl::before {
  display: none;
}
.applicationBox .textBox01 .topbox .topbox_r .flow .timeline li .timeline-txt {
  font-size: 1.4rem;
  font-weight: normal;
}
/* こんな方は大歓迎 */
.applicationBox .textBox01 .underbox h4 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
.applicationBox .textBox01 .underbox .skillbox {
  display: flex;
  justify-content: space-between;
}
.applicationBox .textBox01 .underbox .skillbox li {
  width: 20%;
  padding: 30px 20px;
  margin: 10px;
  background: #fff;
  border-radius: 20px;
}
.applicationBox .textBox01 .underbox .skillbox img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto 30px;
}
.applicationBox .textBox01 .underbox .skillbox p {
  font-size: 1.6rem;
  font-weight: 600;
  color: #8b8b8b;
  text-align: center;
}

/* 福利厚生 */
.applicationBox .linkList02 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.applicationBox .linkList02 li {
  width: 30%;
  text-align: center;
}
.applicationBox .linkList02 li figure {
  margin: 20px;
}
.applicationBox .linkList02 li .img {
  position: relative;
}
.applicationBox .linkList02 li .txtbox {
  position: absolute;
  left: 0;
  bottom: 34%;
  padding: 0 40px 0;
  color: #fff;
  text-shadow: 0 0 6px rgb(139 139 139 / 0.9);
}
.applicationBox .linkList02 li .txtbox h3 {
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 30px;
}
.applicationBox .linkList02 li .txtbox p {
  font-size: 1.5rem;
}

.applicationBox .linkList02 li:nth-child(odd) {
  animation-delay: 0.8s;
}
.applicationBox .linkList02 li:nth-child(even) {
  animation-delay: 0.9s;
}

/* fuwafuwaアニメーション */
@keyframes fuwafuwa {
  /* 0% , 100%{
        transform: rotate(3deg);
    }
    50%{
        transform: rotate(-3deg);
    } */
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  10% {
    transform: scale(1, 1) translate(1%, 0%) skew(-1deg, 0deg);
  }
  60% {
    transform: scale(1, 1) translate(2%, 0%) skew(-2deg, 0deg);
  }
  70% {
    transform: scale(1, 1) translate(-1%, 0%) skew(1deg, 0deg);
  }
  80% {
    transform: scale(1, 1) translate(1%, 0%) skew(-1deg, 0deg);
  }
  80% {
    transform: scale(1, 1) translate(1%, 0%) skew(-1deg, 0deg);
  }
  90% {
    transform: scale(1, 1) translate(-1%, 0%) skew(1deg, 0deg);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}

/* このクラスをつけるとfuwafuwaを無限に繰り返します */
.anime-fuwafuwa {
  animation: 3s fuwafuwa infinite;
}

/* 入社後の流れ */
.applicationPage .oneFlow {
  padding: 0;
  background: #fff;
}
.applicationPage .listBox {
  position: relative;
  margin-top: -79px;
}
.applicationPage .listBox:before {
  position: absolute;
  left: 50%;
  top: 68px;
  bottom: 0px;
  width: 2px;
  background: #d9d9d9;
  content: "";
}
.applicationPage .listBox .timeBox {
  clear: both;
  width: 50%;
  margin-bottom: -100px;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.applicationPage .listBox .timeBox::before {
  content: "";
  width: 145px;
  display: block;
  border-bottom: 2px dotted #d9d9d9;
}
.applicationPage .listBox .timeBox:last-child {
  margin-bottom: 0;
}
.applicationPage .listBox .timeBox .txtInner {
  width: 73.4%;
  position: relative;
  padding: 0 0 30px;
  /* background: #fff; */
  box-sizing: border-box;
  /* border: solid 1px #f3f3f3; */
  border-radius: 40px;
  box-shadow: 0 6px 10px rgb(139 139 139 / 0.1);
}
.applicationPage .listBox .timeBox:nth-child(1) .txtInner {
  background: linear-gradient(#f0f9c1 0%, #fff 70%);
}
.applicationPage .listBox .timeBox:nth-child(2) .txtInner {
  background: linear-gradient(#cfe265 0%, #f0f9c1 70%);
}
.applicationPage .listBox .timeBox:nth-child(3) .txtInner {
  background: linear-gradient(#b0cf00 0%, #f0f9c1 70%);
}
.applicationPage .listBox .timeBox:nth-child(4) .txtInner {
  background: linear-gradient(#8fc31f 0%, #f0f9c1 70%);
}
.applicationPage .listBox .timeBox .txtInner:before {
  /* margin-top: -10px; */
  position: absolute;
  right: -160px;
  top: 45%;
  width: 30px;
  height: 30px;
  background: #2d2d2d;
  content: "";
  /* border: 3px solid #fff; */
  border-radius: 50%;
  box-sizing: border-box;
}
.applicationPage .listBox .timeBox .txtInner .top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.applicationPage .listBox .timeBox .txtInner .top .top_l {
  width: 37%;
  padding: 30px 0 0 30px;
}
.applicationPage .listBox .timeBox .txtInner .top .top_r {
  width: 55%;
}
.applicationPage .listBox .timeBox .txtInner .top .top_r img {
  width: 100%;
  height: 166px;
  object-fit: cover;
  border-radius: 20px 20px 20px 80px;
}
.applicationPage .listBox .timeBox .txtInner .month {
  margin-bottom: 6px;
  font-size: 2.4rem;
  letter-spacing: 0.06em;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.applicationPage .listBox .timeBox .txtInner .ttl {
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 3.2rem;
  letter-spacing: 0.06em;
}
.applicationPage .listBox .timeBox .txtInner .txt {
  letter-spacing: 0.06em;
  line-height: 1.9;
  position: relative;
  padding: 0 30px 0;
}
.applicationPage .listBox .timeBox .txtInner .txt .tel {
  width: 100%;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  text-align: center;
}
.applicationPage .listBox .timeBox .txtInner .txt .contact {
  color: #0a0a0a;
  margin-bottom: 10px;
  background: #fff;
  border: 2px solid #0a0a0a;
  /* display: inline-block; */
  display: block;
  max-width: 260px;
  text-align: center;
  font-size: 1.4rem;
  padding: 4px 8px;
  margin-bottom: -20px;
  transition: 0.3s;
}
.applicationPage .listBox .timeBox01 {
  float: right;
  flex-direction: row;
}
.applicationPage .listBox .timeBox01 .txtInner:before {
  right: auto;
  left: -160px;
}

@media all and (max-width: 1080px) {
  .applicationBox
    .textBox01
    .topbox
    .topbox_r
    .flow
    .timeline
    li
    .timeline-ttl {
    font-size: 1.8rem;
  }
  .applicationBox
    .textBox01
    .topbox
    .topbox_r
    .flow
    .timeline
    li
    .timeline-ttl::after {
    width: 14px;
    height: 14px;
    top: 108%;
  }
  .applicationBox .linkList02 li .txtbox h3 {
    font-size: 1.8rem;
    margin-bottom: 6px;
  }
  .applicationBox .linkList02 li figure {
    margin: 10px;
  }
  .applicationBox .linkList02 li .txtbox {
    bottom: 30%;
  }
  .applicationBox .linkList02 li .txtbox p {
    font-size: 1.4rem;
  }
  .applicationPage .listBox .timeBox .txtInner .ttl {
    font-size: 2.4rem;
  }
}
@media all and (max-width: 896px) {
  .applicationPage .comVisual {
    margin-bottom: 13px;
    height: 260px;
    background: url("img/application/application_kv.jpg") no-repeat center
      center;
    background-size: cover;
  }
  .applicationBox {
    position: relative;
    padding: 60px 0 60px;
  }

  .applicationBox .small-w {
    padding: 0 10px;
  }
  .applicationBox .headLine01 {
    font-size: 4rem;
    margin-bottom: 14px;
  }
  .applicationBox .linkList01 .active,
  .applicationBox .linkList01 .inactive {
    border-radius: 40px 40px 0 0;
  }
  .applicationBox .linkList01 li a {
    height: 56px;
    font-size: 1.3rem;
  }
  .applicationBox .textBox01 {
    padding: 30px 24px 30px;
  }
  .applicationBox .textBox01 .topbox {
    display: block;
  }
  .applicationBox .textBox01 .topbox .topbox_l {
    width: 100%;
  }
  .applicationBox .textBox01 .topbox .topbox_l .jobname {
    font-size: 2.4rem;
    margin-bottom: 14px;
  }
  .applicationBox .textBox01 .topbox .topbox_l h4 {
    font-size: 1.8rem;
    margin-bottom: 14px;
  }
  .applicationBox .textBox01 .topbox .topbox_r {
    width: 100%;
  }
  .applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 th,
  .applicationBox .textBox01 .topbox .topbox_r .schedule .comTable01 td {
    padding: 0 10px 6px 0;
    border-bottom: none;
  }
  .applicationBox .textBox01 .topbox .topbox_r h4 {
    font-size: 1.8rem;
  }
  .applicationBox .textBox01 .topbox .topbox_r .flow {
    margin-bottom: 60px;
  }
  .applicationBox .textBox01 .underbox h4 {
    font-size: 1.8rem;
    margin-bottom: 14px;
  }
  .applicationBox .textBox01 .underbox .skillbox img {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
  }
  .applicationBox .linkList02 li {
    width: 46%;
    text-align: center;
  }

  .applicationPage .oneFlow {
    padding: 34px 0 70px;
  }

  .applicationPage .listBox {
    margin-top: initial;
  }

  .applicationPage .listBox:before {
    position: absolute;
    left: 55px;
    top: 0px;
    bottom: 64px;
    width: 2px;
  }
  .applicationPage .listBox .timeBox {
    margin: 0 0 20px 58px;
    clear: both;
    width: auto;
    flex-direction: row;
  }
  .applicationPage .listBox .timeBox:last-child {
    margin-bottom: 0;
  }
  .applicationPage .listBox .timeBox .txtInner {
    width: 100%;
    padding: 0 0 15px 24px;
    border-radius: 30px;
  }
  .applicationPage .listBox .timeBox .txtInner:before {
    position: absolute;
    right: auto;
    left: -55px;
    top: 46.5%;
    width: 18px;
    height: 18px;
    content: "";
  }
  .applicationPage .listBox .timeBox .txtInner .month {
    font-size: 1.6rem;
  }
  .applicationPage .listBox .timeBox .txtInner .ttl {
    margin-bottom: 5px;
    font-size: 2.4rem;
  }
  .applicationPage .listBox .timeBox .txtInner .txt {
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: justify;
  }
  .applicationPage .listBox .timeBox .txtInner .txt .contact {
    margin-bottom: -4px;
  }
  .applicationPage .listBox .timeBox01 {
    float: none;
  }
  .applicationPage .listBox .timeBox01:nth-child(7) {
    margin-bottom: 80px; /*要調整*/
  }
  .applicationPage .listBox .timeBox01 .txtInner:before {
    right: auto;
  }
  .applicationPage .listBox .timeBox::before {
    width: 47px;
  }
}
@media all and (max-width: 740px) {
  .applicationBox .linkList01 li a:after {
    display: none;
  }
  .applicationBox .linkList02 {
    display: block;
  }
  .applicationBox .linkList02 li {
    width: 70%;
    margin: 0 auto;
  }
  .applicationBox .linkList02 li .txtbox {
    bottom: 40%;
  }
  .applicationBox .textBox01 .underbox .skillbox li {
    padding: 20px 10px;
    margin: 6px;
  }
}

@media all and (max-width: 640px) {
  .applicationBox .linkList01 {
    margin: 10px auto -6px;
  }
  .applicationBox .linkList01 li a {
    height: 66px;
  }
  .applicationBox .textBox {
    padding: 30px 20px 30px;
    background: #fff;
    border-radius: 50px;
  }
  .comTable01 {
    width: 100%;
  }
  .applicationPage .listBox .timeBox .txtInner .top {
    margin-bottom: 20px;
  }
  .applicationPage .listBox .timeBox .txtInner .txt {
    padding: 0 30px 0 10px;
  }
  .applicationPage .listBox .timeBox {
    margin: 0px 0 40px 20px;
  }
  .applicationPage .listBox:before {
    left: 16px;
    width: 2px;
  }
}
@media all and (max-width: 540px) {
  .applicationBox .linkList01 .active,
  .applicationBox .linkList01 .inactive {
    border-radius: 30px 30px 0 0;
  }
  .applicationBox .linkList01 li a {
    padding: 6px 1px 6px 1px;
  }
  .applicationBox .linkList01 li a {
    font-size: 1.1rem;
  }
  .applicationBox .textBox01 {
    padding: 30px 20px 30px;
  }
  .applicationBox .textBox01 .topbox .topbox_r .flow {
    padding: 0;
  }
  .applicationBox .linkList02 li {
    width: 86%;
  }
  .applicationBox .linkList02 li .txtbox {
    bottom: 34%;
  }
  .applicationBox .textBox01 .underbox .skillbox {
    flex-flow: row wrap;
  }
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 42%;
  }
  .applicationPage .listBox .timeBox .txtInner .top .top_l {
    padding: 30px 0 0 0px;
  }
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 16%;
  }
  .applicationBox .linkList02 li .txtbox p {
    font-size: 1.3rem;
  }
}

@media all and (max-width: 480px) {
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 41.3%;
  }
}

@media all and (max-width: 450px) {
  .applicationPage .listBox .timeBox .txtInner .top .top_l {
    padding: 0;
    margin: 30px 0 0 30px;
    display: block;
    color: #fff;
    text-shadow: 0 0 6px rgb(139 139 139 / 1);
  }
  .applicationPage .listBox .timeBox .txtInner .ttl {
    font-size: 1.8rem;
  }
  .applicationPage .listBox .timeBox .txtInner .top {
    display: block;
  }
  .applicationPage .listBox .timeBox .txtInner {
    width: 100%;
    padding: 0 0 15px 0px;
  }
  .applicationPage .listBox .timeBox .txtInner .top .top_r {
    width: 100%;
    display: block;
    margin-top: -112px;
  }
  .applicationPage .listBox .timeBox:nth-child(4) .top .top_r {
    margin-top: -139px;
  }
  .applicationPage .listBox .timeBox .txtInner .txt {
    padding: 0 30px 0px 30px;
  }
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 41.7%;
  }
}
@media all and (max-width: 430px) {
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 41.2%;
  }
  .applicationBox .linkList02 li .txtbox {
    bottom: 24%;
  }
}
@media all and (max-width: 423px) {
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 40.3%;
  }
  .applicationBox .linkBox .content {
    padding: 0;
  }
}

@media (min-width: 391px) {
  .spbr {
    display: none;
  }
}

@media (max-width: 390px) {
  .spbr {
    display: block;
  }
  .applicationBox .textBox01 .underbox .skillbox li {
    width: 39%;
  }
  .applicationBox .linkBox .content {
    padding: 0;
  }
  .applicationBox .linkList02 li figure {
    margin: 10px 0 30px;
  }
  .applicationBox .linkList02 li .txtbox {
    bottom: 27%;
  }
}
/*------------------------------------------------------------
 newsPage
------------------------------------------------------------*/
.newsPage {
  .comVisual {
    background: url("img/common/com_kv.jpg") no-repeat center center;
  }

  .infoSec {
    padding: 100px 0 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;

    .innerBox {
      width: calc(100% / 3 - 30px);

      .newsLink {
      }

      .photoBox {
        margin-bottom: 30px;

        img {
          aspect-ratio: 5 / 4;
          object-fit: cover;
        }
      }
      .textBox {
        h3 {
          font-size: 2.4rem;
        }

        .date {
          color: #777;
        }
      }
    }
  }
}

/*------------------------------------------------------------
 detail
------------------------------------------------------------*/
.detailBox {
  margin: -54px auto -25px;
  max-width: 920px;

  p {
    letter-spacing: 0.06em;
  }

  .date {
    margin-bottom: 0;
    letter-spacing: 0.06em;

    .txtSpan {
      display: inline-block;
      text-align: center;
      padding: 2px 12px 4px;
      box-sizing: border-box;
      color: white;
      font-size: 1.4rem;
      font-weight: 500;
      line-height: 1.3;
      vertical-align: 2px;
      border-radius: 7px;
      margin: 2px 5px 2px 20px;
      background-color: #d84545;
    }
  }

  h3 {
    margin-bottom: 46px;
    padding-bottom: 17px;
    font-size: 3rem;
    letter-spacing: 0.06em;
    border-bottom: 1px solid #d1cfcf;
  }

  .detailPhoto {
    margin-bottom: 40px;
  }
}

/*------------------------------------------------------------
 pageNavi
------------------------------------------------------------*/
.pageNavi {
  padding-top: 20px;
  display: flex;
  justify-content: center;

  li {
    margin: 0 20px;

    a {
      &:hover {
        opacity: 0.7;
      }
    }
  }
}

/*------------------------------------------------------------
 responsive
------------------------------------------------------------*/
@media all and (max-width: 896px) {
  .newsPage {
    margin-bottom: 0;
    overflow: hidden;

    .comVisual {
      height: 180px;
    }

    .infoSec {
      .innerBox {
        margin-bottom: 50px;

        h3 {
          font-size: 1.8rem;
        }
      }
    }
  }

  .detailBox {
    padding: 22px 0 30px;
    margin: -30px 24px -60px;

    .date {
      margin-bottom: 11px;
      font-size: 1.6rem;

      .txtSpan {
        margin-left: 15px;
      }
    }

    h3 {
      line-height: 1.71;
      font-size: 2.4rem;
    }

    .detailPhoto {
      margin-bottom: 30px;
    }
  }

  .pageNavi {
    padding-bottom: 55px;
  }
}

@media all and (max-width: 639px) {
  .newsPage {
    .infoSec {
      flex-direction: column;

      .innerBox {
        width: initial;
      }
    }
  }
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contactPage{
 padding-bottom: 80px;
}
.contactPage .comVisualInner {
  display: flex;
  justify-content: space-between;
  max-width: 1340px;
  margin: 0 auto 30px;
}
.contactPage .comVisualInner_l {
  margin: 0 auto;
}
.contactPage .comVisualInner_l img {
  /* visibility: hidden; */
}
.contactPage .comVisualInner_r {
  width: 74%;
}
.contactPage .comVisualInner_r p {
  margin-top: 100px;
  margin-bottom: 60px;
  font-size: 3.2rem;
  text-shadow:
    0 0 6px rgb(139 139 139 / 1),
    0 0 6px rgb(139 139 139 / 1);
}
.contactPage .Inner_link {
  display: flex;
  justify-content: space-between;
  max-width: 1340px;
  margin: 0 auto;
}
.contactPage .Inner_link .link01 {
  width: 46%;
}
.contactPage .Inner_link .link01 a {
  display: flex;
  background: rgb(255 255 255 / 0.8);
  padding: 20px;
  border-radius: 40px;
  position: relative;
}
.contactPage .Inner_link .link01 a:hover::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  border-radius: 40px;
  opacity: 0.35;
  transition: 0.3s;
}
.contactPage .Inner_link .link01 img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 20px;
}
.contactPage .Inner_link .link01 .link01_box {
  margin-left: 20px;
}
.contactPage .Inner_link .link01 .link01_box h3 {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

/* .contactPage .pageTitle {
    background-image: url("img/philosophy/main_img.jpg");
}
.contactPage .bgWrap {
    
} */

.contactPage .linkList a {
  visibility: hidden;
}
.contactPage .linkList a::before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 30%;
  left: 0;
  background: #dbf227;
  border-radius: 50%;
}

.contactPage .topTxt {
  margin: 0 0 68px 3px;
  letter-spacing: 0.06em;
}
.contactPage table {
  margin-bottom: 158px;
  width: 100%;
  border-collapse: collapse;
  word-break: break-all;
}
.contactPage th,
.contactPage td {
  padding: 28px 0 28px 58px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #d1cfcf;
}
.contactPage th {
  padding: 20px 50px 20px 0;
  width: 29%;
  font-weight: 500;
  margin-left: 10px;
}
.contactPage td {
  font-size: 1.3rem;
  position: relative;
}
.contactPage th .must {
  float: right;
  width: 44px;
  color: #fff;
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 500;
  background: #2d2d2d;
  text-align: center;
}
.contactPage th .optional {
  float: right;
  width: 44px;
  color: #2d2d2d;
  border: 1px solid #2d2d2d;
  box-sizing: border-box;
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 500;
  background: #fff;
  text-align: center;
}
.contactPage td:before {
  position: absolute;
  left: 0;
  top: 27px;
  width: 1px;
  bottom: 27px;
  background: #d1cfcf;
  content: "";
}
.contactPage td input[type="text"],
.contactPage td input[type="email"],
.contactPage td input[type="number"],
.contactPage td input[type="tel"],
.contactPage td select,
.contactPage td textarea {
  width: 100%;
  height: 58px;
  color: #2d2d2d;
  font-size: 1.3rem;
  padding: 5px 10px 5px 23px;
  -webkit-appearance: none;
  box-sizing: border-box;
  background: #f4f4f4;
  border: 1px solid #f4f4f4;
  border-radius: 4px;
}
.contactPage td .wid01 {
  width: 98px !important;
}
.contactPage td .ico {
  display: inline-block;
  margin-right: 10px;
  font-size: 1.6rem;
}
.contactPage td .add {
  margin-bottom: 20px;
}
.contactPage td textarea {
  height: 265px;
  resize: vertical;
  padding: 20px 10px 20px 23px;
}
.contactPage .txtP {
  margin-bottom: 45px;
  line-height: 1.9;
  text-align: center;
}
.contactPage .txtP a {
  text-decoration: underline;
}
.contactPage .txtP a:hover {
  opacity: 0.7;
}
.contactPage .agreeTxt {
  width: 460px;
  margin: 0 auto 100px;
  padding: 12px 10px 16px 80px;
  box-sizing: border-box;
  border: 1px solid #ccc;
}
.contactPage .agreeTxt input[type="checkbox"] {
  display: none;
}
.contactPage .agreeTxt input[type="checkbox"] ~ span {
  background: url("img/common/check_box_bg02.png") no-repeat left top 9px;
  background-size: 16px 16px;
  display: block;
  min-height: 16px;
  padding: 4px 0 6px 26px;
}
.contactPage .agreeTxt input[type="checkbox"]:checked ~ span {
  background: url("img/common/check_box_bg01.png") no-repeat left top 9px;
  background-size: 16px 16px;
}
.contactPage .submit {
  text-align: center;
}
.contactPage .submit li {
  margin: 0 6px;
  display: inline-block;
  vertical-align: top;
}
.ajax-loader {
  display: none !important;
}
.contactPage .submit li .info01 {
  display: block;
  position: relative;
  background: #2d2d2d;
  border: 1px solid #2d2d2d;
}
.contactPage .submit li .info02 {
  position: relative;
  z-index: 2;
}
.contactPage .submit li .info01:before {
  margin-top: -5px;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 21px;
  height: 11px;
  background: url("img/common/icon05_01.png") no-repeat left center;
  background-size: 21px 11px;
  content: "";
  z-index: 3;
  transition: 0.3s;
  -webkit-transition: 0.3s;
}
.contactPage .submit li .info01:after {
  content: " ";
  position: absolute;
  top: 0;
  height: 100%;
  width: 0;
  left: auto;
  right: 0;
  background-color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.contactPage .submit .back .info01:before {
  margin-top: -5px;
  position: absolute;
  right: auto;
  left: 10px;
  top: 50%;
  width: 21px;
  height: 11px;
  background: url("img/common/icon07.png") no-repeat left center;
  background-size: 21px 11px;
  content: "";
}
.contactPage .submit li input {
  color: #fff;
  width: 258px;
  height: 48px;
  font-size: 1.6rem;
  border: 0;
  -webkit-appearance: none;
  cursor: pointer;
  background: none;
}
.contactPage .submit li input:disabled {
  cursor: default;
  pointer-events: none;
}
.contactPage .submit .back .info01 {
  background: #919191;
  border-color: #919191;
}
.contactPage .submit li.disabled .info01 {
  background: #cecece;
  border-color: #cecece;
}
.contactPage .submit li.disabled .info01:after {
  display: none;
}
.contactPage .errTop {
  margin-bottom: 16px;
  padding: 18px 10px;
  color: #c1272d;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  border: 3px solid #c1272d;
  background: #fcdedd;
  text-align: center;
}
.contactPage .errTop img {
  margin: -3px 10px 0 0;
  display: inline-block;
  vertical-align: middle;
}
.contactPage .error td input,
.contactPage .error td select,
.contactPage .error td textarea {
  background: #fcdedd;
  border: 1px solid #c1272d;
}
.contactPage .error td .errorTxt {
  margin: 2px 0 -22px;
  display: block;
  color: #de2b2b;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 1.4rem;
}
.contactPage .confirmTab th,
.contactPage .confirmTab td {
  height: 60px;
}
.contactPage .confirmTab td .add {
  margin-bottom: 4px;
}
.thanks .title {
  margin-bottom: 32px;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
}
.thanks .thanksTxt {
  margin-bottom: 180px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.06em;
  text-align: center;
}
.thanks .linkBtn a {
  margin: 0 auto;
  display: flex;
  height: 50px;
  justify-content: center;
  align-items: center;
  width: 256px;
  color: #fff;
  text-align: center;
  position: relative;
  background: #2d2d2d;
  border: 1px solid #2d2d2d;
  box-sizing: border-box;
}
.thanks .linkBtn a:before {
  margin-top: -4px;
  position: absolute;
  left: 11px;
  top: 50%;
  width: 21px;
  height: 11px;
  background: url("img/common/icon07.png") no-repeat left center;
  background-size: 21px auto;
  content: "";
  z-index: 3;
  transition: 0.3s;
  -webkit-transition: 0.3s;
}
.thanks .linkBtn .info {
  position: relative;
  z-index: 2;
}
.thanks .linkBtn a:after {
  content: " ";
  position: absolute;
  top: 0;
  height: 100%;
  width: 0;
  left: auto;
  right: 0;
  background-color: #fff;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media all and (min-width: 897px) {
  .contactPage .submit li:hover .info01:after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .contactPage .submit li:hover .info01:before {
    right: -21px;
    background-image: url("img/common/icon08.png");
  }
  .contactPage .submit li.disabled:hover .info01:before {
    right: 10px;
    background-image: url("img/common/icon05_01.png");
  }
  .contactPage .submit li:hover input {
    color: #2d2d2d;
  }
  .contactPage .submit li.disabled:hover input {
    color: #fff;
  }
  .contactPage .submit li.back:hover .info01:before {
    left: -21px;
    background-image: url("img/common/icon14.png");
  }
  .thanks .linkBtn a:hover {
    color: #2d2d2d;
  }
  .thanks .linkBtn a:hover:before {
    background-image: url("img/common/icon14.png");
    left: -21px;
  }
  .thanks .linkBtn a:hover:after {
    width: 100%;
    right: auto;
    left: 0;
  }
}
@media all and (max-width: 896px) {
  .contactPage .comVisual {
    height: 180px;
  }
  .contactPage .comVisualInner_r p {
    margin-top: 120px;
    margin-bottom: 30px;
    font-size: 1.8rem;
  }
  .contactPage .Inner_link .link01 .link01_box h3 {
    font-size: 1.6rem;
  }
  .contactPage .Inner_link .link01 {
    width: 48%;
  }
  .contactPage table {
    margin-bottom: 48px;
  }
  .contactPage th,
  .contactPage td {
    float: left;
    width: 100%;
    padding: 0 0 25px;
    box-sizing: border-box;
  }
  .contactPage th {
    padding: 22px 0 10px;
    width: auto;
    border: none;
  }
  .contactPage th .must,
  .contactPage th .optional {
    margin-left: 10px;
  }
  .contactPage td:before {
    display: none;
  }
  .contactPage td input[type="text"],
  .contactPage td input[type="email"],
  .contactPage td input[type="tel"],
  .contactPage td textarea {
    height: 58px;
    font-size: 1.2rem;
    padding: 5px 10px 5px 25px;
  }
  .contactPage td {
    font-size: 1.4rem;
  }
  .contactPage td .wid01 {
    width: 124px !important;
  }
  .contactPage td .ico {
    margin-right: 7px;
  }
  .contactPage td .add {
    margin-bottom: 20px;
  }
  .contactPage td textarea {
    height: 180px;
    padding: 20px 10px 20px 25px;
  }
  .contactPage .txtP {
    margin-bottom: 23px;
    line-height: 1.85;
  }
  .contactPage .agreeTxt {
    width: auto;
    margin: 0 auto 51px;
    padding: 14px 10px 14px 30px;
    text-align: center;
  }
  .contactPage .agreeTxt span.wpcf7-list-item {
    margin: 0 !important;
  }
  .contactPage .submit li {
    margin: 0 0 15px;
    display: block;
  }
  .contactPage .submit li:last-child {
    margin-bottom: 0;
  }
  .contactPage .submit li span:before {
    right: 17px;
  }
  .contactPage .submit li input {
    width: 100%;
    height: 60px;
  }
  .contactPage .errTop {
    margin-bottom: 18px;
    padding: 23px 10px 20px;
    font-size: 1.6rem;
    border-width: 2px;
    line-height: 1.9;
  }
  .contactPage .errTop img {
    margin: 0 auto 5px;
    display: block;
  }
  .contactPage .error td .errorTxt {
    margin: 3px 0 -19px;
    font-size: 1.1rem;
  }
  .contactPage .confirmTab th,
  .contactPage .confirmTab td {
    padding: 21px 0 7px;
    height: auto;
    line-height: 2;
  }
  .contactPage .confirmTab td {
    padding: 0 0 20px;
  }
  .contactPage .confirmTab td .add {
    margin-bottom: 4px;
  }
  .thanks .title {
    margin-bottom: 22px;
    font-size: 2.4rem;
  }
  .thanks .thanksTxt {
    margin-bottom: 37px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.9;
  }
  .thanks .linkBtn a {
    margin: 0 auto;
    height: 60px;
    width: 100%;
    font-size: 1.6rem;
    max-width: 450px;
    letter-spacing: 0.06em;
  }
  .thanks .linkBtn a:before {
    left: 16px;
  }
}

@media all and (max-width: 740px) {
  .contactPage .Inner_link {
    display: block;
  }
  .contactPage .Inner_link .link01 {
    width: 70%;
    margin: 0 auto 20px;
  }
  .contactPage .Inner_link .link01 a {
    border-radius: 30px;
  }
  .contactPage .Inner_link .link01 img {
    width: 60px;
    height: 60px;
    border-radius: 20px;
  }
}
@media all and (max-width: 640px) {
  .contactPage .Inner_link .link01 {
    width: 100%;
  }
  .contactPage .Inner_link .link01 .link01_box {
    margin-left: 10px;
  }
}
@media all and (max-width: 390px) {
  .contactPage .Inner_link .link01 .link01_box h3 {
    margin-bottom: 6px;
  }
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy {
  margin-bottom: 240px;
}
/* .privacy .comVisual {
    margin-bottom: 25px;
    color: #fff;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: url("img/privacy/privacy_kv.jpg") no-repeat center center;
    background-size: cover;
    padding: 0 20px;
} */
.privacy #pagePath {
  max-width: 1150px;
  padding: 0 20px;
  margin: 20px auto 16px;
  position: relative; /*0312*/
}
.privacy #pagePath li {
  margin-right: 0;
  display: inline;
  letter-spacing: 0.08em;
}
.privacy #pagePath li a {
  padding-right: 24px;
  display: inline-block;
}
.privacy #pagePath li a::after {
  position: absolute;
  display: block;
  content: "";
  height: 14px;
  width: 2px;
  top: 5px; /*0312*/
  left: 76px;
  background: #777;
}
.privacy .headLine01 {
  margin-bottom: 20px;
  font-size: 6.4rem;
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: 500;
}
.privacy .headLine01 .jp {
  color: #2d2d2d;
  font-size: 1.6rem;
  display: block;
}
.privacy .headLine02 {
  text-align: center;
  margin-top: 80px;
  margin-bottom: 80px;
}
.privacy .headLine02:before {
  left: 50%;
  transform: translateX(-50%);
}
.privacy p {
  margin-bottom: 4px;
  /* line-height: 2.3; */
  letter-spacing: 0.06em;
}
.privacy h5 {
  margin-bottom: 6px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.privacy p a {
  color: #8fc31f;
  border-bottom: 1px solid #8fc31f;
}
.privacy .txt01 {
  margin-bottom: 65px;
}
.privacy .txt02 {
  margin-bottom: 72px;
}
.privacy .txt03 {
  margin-bottom: 35px;
}
.privacy .txt04 {
  margin-bottom: 0;
}
.privacy .data {
  font-size: 1.4rem;
  display: block;
  text-align: right;
}
.privacy .contact {
  font-size: 1.4rem;
}
.privacy .notice {
  font-size: 1.4rem;
  color: #de2b2b;
}

@media all and (max-width: 896px) {
  .privacy {
    margin-bottom: 110px;
  }
  .privacy .comVisual {
    margin-bottom: 13px;
    height: 180px;
    background: url("img/common/com_kv.jpg") no-repeat center center;
    background-size: cover;
  }
  .privacy .pageTitle {
    padding: 28px 0 30px;
  }
  .privacy .pageTitle .headLine01 .en {
    margin-bottom: 8px;
    font-size: 3.2rem;
  }
  .privacy .pageTitle .headLine01 .jp {
    font-size: 2rem;
  }
  .privacy #pagePath {
    margin-bottom: 56px;
  }
  .privacy .headLine01 {
    font-size: 4rem;
  }
  .privacy p {
    margin-bottom: 3px;
    /* line-height: 1.85; */
    letter-spacing: 0.01em;
  }
  .privacy h5 {
    margin-bottom: 3px;
    letter-spacing: 0.01em;
  }
  .privacy .txt01 {
    margin-bottom: 57px;
  }
  .privacy .txt02 {
    margin-bottom: 60px;
  }
  .privacy .txt03 {
    margin-bottom: 27px;
  }
  .privacy .txt04 {
    margin-bottom: 0;
  }
}
.wpcf7-response-output {
  display: none !important;
}

/*========= ページネーションCSS ===============*/

.indexPage .pagination {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.6rem;
  font-family: "all-round-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  z-index: 10;
  list-style: none;
}
@media all and (max-width: 390px) {
  .indexPage .pagination {
    top: 30%;
  }
}

.indexPage .pagination a {
  display: block;
  height: 20px;
  margin-bottom: 5px;
  color: #8fc31f;
  position: relative;
  padding: 4px;
}

.indexPage .pagination a.active:after {
  box-shadow: inset 0 0 0 5px;
}

/*現在地表示のテキストの設定*/
.indexPage .pagination a .hover-text {
  position: absolute;
  right: 15px;
  top: 0;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  padding-right: 15px;
}

.indexPage .pagination a:hover .hover-text {
  opacity: 1;
}

.indexPage .pagination a:after {
  -webkit-transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
  width: 10px;
  height: 10px;
  display: block;
  border: 1px solid;
  border-radius: 50%;
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  right: 3px;
  bottom: 0;
}

/*896px以下は現在地表示のテキストを非表示*/
@media screen and (max-width: 896px) {
  .indexPage .pagination a .hover-text {
    display: none;
  }
}

a.recruitlink {
  font-size: 48px;
  color: #fff;
}

@media screen and (max-width: 896px) {
  a.recruitlink {
    font-size: 32px;
    color: #fff;
  }
}
