@charset "UTF-8";
/*
Theme Name: ダイエーコンサルタンツ
Description: original theme
Author: Dotone
*/
/* CSS Document */
/*reset css--------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li, a,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, improve, nav, section, summary,
time, mark, audio, video, input, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  font-weight: normal;
  word-break: break-word; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, improve, nav, section {
  display: block; }

nav ul {
  list-style: none; }

li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

html {
  overflow: auto; }

body {
  overflow: hidden; }

img {
  width: 100%; }

.grecaptcha-badge {
  visibility: hidden; }

/*reset css--------------------*/
/*base--------------------*/
a, label, input[type="submit"] {
  transition: all 0.3s; }
  a:hover, label:hover, input[type="submit"]:hover {
    opacity: 1;
    cursor: pointer; }

img {
  vertical-align: bottom; }

html {
  -webkit-text-size-adjust: 100%; }

/*base--------------------*/
/*animation--------------------*/
.js-fade-up {
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 1000ms; }

.effect-scroll {
  opacity: 1;
  transform: translate(0, 0); }

/*animation--------------------*/
body, a {
  color: #222725; }

/*font--------------------*/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 1920px) {
    html {
      font-size: 52%; } }
  @media screen and (max-width: 1366px) {
    html {
      font-size: 50%; } }
  @media screen and (max-width: 1024px) {
    html {
      font-size: 45%; } }
  @media screen and (max-width: 782px) {
    html {
      font-size: 62.5%; } }

body {
  letter-spacing: 0.105em;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: justify; }

@media screen and (max-width: 782px) {
  .single .l-main h2 {
    font-size: 21px;
    line-height: 1.5; } }
@media screen and (max-width: 782px) {
  .single .l-main h3 {
    font-size: 19px;
    line-height: 1.5; } }
@media screen and (max-width: 782px) {
  .single .l-main h4 {
    font-size: 18px;
    line-height: 1.5; } }
.single .l-main p {
  line-height: 2.5; }
  @media screen and (max-width: 782px) {
    .single .l-main p {
      font-size: 16px;
      line-height: 2; } }

@media screen and (max-width: 782px) {
  .page p {
    line-height: 1.9; } }

.c-font-bold {
  font-weight: bold; }

.c-blue {
  color: #003989; }

strong {
  font-weight: bold; }

@font-face {
  font-family: 'Roboto';
  src: url("/font/Roboto-Regular.ttf") format("truetype"), url("/font/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Raleway';
  src: url("/font/Raleway-Regular.ttf") format("truetype"), url("/font/Raleway-Bold.ttf") format("truetype"), url("/font/Raleway-ExtraBold.ttf") format("truetype"), url("/font/Raleway-Black.ttf") format("truetype");
  font-display: swap; }
/*font--------------------*/
/*inner--------------------*/
.l-inner-max {
  width: 95%;
  max-width: 1790px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner-max {
      width: 95%;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner-max {
      width: 95%;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner-max {
      width: 82%;
      max-width: initial; } }

.l-inner-w {
  width: 70%;
  max-width: 1535px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner-w {
      width: 90%;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner-w {
      width: 90%;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner-w {
      width: 82%;
      max-width: initial; } }

.l-inner-w-left {
  width: calc(100% - 15%);
  max-width: calc(100% - (50% - 767.5px));
  margin-left: 0;
  margin-right: 0; }
  @media screen and (max-width: 1366px) {
    .l-inner-w-left {
      width: calc(100% - 5%); } }
  @media screen and (max-width: 1024px) {
    .l-inner-w-left {
      width: calc(100% - 5%); } }
  @media screen and (max-width: 782px) {
    .l-inner-w-left {
      width: calc(100% - 9%); } }

.l-inner {
  width: 65%;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner {
      width: 85%;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner {
      width: 90%;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner {
      width: 82%;
      max-width: initial; } }

.l-inner-s {
  width: 60%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner-s {
      width: 80%;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner-s {
      width: 85%;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner-s {
      width: 82%;
      max-width: initial; } }

.l-inner-s-left {
  width: calc(100% - 20%);
  max-width: calc(100% - (50% - 640px));
  margin-left: 0;
  margin-right: 0;
  height: 100%;
  position: relative; }
  @media screen and (max-width: 1366px) {
    .l-inner-s-left {
      width: calc(100% - 10%); } }
  @media screen and (max-width: 1024px) {
    .l-inner-s-left {
      width: calc(100% - 7.5%); } }
  @media screen and (max-width: 782px) {
    .l-inner-s-left {
      width: calc(100% - 9%);
      max-width: initial; } }

.l-inner-ss {
  width: 55%;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner-ss {
      width: 70%;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner-ss {
      width: 80%;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner-ss {
      width: 82%;
      max-width: initial; } }

.l-inner-ss-vw {
  width: 55vw;
  margin: 0 calc(50% - 50vw);
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner-ss-vw {
      width: 70vw;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner-ss-vw {
      width: 80vw;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner-ss-vw {
      width: 90%;
      max-width: initial; } }

.l-inner-min {
  width: 50%;
  max-width: 758px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1366px) {
    .l-inner-min {
      width: 70%;
      max-width: initial; } }
  @media screen and (max-width: 1024px) {
    .l-inner-min {
      width: 80%;
      max-width: initial; } }
  @media screen and (max-width: 782px) {
    .l-inner-min {
      width: 82%;
      max-width: initial; } }

/*inner--------------------*/
/*scroll--------------------*/
#topscroll {
  position: fixed;
  bottom: 40px;
  right: 10px;
  border: 2px solid #7FBE28;
  border-radius: 10px;
  width: 70px;
  height: 70px;
  background-color: #ffffff;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  #topscroll .fa-caret-up {
    color: #7FBE28;
    font-size: 2.0rem; }
  #topscroll p {
    font-size: 1.4rem;
    color: #7FBE28; }

/*scroll--------------------*/
/*wp-block--------------------*/
.wp-block-columns {
  gap: 0 !important;
  margin-bottom: 0; }
  .wp-block-columns .wp-block-column:nth-of-type(odd) {
    margin-right: 5rem; }
    @media screen and (max-width: 782px) {
      .wp-block-columns .wp-block-column:nth-of-type(odd) {
        margin-right: 0; } }

.wp-block-video {
  margin-bottom: 0; }

.wp-block-image {
  margin-bottom: 0; }

.wp-block-table {
  margin-bottom: 0; }

/*wp-block--------------------*/
/*padding--------------------*/
@media screen and (min-width: 782px) {
  .pc-plr10 {
    padding-left: 10px;
    padding-right: 10px; } }

@media screen and (min-width: 782px) {
  .pc-plr20 {
    padding-left: 20px;
    padding-right: 20px; } }

@media screen and (min-width: 782px) {
  .pc-plr30 {
    padding-left: 30px;
    padding-right: 30px; } }

@media screen and (min-width: 782px) {
  .pc-plr40 {
    padding-left: 40px;
    padding-right: 40px; } }

@media screen and (min-width: 782px) {
  .pc-plr50 {
    padding-left: 50px;
    padding-right: 50px; } }

@media screen and (min-width: 782px) {
  .pc-pt5 {
    padding-top: 5px; } }

@media screen and (min-width: 782px) {
  .pc-pt10 {
    padding-top: 10px; } }

@media screen and (min-width: 782px) {
  .pc-pt15 {
    padding-top: 15px; } }

@media screen and (min-width: 782px) {
  .pc-pt20 {
    padding-top: 20px; } }

@media screen and (min-width: 782px) {
  .pc-pt25 {
    padding-top: 25px; } }

@media screen and (min-width: 782px) {
  .pc-pt30 {
    padding-top: 30px; } }

@media screen and (min-width: 782px) {
  .pc-pt35 {
    padding-top: 35px; } }

@media screen and (min-width: 782px) {
  .pc-pt40 {
    padding-top: 40px; } }

@media screen and (min-width: 782px) {
  .pc-pt45 {
    padding-top: 45px; } }

@media screen and (min-width: 782px) {
  .pc-pt50 {
    padding-top: 50px; } }

@media screen and (min-width: 782px) {
  .pc-pt55 {
    padding-top: 55px; } }

@media screen and (min-width: 782px) {
  .pc-pt60 {
    padding-top: 60px; } }

@media screen and (min-width: 782px) {
  .pc-pt65 {
    padding-top: 65px; } }

@media screen and (min-width: 782px) {
  .pc-pt70 {
    padding-top: 70px; } }

@media screen and (min-width: 782px) {
  .pc-pt75 {
    padding-top: 75px; } }

@media screen and (min-width: 782px) {
  .pc-pt80 {
    padding-top: 80px; } }

@media screen and (min-width: 782px) {
  .pc-pt85 {
    padding-top: 85px; } }

@media screen and (min-width: 782px) {
  .pc-pt90 {
    padding-top: 90px; } }

@media screen and (min-width: 782px) {
  .pc-pt95 {
    padding-top: 95px; } }

@media screen and (min-width: 782px) {
  .pc-pt100 {
    padding-top: 100px; } }

@media screen and (min-width: 782px) {
  .pc-pt110 {
    padding-top: 110px; } }

@media screen and (min-width: 782px) {
  .pc-pt120 {
    padding-top: 120px; } }

@media screen and (min-width: 782px) {
  .pc-pt130 {
    padding-top: 130px; } }

@media screen and (min-width: 782px) {
  .pc-pt140 {
    padding-top: 140px; } }

@media screen and (min-width: 782px) {
  .pc-pt150 {
    padding-top: 150px; } }

@media screen and (min-width: 782px) {
  .pc-pt160 {
    padding-top: 160px; } }

@media screen and (min-width: 782px) {
  .pc-pt170 {
    padding-top: 170px; } }

@media screen and (min-width: 782px) {
  .pc-pt180 {
    padding-top: 180px; } }

@media screen and (min-width: 782px) {
  .pc-pt190 {
    padding-top: 190px; } }

@media screen and (min-width: 782px) {
  .pc-pt200 {
    padding-top: 200px; } }

@media screen and (min-width: 782px) {
  .pc-pb5 {
    padding-bottom: 5px; } }

@media screen and (min-width: 782px) {
  .pc-pb10 {
    padding-bottom: 10px; } }

@media screen and (min-width: 782px) {
  .pc-pb15 {
    padding-bottom: 15px; } }

@media screen and (min-width: 782px) {
  .pc-pb20 {
    padding-bottom: 20px; } }

@media screen and (min-width: 782px) {
  .pc-pb25 {
    padding-bottom: 25px; } }

@media screen and (min-width: 782px) {
  .pc-pb30 {
    padding-bottom: 30px; } }

@media screen and (min-width: 782px) {
  .pc-pb35 {
    padding-bottom: 35px; } }

@media screen and (min-width: 782px) {
  .pc-pb40 {
    padding-bottom: 40px; } }

@media screen and (min-width: 782px) {
  .pc-pb45 {
    padding-bottom: 45px; } }

@media screen and (min-width: 782px) {
  .pc-pb50 {
    padding-bottom: 50px; } }

@media screen and (min-width: 782px) {
  .pc-pb55 {
    padding-bottom: 55px; } }

@media screen and (min-width: 782px) {
  .pc-pb60 {
    padding-bottom: 60px; } }

@media screen and (min-width: 782px) {
  .pc-pb65 {
    padding-bottom: 65px; } }

@media screen and (min-width: 782px) {
  .pc-pb70 {
    padding-bottom: 70px; } }

@media screen and (min-width: 782px) {
  .pc-pb75 {
    padding-bottom: 75px; } }

@media screen and (min-width: 782px) {
  .pc-pb80 {
    padding-bottom: 80px; } }

@media screen and (min-width: 782px) {
  .pc-pb85 {
    padding-bottom: 85px; } }

@media screen and (min-width: 782px) {
  .pc-pb90 {
    padding-bottom: 90px; } }

@media screen and (min-width: 782px) {
  .pc-pb95 {
    padding-bottom: 95px; } }

@media screen and (min-width: 782px) {
  .pc-pb100 {
    padding-bottom: 100px; } }

@media screen and (min-width: 782px) {
  .pc-pb110 {
    padding-bottom: 110px; } }

@media screen and (min-width: 782px) {
  .pc-pb120 {
    padding-bottom: 120px; } }

@media screen and (min-width: 782px) {
  .pc-pb130 {
    padding-bottom: 130px; } }

@media screen and (min-width: 782px) {
  .pc-pb140 {
    padding-bottom: 140px; } }

@media screen and (min-width: 782px) {
  .pc-pb150 {
    padding-bottom: 150px; } }

@media screen and (min-width: 782px) {
  .pc-pb160 {
    padding-bottom: 160px; } }

@media screen and (min-width: 782px) {
  .pc-pb170 {
    padding-bottom: 170px; } }

@media screen and (min-width: 782px) {
  .pc-pb180 {
    padding-bottom: 180px; } }

@media screen and (min-width: 782px) {
  .pc-pb190 {
    padding-bottom: 190px; } }

@media screen and (min-width: 782px) {
  .pc-pb200 {
    padding-bottom: 200px; } }

@media screen and (min-width: 782px) {
  .pc-pb210 {
    padding-bottom: 210px; } }

@media screen and (min-width: 782px) {
  .pc-pb220 {
    padding-bottom: 220px; } }

@media screen and (max-width: 782px) {
  .sp-plr10 {
    padding-left: 10px;
    padding-right: 10px; } }

@media screen and (max-width: 782px) {
  .sp-plr20 {
    padding-left: 20px;
    padding-right: 20px; } }

@media screen and (max-width: 782px) {
  .sp-plr30 {
    padding-left: 30px;
    padding-right: 30px; } }

@media screen and (max-width: 782px) {
  .sp-plr40 {
    padding-left: 40px;
    padding-right: 40px; } }

@media screen and (max-width: 782px) {
  .sp-plr50 {
    padding-left: 50px;
    padding-right: 50px; } }

@media screen and (max-width: 782px) {
  .sp-pt0 {
    padding-top: 0; } }

@media screen and (max-width: 782px) {
  .sp-pt5 {
    padding-top: 5px; } }

@media screen and (max-width: 782px) {
  .sp-pt10 {
    padding-top: 10px; } }

@media screen and (max-width: 782px) {
  .sp-pt15 {
    padding-top: 15px; } }

@media screen and (max-width: 782px) {
  .sp-pt20 {
    padding-top: 20px; } }

@media screen and (max-width: 782px) {
  .sp-pt25 {
    padding-top: 25px; } }

@media screen and (max-width: 782px) {
  .sp-pt30 {
    padding-top: 30px; } }

@media screen and (max-width: 782px) {
  .sp-pt35 {
    padding-top: 35px; } }

@media screen and (max-width: 782px) {
  .sp-pt40 {
    padding-top: 40px; } }

@media screen and (max-width: 782px) {
  .sp-pt45 {
    padding-top: 45px; } }

@media screen and (max-width: 782px) {
  .sp-pt50 {
    padding-top: 50px; } }

@media screen and (max-width: 782px) {
  .sp-pt55 {
    padding-top: 55px; } }

@media screen and (max-width: 782px) {
  .sp-pt60 {
    padding-top: 60px; } }

@media screen and (max-width: 782px) {
  .sp-pt65 {
    padding-top: 65px; } }

@media screen and (max-width: 782px) {
  .sp-pt70 {
    padding-top: 70px; } }

@media screen and (max-width: 782px) {
  .sp-pt75 {
    padding-top: 75px; } }

@media screen and (max-width: 782px) {
  .sp-pt80 {
    padding-top: 80px; } }

@media screen and (max-width: 782px) {
  .sp-pt85 {
    padding-top: 85px; } }

@media screen and (max-width: 782px) {
  .sp-pt90 {
    padding-top: 90px; } }

@media screen and (max-width: 782px) {
  .sp-pt95 {
    padding-top: 95px; } }

@media screen and (max-width: 782px) {
  .sp-pt100 {
    padding-top: 100px; } }

@media screen and (max-width: 782px) {
  .sp-pb0 {
    padding-bottom: 0; } }

@media screen and (max-width: 782px) {
  .sp-pb5 {
    padding-bottom: 5px; } }

@media screen and (max-width: 782px) {
  .sp-pb10 {
    padding-bottom: 10px; } }

@media screen and (max-width: 782px) {
  .sp-pb15 {
    padding-bottom: 15px; } }

@media screen and (max-width: 782px) {
  .sp-pb20 {
    padding-bottom: 20px; } }

@media screen and (max-width: 782px) {
  .sp-pb25 {
    padding-bottom: 25px; } }

@media screen and (max-width: 782px) {
  .sp-pb30 {
    padding-bottom: 30px; } }

@media screen and (max-width: 782px) {
  .sp-pb35 {
    padding-bottom: 35px; } }

@media screen and (max-width: 782px) {
  .sp-pb40 {
    padding-bottom: 40px; } }

@media screen and (max-width: 782px) {
  .sp-pb45 {
    padding-bottom: 45px; } }

@media screen and (max-width: 782px) {
  .sp-pb50 {
    padding-bottom: 50px; } }

@media screen and (max-width: 782px) {
  .sp-pb55 {
    padding-bottom: 55px; } }

@media screen and (max-width: 782px) {
  .sp-pb60 {
    padding-bottom: 60px; } }

@media screen and (max-width: 782px) {
  .sp-pb65 {
    padding-bottom: 65px; } }

@media screen and (max-width: 782px) {
  .sp-pb70 {
    padding-bottom: 70px; } }

@media screen and (max-width: 782px) {
  .sp-pb75 {
    padding-bottom: 75px; } }

@media screen and (max-width: 782px) {
  .sp-pb80 {
    padding-bottom: 80px; } }

@media screen and (max-width: 782px) {
  .sp-pb85 {
    padding-bottom: 85px; } }

@media screen and (max-width: 782px) {
  .sp-pb90 {
    padding-bottom: 90px; } }

@media screen and (max-width: 782px) {
  .sp-pb95 {
    padding-bottom: 95px; } }

@media screen and (max-width: 782px) {
  .sp-pb100 {
    padding-bottom: 100px; } }

@media screen and (max-width: 782px) {
  .sp-pb110 {
    padding-bottom: 110px; } }

@media screen and (max-width: 782px) {
  .sp-pb120 {
    padding-bottom: 120px; } }

@media screen and (min-width: 782px) {
  .pc-pt190 {
    padding-top: 19rem; } }

@media screen and (min-width: 782px) {
  .pc-pt275 {
    padding-top: 27.5rem; } }

@media screen and (min-width: 782px) {
  .pc-pb200 {
    padding-bottom: 20rem; } }

@media screen and (min-width: 782px) {
  .pc-pb250 {
    padding-bottom: 25rem; } }

/*padding--------------------*/
/*margin--------------------*/
@media screen and (min-width: 782px) {
  .pc-mt0 {
    margin-top: 0px; } }

@media screen and (min-width: 782px) {
  .pc-mt5 {
    margin-top: 5px; } }

@media screen and (min-width: 782px) {
  .pc-mt10 {
    margin-top: 10px; } }

@media screen and (min-width: 782px) {
  .pc-mt15 {
    margin-top: 15px; } }

@media screen and (min-width: 782px) {
  .pc-mt20 {
    margin-top: 20px; } }

@media screen and (min-width: 782px) {
  .pc-mt25 {
    margin-top: 25px; } }

@media screen and (min-width: 782px) {
  .pc-mt30 {
    margin-top: 30px; } }

@media screen and (min-width: 782px) {
  .pc-mt35 {
    margin-top: 35px; } }

@media screen and (min-width: 782px) {
  .pc-mt40 {
    margin-top: 40px; } }

@media screen and (min-width: 782px) {
  .pc-mt45 {
    margin-top: 45px; } }

@media screen and (min-width: 782px) {
  .pc-mt50 {
    margin-top: 50px; } }

@media screen and (min-width: 782px) {
  .pc-mt55 {
    margin-top: 55px; } }

@media screen and (min-width: 782px) {
  .pc-mt60 {
    margin-top: 60px; } }

@media screen and (min-width: 782px) {
  .pc-mt65 {
    margin-top: 65px; } }

@media screen and (min-width: 782px) {
  .pc-mt70 {
    margin-top: 70px; } }

@media screen and (min-width: 782px) {
  .pc-mt75 {
    margin-top: 75px; } }

@media screen and (min-width: 782px) {
  .pc-mt80 {
    margin-top: 80px; } }

@media screen and (min-width: 782px) {
  .pc-mt85 {
    margin-top: 85px; } }

@media screen and (min-width: 782px) {
  .pc-mt90 {
    margin-top: 90px; } }

@media screen and (min-width: 782px) {
  .pc-mt95 {
    margin-top: 95px; } }

@media screen and (min-width: 782px) {
  .pc-mt100 {
    margin-top: 100px; } }

@media screen and (min-width: 782px) {
  .pc-mt110 {
    margin-top: 110px; } }

@media screen and (min-width: 782px) {
  .pc-mt120 {
    margin-top: 120px; } }

@media screen and (min-width: 782px) {
  .pc-mt130 {
    margin-top: 130px; } }

@media screen and (min-width: 782px) {
  .pc-mt140 {
    margin-top: 140px; } }

@media screen and (min-width: 782px) {
  .pc-mt150 {
    margin-top: 150px; } }

@media screen and (min-width: 782px) {
  .pc-mt160 {
    margin-top: 160px; } }

@media screen and (min-width: 782px) {
  .pc-mt170 {
    margin-top: 170px; } }

@media screen and (min-width: 782px) {
  .pc-mt180 {
    margin-top: 180px; } }

@media screen and (min-width: 782px) {
  .pc-mt190 {
    margin-top: 190px; } }

@media screen and (min-width: 782px) {
  .pc-mt200 {
    margin-top: 200px; } }

@media screen and (min-width: 782px) {
  .pc-mb0 {
    margin-bottom: 0px; } }

@media screen and (min-width: 782px) {
  .pc-mb5 {
    margin-bottom: 5px; } }

@media screen and (min-width: 782px) {
  .pc-mb10 {
    margin-bottom: 10px; } }

@media screen and (min-width: 782px) {
  .pc-mb15 {
    margin-bottom: 15px; } }

@media screen and (min-width: 782px) {
  .pc-mb20 {
    margin-bottom: 20px; } }

@media screen and (min-width: 782px) {
  .pc-mb25 {
    margin-bottom: 25px; } }

@media screen and (min-width: 782px) {
  .pc-mb30 {
    margin-bottom: 30px; } }

@media screen and (min-width: 782px) {
  .pc-mb35 {
    margin-bottom: 35px; } }

@media screen and (min-width: 782px) {
  .pc-mb40 {
    margin-bottom: 40px; } }

@media screen and (min-width: 782px) {
  .pc-mb45 {
    margin-bottom: 45px; } }

@media screen and (min-width: 782px) {
  .pc-mb50 {
    margin-bottom: 50px; } }

@media screen and (min-width: 782px) {
  .pc-mb55 {
    margin-bottom: 55px; } }

@media screen and (min-width: 782px) {
  .pc-mb60 {
    margin-bottom: 60px; } }

@media screen and (min-width: 782px) {
  .pc-mb65 {
    margin-bottom: 65px; } }

@media screen and (min-width: 782px) {
  .pc-mb70 {
    margin-bottom: 70px; } }

@media screen and (min-width: 782px) {
  .pc-mb75 {
    margin-bottom: 75px; } }

@media screen and (min-width: 782px) {
  .pc-mb80 {
    margin-bottom: 80px; } }

@media screen and (min-width: 782px) {
  .pc-mb85 {
    margin-bottom: 85px; } }

@media screen and (min-width: 782px) {
  .pc-mb90 {
    margin-bottom: 90px; } }

@media screen and (min-width: 782px) {
  .pc-mb95 {
    margin-bottom: 95px; } }

@media screen and (min-width: 782px) {
  .pc-mb100 {
    margin-bottom: 100px; } }

@media screen and (min-width: 782px) {
  .pc-mb110 {
    margin-bottom: 110px; } }

@media screen and (min-width: 782px) {
  .pc-mb120 {
    margin-bottom: 120px; } }

@media screen and (min-width: 782px) {
  .pc-mb130 {
    margin-bottom: 130px; } }

@media screen and (min-width: 782px) {
  .pc-mb140 {
    margin-bottom: 140px; } }

@media screen and (min-width: 782px) {
  .pc-mb150 {
    margin-bottom: 150px; } }

@media screen and (min-width: 782px) {
  .pc-mb160 {
    margin-bottom: 160px; } }

@media screen and (min-width: 782px) {
  .pc-mb170 {
    margin-bottom: 170px; } }

@media screen and (min-width: 782px) {
  .pc-mb180 {
    margin-bottom: 180px; } }

@media screen and (min-width: 782px) {
  .pc-mb190 {
    margin-bottom: 190px; } }

@media screen and (min-width: 782px) {
  .pc-mb200 {
    margin-bottom: 200px; } }

@media screen and (max-width: 782px) {
  .sp-mt0 {
    margin-top: 0px; } }

@media screen and (max-width: 782px) {
  .sp-mt5 {
    margin-top: 5px; } }

@media screen and (max-width: 782px) {
  .sp-mt10 {
    margin-top: 10px; } }

@media screen and (max-width: 782px) {
  .sp-mt15 {
    margin-top: 15px; } }

@media screen and (max-width: 782px) {
  .sp-mt20 {
    margin-top: 20px; } }

@media screen and (max-width: 782px) {
  .sp-mt25 {
    margin-top: 25px; } }

@media screen and (max-width: 782px) {
  .sp-mt30 {
    margin-top: 30px; } }

@media screen and (max-width: 782px) {
  .sp-mt35 {
    margin-top: 35px; } }

@media screen and (max-width: 782px) {
  .sp-mt40 {
    margin-top: 40px; } }

@media screen and (max-width: 782px) {
  .sp-mt45 {
    margin-top: 45px; } }

@media screen and (max-width: 782px) {
  .sp-mt50 {
    margin-top: 50px; } }

@media screen and (max-width: 782px) {
  .sp-mt55 {
    margin-top: 55px; } }

@media screen and (max-width: 782px) {
  .sp-mt60 {
    margin-top: 60px; } }

@media screen and (max-width: 782px) {
  .sp-mt65 {
    margin-top: 65px; } }

@media screen and (max-width: 782px) {
  .sp-mt70 {
    margin-top: 70px; } }

@media screen and (max-width: 782px) {
  .sp-mt75 {
    margin-top: 75px; } }

@media screen and (max-width: 782px) {
  .sp-mt80 {
    margin-top: 80px; } }

@media screen and (max-width: 782px) {
  .sp-mt85 {
    margin-top: 85px; } }

@media screen and (max-width: 782px) {
  .sp-mt90 {
    margin-top: 90px; } }

@media screen and (max-width: 782px) {
  .sp-mt95 {
    margin-top: 95px; } }

@media screen and (max-width: 782px) {
  .sp-mt100 {
    margin-top: 100px; } }

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

@media screen and (max-width: 782px) {
  .sp-mb5 {
    margin-bottom: 5px; } }

@media screen and (max-width: 782px) {
  .sp-mb10 {
    margin-bottom: 10px; } }

@media screen and (max-width: 782px) {
  .sp-mb15 {
    margin-bottom: 15px; } }

@media screen and (max-width: 782px) {
  .sp-mb20 {
    margin-bottom: 20px; } }

@media screen and (max-width: 782px) {
  .sp-mb25 {
    margin-bottom: 25px; } }

@media screen and (max-width: 782px) {
  .sp-mb30 {
    margin-bottom: 30px; } }

@media screen and (max-width: 782px) {
  .sp-mb35 {
    margin-bottom: 35px; } }

@media screen and (max-width: 782px) {
  .sp-mb40 {
    margin-bottom: 40px; } }

@media screen and (max-width: 782px) {
  .sp-mb45 {
    margin-bottom: 45px; } }

@media screen and (max-width: 782px) {
  .sp-mb50 {
    margin-bottom: 50px; } }

@media screen and (max-width: 782px) {
  .sp-mb55 {
    margin-bottom: 55px; } }

@media screen and (max-width: 782px) {
  .sp-mb60 {
    margin-bottom: 60px; } }

@media screen and (max-width: 782px) {
  .sp-mb65 {
    margin-bottom: 65px; } }

@media screen and (max-width: 782px) {
  .sp-mb70 {
    margin-bottom: 70px; } }

@media screen and (max-width: 782px) {
  .sp-mb75 {
    margin-bottom: 75px; } }

@media screen and (max-width: 782px) {
  .sp-mb80 {
    margin-bottom: 80px; } }

@media screen and (max-width: 782px) {
  .sp-mb85 {
    margin-bottom: 85px; } }

@media screen and (max-width: 782px) {
  .sp-mb90 {
    margin-bottom: 90px; } }

@media screen and (max-width: 782px) {
  .sp-mb95 {
    margin-bottom: 90px; } }

@media screen and (max-width: 782px) {
  .sp-mb100 {
    margin-bottom: 100px; } }

@media screen and (min-width: 782px) {
  .pc-mb280 {
    margin-bottom: 28rem; } }

@media screen and (min-width: 782px) {
  .pc-ml30 {
    margin-left: 30px; } }

@media screen and (max-width: 782px) {
  .sp-mb128 {
    margin-bottom: 128px; } }

/*margin--------------------*/
/*align-items--------------------*/
.pc-align-items-center {
  align-items: center !important; }
  @media screen and (max-width: 782px) {
    .pc-align-items-center {
      align-items: initial !important; } }

/*align-items--------------------*/
/*flex-direction--------------------*/
@media screen and (max-width: 782px) {
  .sp-flex-direction {
    flex-direction: column !important; } }

@media screen and (max-width: 782px) {
  .sp-flex-direction-column-reverse {
    flex-direction: column-reverse !important; } }

/*flex-direction--------------------*/
/*justify-content--------------------*/
.pc-justify-content-center {
  justify-content: center !important; }
  @media screen and (max-width: 782px) {
    .pc-justify-content-center {
      justify-content: initial !important; } }

/*justify-content--------------------*/
/*flex--------------------*/
@media screen and (min-width: 782px) {
  .pc-flex {
    display: flex; } }

/*flex--------------------*/
/*txt-align--------------------*/
@media screen and (min-width: 782px) {
  .pc-txt-left {
    text-align: left; } }

@media screen and (min-width: 782px) {
  .pc-txt-center {
    text-align: center; } }

@media screen and (min-width: 782px) {
  .pc-txt-right {
    text-align: right; } }

@media screen and (max-width: 782px) {
  .sp-txt-left {
    text-align: left; } }

@media screen and (max-width: 782px) {
  .sp-txt-center {
    text-align: center; } }

@media screen and (max-width: 782px) {
  .sp-txt-right {
    text-align: right; } }

/*txt-align--------------------*/
/*lign-height--------------------*/
@media screen and (min-width: 782px) {
  .lh-25 {
    line-height: 2.5; } }

/*lign-height--------------------*/
/*error--------------------*/
.error404 .l-main {
  text-align: center;
  padding: 10rem 0;
  line-height: 2.5; }
.error404 .error-link {
  margin-bottom: 50px; }

/*error--------------------*/
/*call--------------------*/
@media screen and (min-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: none; } }

/*call--------------------*/
/*indention--------------------*/
.br-pc {
  display: block; }
  @media screen and (max-width: 782px) {
    .br-pc {
      display: none; } }

.br-sp {
  display: none; }
  @media screen and (max-width: 782px) {
    .br-sp {
      display: block; } }

/*indention--------------------*/
/*pager--------------------*/
.pager {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 50px 0; }
  .pager .wp-pagenavi {
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .pager .wp-pagenavi a, .pager .wp-pagenavi span {
      font-family: 'Roboto', sans-serif;
      border: none;
      background: transparent;
      font-weight: normal; }
      .pager .wp-pagenavi a:hover, .pager .wp-pagenavi span:hover {
        color: #45B035; }
  .pager .wp-pagenavi a {
    color: #333333; }
  .pager .pages {
    margin-right: 20px; }
  .pager .wp-pagenavi .current,
  .pager .wp-pagenavi a.page {
    display: inline-block;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .pager .wp-pagenavi .current {
    color: #333333;
    position: relative; }
    .pager .wp-pagenavi .current::before {
      content: "";
      position: absolute;
      bottom: -5px;
      left: 50%;
      transform: translateX(-50%);
      width: 10px;
      height: 1px;
      background: #45B035; }
  .pager .wp-pagenavi .first,
  .pager .wp-pagenavi .extend {
    margin-right: 10px; }
  .pager .wp-pagenavi .previouspostslink,
  .pager .wp-pagenavi .nextpostslink {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #45B035; }
  .pager .wp-pagenavi .first,
  .pager .wp-pagenavi .last {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center; }

/*pager--------------------*/
/*header--------------------*/
@media screen and (max-width: 782px) {
  #wpadminbar {
    display: none; } }
.home .l-header {
  background: transparent;
  border: none; }
  .home .l-header__logo img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%); }
  .home .l-header__group-link {
    color: #ffffff; }
  .home .l-header__group-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%);
    padding-top: 3px; }

.l-header {
  background: #ffffff;
  height: 10rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999999;
  border-bottom: 1px solid #ededed;
  transition: all 0.3s; }
  .l-header:before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: -100%;
    width: 50%;
    height: 1px;
    z-index: 10; }
  @media screen and (max-width: 782px) {
    .l-header {
      height: 65px; } }
  .l-header__inner {
    height: 100%;
    max-width: 1920px;
    width: 99.5%;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 782px) {
      .l-header__inner {
        width: 89%; } }
  .l-header__frame {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
  .l-header__logo {
    width: 45rem;
    padding-left: 5rem; }
    .l-header__logo img {
      vertical-align: bottom;
      object-fit: contain; }
    @media screen and (max-width: 1366px) {
      .l-header__logo {
        width: 40rem;
        padding-left: 2rem; } }
    @media screen and (max-width: 1120px) {
      .l-header__logo {
        width: 33rem; } }
    @media screen and (max-width: 782px) {
      .l-header__logo {
        width: 222px;
        padding-left: 0; } }
  .l-header__switch {
    position: absolute;
    top: 8px;
    right: 0;
    display: none;
    width: 70%;
    height: 15px; }
    .l-header__switch-frame {
      margin-left: auto;
      position: relative; }
    @media screen and (max-width: 782px) {
      .l-header__switch {
        display: block; } }
    .l-header__switch-span01 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 6.5px;
      width: 2px;
      height: 15px;
      background: #ffffff;
      transition: all 0.3s;
      visibility: visible;
      opacity: 1; }
    .l-header__switch-span02 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      width: 15px;
      height: 2px;
      background: #ffffff; }
  .l-header .js-switch.active .l-header__switch-span01 {
    opacity: 0;
    visibility: hidden; }
  .l-header__nav {
    height: 100%; }
  .l-header__group {
    display: flex;
    align-items: center;
    height: 100%; }
    @media screen and (max-width: 782px) {
      .l-header__group {
        position: fixed;
        top: 65px;
        left: 0;
        width: 100%;
        height: 100%;
        overflow-y: scroll;
        flex-direction: column;
        align-items: center;
        padding-top: 100px;
        background: #18933b;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
        z-index: 99999;
        padding-bottom: 100px; } }
    .l-header__group-list00 {
      position: relative; }
      .l-header__group-list00::before {
        content: '';
        width: 25px;
        height: 6px;
        background-image: url(images/arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 10px;
        transform: translateY(-50%);
        right: 0;
        filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%);
        display: none; }
        @media screen and (max-width: 782px) {
          .l-header__group-list00::before {
            display: block; } }
    .l-header__group-list {
      font-size: 1.4rem;
      position: relative;
      transition: all 0.3s;
      margin-right: 27px;
      height: 100%;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 782px) {
        .l-header__group-list {
          flex-direction: column;
          align-items: flex-start; } }
      .l-header__group-list::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #45B035;
        transform-origin: right;
        transform: scaleX(0);
        transition: transform .3s ease-in-out;
        z-index: 100; }
        @media screen and (max-width: 782px) {
          .l-header__group-list::after {
            display: none; } }
      .l-header__group-list:hover {
        opacity: 1;
        cursor: pointer; }
        .l-header__group-list:hover::after {
          width: 100%;
          height: 1px;
          transform-origin: left;
          transform: scaleX(1); }
        .l-header__group-list:hover .l-header__group02 {
          opacity: 1;
          visibility: visible; }
      .l-header__group-list-pc {
        display: flex; }
        @media screen and (max-width: 782px) {
          .l-header__group-list-pc {
            display: none; } }
      .l-header__group-list-sp {
        display: none; }
        @media screen and (max-width: 782px) {
          .l-header__group-list-sp {
            display: block; } }
      @media screen and (max-width: 782px) {
        .l-header__group-list {
          width: 82%; } }
    @media screen and (max-width: 782px) {
      .l-header__group-list:not(:last-of-type) {
        margin-right: 0;
        margin-bottom: 35px; } }
    .l-header__group-link {
      font-size: 1.6rem;
      display: flex;
      align-items: center;
      color: #222222; }
      @media screen and (max-width: 782px) {
        .l-header__group-link {
          font-size: 16px;
          width: fit-content;
          color: #ffffff; } }
      @media screen and (max-width: 782px) {
        .l-header__group-link-full {
          width: 100%; } }
    .l-header__group-icon {
      width: 2rem;
      object-fit: contain;
      margin-top: -1px;
      margin-right: 5px; }
  @media screen and (max-width: 782px) {
    .l-header .js-group.open {
      opacity: 1;
      visibility: visible; } }
  .l-header__group02 {
    position: absolute;
    left: -4rem;
    top: 11rem;
    transform: translateX(-50%);
    width: max-content;
    height: auto;
    background: #ffffff;
    padding: 3rem 3.2rem 4rem 2.8rem;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s; }
    @media screen and (max-width: 782px) {
      .l-header__group02 {
        display: none;
        position: static;
        opacity: 1;
        visibility: visible;
        left: unset;
        top: unset;
        transform: none;
        width: 100%;
        margin-top: 20px;
        background: transparent;
        padding: 20px 0; } }
    .l-header__group02-frame {
      display: flex; }
      @media screen and (max-width: 782px) {
        .l-header__group02-frame {
          flex-direction: column; } }
    .l-header__group02-block {
      width: fit-content; }
      @media screen and (max-width: 782px) {
        .l-header__group02-block {
          width: 100%; } }
    .l-header__group02-block:first-of-type {
      margin-right: 3.2rem; }
      @media screen and (max-width: 782px) {
        .l-header__group02-block:first-of-type {
          margin-right: 0;
          margin-bottom: 30px; } }
    @media screen and (max-width: 782px) {
      .l-header__group02-list {
        text-align: left; } }
    .l-header__group02-list-pc00 {
      font-size: 1.6rem;
      display: flex;
      align-items: center;
      color: #222222;
      padding-bottom: 5px;
      margin-bottom: 3rem;
      border-bottom: 1px solid #45B035;
      width: fit-content; }
      @media screen and (max-width: 782px) {
        .l-header__group02-list-pc00 {
          display: none; } }
    .l-header__group02-list:not(:last-of-type) {
      margin-bottom: 3rem; }
      @media screen and (max-width: 782px) {
        .l-header__group02-list:not(:last-of-type) {
          margin-bottom: 30px; } }
    .l-header__group02-link {
      font-size: 1.6rem;
      display: block;
      width: 100%;
      height: 100%;
      transition: all 0.3s; }
      .l-header__group02-link:hover {
        color: #45B035;
        transition: color .3s ease; }
      @media screen and (max-width: 782px) {
        .l-header__group02-link {
          font-size: 16px;
          color: #ffffff; } }
  .l-header__sp {
    display: none; }
    @media screen and (max-width: 782px) {
      .l-header__sp {
        display: block;
        margin-top: 60px; } }
    .l-header__sp-group-list:not(:last-of-type) {
      margin-bottom: 30px; }
    .l-header__sp-group-link {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #ffffff; }
    .l-header__sp-group-icon01 {
      width: 30px;
      height: 30px;
      object-fit: contain;
      margin-right: 15px; }
    .l-header__sp-group-icon02 {
      width: 30px;
      height: 30px;
      object-fit: contain;
      margin-right: 15px;
      filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%); }
    .l-header__sp-group-icon03 {
      width: 50px;
      height: 50px;
      object-fit: contain;
      margin-left: 5px;
      filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%); }
    .l-header__sp-group-span01 {
      font-size: 38px;
      font-weight: bold;
      letter-spacing: 0.05em; }
    .l-header__sp-group-span02 {
      font-size: 22px;
      letter-spacing: 0.02em;
      text-decoration: underline; }
    .l-header__sp-group-span03 {
      font-size: 13px;
      letter-spacing: 0.05em;
      text-decoration: underline; }

.l-header.line::before {
  animation: line 1s ease-in-out;
  background: #45B035;
  display: block; }
@keyframes line {
  0% {
    left: -100%; }
  100% {
    left: 100%; } }
.l-header.active {
  background: #ffffff;
  border-bottom: 1px solid #ededed; }
  .l-header.active .l-header__logo img {
    filter: unset; }
  @media screen and (max-width: 782px) {
    .l-header.active .l-header__group-link {
      color: #ffffff !important; } }
  .l-header.active .l-header__group-link {
    color: #222222; }
  .l-header.active .l-header__group-icon {
    filter: unset; }

.l-header.filter {
  background: #ffffff; }
  .l-header.filter .l-header__logo img {
    filter: unset; }

@media screen and (max-width: 782px) {
  .js-group.open {
    visibility: visible;
    opacity: 1; } }

@media screen and (max-width: 782px) {
  .js-group02.open {
    display: block; } }

.js-btn {
  position: fixed;
  top: 7px;
  right: 5.5%;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  display: none;
  z-index: 999999;
  background: #45B035;
  border-radius: 50%; }
  @media screen and (max-width: 782px) {
    .js-btn {
      display: block; } }

.js-btn-frame {
  position: relative; }

.js-btn span {
  display: inline-block;
  transition: all 0.5s;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  background: #ffffff;
  width: 28px; }

.js-btn span:nth-of-type(1) {
  top: 18px; }

.js-btn span:nth-of-type(2) {
  top: 28px; }

.js-btn.open span:nth-of-type(1) {
  top: 18px;
  left: 50%;
  transform: translate(-50%, 6px) rotate(-45deg);
  width: 28px; }

.js-btn.open span:nth-of-type(2) {
  top: 30px;
  left: 50%;
  transform: translate(-50%, -6px) rotate(45deg);
  width: 28px; }

@media screen and (max-width: 782px) {
  .js-group {
    height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100); } }

/*header--------------------*/
/*main--------------------*/
.l-main {
  margin-top: 10rem; }
  @media screen and (max-width: 782px) {
    .l-main {
      margin-top: 8rem; } }

@media screen and (max-width: 782px) {
  .home .l-main {
    margin-top: 0; } }

/*main--------------------*/
/*footer--------------------*/
.home .l-footer {
  background-image: url(images/top/fv_img.jpg); }
  @media screen and (max-width: 782px) {
    .home .l-footer {
      background-image: unset; } }
  .home .l-footer::before {
    display: none; }
  @media screen and (max-width: 782px) {
    .home .l-footer__contact {
      background-image: url(images/top/fv_img.jpg); } }

.l-footer {
  color: #ffffff;
  background-image: url(images/footer_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  position: relative; }
  @media screen and (max-width: 782px) {
    .l-footer {
      background-image: unset; } }
  .l-footer a {
    color: #ffffff; }
  .l-footer__contact {
    padding: 10rem 0 9rem 0;
    position: relative; }
    @media screen and (max-width: 782px) {
      .l-footer__contact {
        padding: 60px 0;
        background-image: url(images/footer_bg.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: left;
        z-index: 10; } }
    .l-footer__contact::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: block;
      z-index: 10;
      background: rgba(45, 42, 59, 0.25); }
      @media screen and (max-width: 782px) {
        .l-footer__contact::before {
          display: block; } }
    .l-footer__contact .l-inner-s {
      position: relative;
      z-index: 10; }
    .l-footer__contact .c-ttl {
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .l-footer__contact .c-ttl {
          margin-bottom: 15px; } }
      .l-footer__contact .c-ttl-ja {
        color: #ffffff; }
      .l-footer__contact .c-ttl-img {
        width: 31rem; }
        @media screen and (max-width: 782px) {
          .l-footer__contact .c-ttl-img {
            width: 280px; } }
    .l-footer__contact-txt {
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      line-height: 2;
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .l-footer__contact-txt {
          font-size: 15px;
          margin-bottom: 45px; } }
    .l-footer__contact-group {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 782px) {
        .l-footer__contact-group {
          flex-direction: column; } }
      .l-footer__contact-group-list {
        flex: 1; }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-list {
            flex: unset;
            width: 100%; } }
      @media screen and (max-width: 782px) {
        .l-footer__contact-group-list:first-of-type {
          margin-bottom: 40px; } }
      .l-footer__contact-group-list:last-of-type .l-footer__contact-group-link {
        justify-content: center;
        margin-left: auto;
        margin-right: auto; }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-list:last-of-type .l-footer__contact-group-link {
            justify-content: center;
            margin-left: 0; } }
      .l-footer__contact-group-link {
        display: flex;
        align-items: center;
        width: fit-content;
        height: 100%; }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-link {
            justify-content: center; } }
      .l-footer__contact-group-link02:hover .l-footer__contact-group-circle::before {
        transform: translate(-50%, -50%) scale(1.1); }
      .l-footer__contact-group-icon01 {
        width: 3.5rem;
        object-fit: contain;
        margin-right: 1rem; }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-icon01 {
            width: 28px;
            margin-right: 15px; } }
      .l-footer__contact-group-icon02 {
        width: 3.3rem;
        object-fit: contain;
        margin-right: 1rem;
        filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%); }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-icon02 {
            width: 28px;
            margin-right: 15x; } }
      .l-footer__contact-group-icon03 {
        width: 24px;
        height: 3px;
        object-fit: contain;
        object-fit: contain;
        filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%);
        transition: all 0.3s; }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-icon03 {
            width: 50px; } }
      .l-footer__contact-group-circle {
        width: 10.8rem;
        height: 10.8rem;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        margin-left: 4rem; }
        .l-footer__contact-group-circle::before {
          content: "";
          width: 8rem;
          height: 8rem;
          border-radius: 50%;
          border: 1px solid #ffffff;
          transition: all 0.3s;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: all 0.3s; }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-circle {
            margin-left: 15px; } }
      .l-footer__contact-group-span01 {
        font-size: 5.4rem;
        font-weight: bold;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 1024px) {
          .l-footer__contact-group-span01 {
            font-size: 4rem; } }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-span01 {
            font-size: 34px; } }
      .l-footer__contact-group-span02 {
        font-size: 3rem;
        letter-spacing: 0.02em;
        text-decoration: underline; }
        @media screen and (max-width: 1024px) {
          .l-footer__contact-group-span02 {
            font-size: 2.4rem; } }
        @media screen and (max-width: 782px) {
          .l-footer__contact-group-span02 {
            font-size: 15px; } }
  .l-footer__main {
    position: relative;
    z-index: 10; }
    .l-footer__main::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(45, 42, 59, 0.25); }
      @media screen and (max-width: 782px) {
        .l-footer__main::before {
          display: block; } }
    .l-footer__main .l-inner-w {
      height: 100%;
      background: #18933b;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (max-width: 782px) {
        .l-footer__main .l-inner-w {
          width: 100%; } }
    .l-footer__main .l-inner-s {
      background: #18933b;
      padding: 10rem 0 3rem 0;
      position: relative; }
      @media screen and (max-width: 1366px) {
        .l-footer__main .l-inner-s {
          padding: 10rem 3rem 3rem 0; } }
      @media screen and (max-width: 782px) {
        .l-footer__main .l-inner-s {
          padding: 40px 0 130px 0; } }
      .l-footer__main .l-inner-s::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        left: -100%;
        height: 100%;
        background: #18933b; }
    .l-footer__main-frame {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media screen and (max-width: 782px) {
        .l-footer__main-frame {
          flex-direction: column-reverse; } }
  .l-footer__switch {
    position: absolute;
    top: 6px;
    right: 0;
    display: none;
    width: 70%;
    height: 15px; }
    @media screen and (max-width: 782px) {
      .l-footer__switch {
        display: block; } }
    .l-footer__switch-frame {
      margin-left: auto;
      position: relative;
      width: 15px; }
    .l-footer__switch-span01 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 6.5px;
      width: 2px;
      height: 15px;
      background: #ffffff;
      transition: all 0.3s;
      visibility: visible;
      opacity: 1; }
    .l-footer__switch-span02 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      width: 15px;
      height: 2px;
      background: #ffffff; }
  .l-footer .js-switch.active .l-footer__switch-span01 {
    opacity: 0;
    visibility: hidden; }
  .l-footer__group {
    display: flex;
    margin-bottom: 13rem; }
    @media screen and (max-width: 782px) {
      .l-footer__group {
        width: 100%;
        height: 100%;
        flex-direction: column;
        align-items: center;
        margin-bottom: 80px; } }
    @media screen and (max-width: 782px) {
      .l-footer__group-block {
        width: 100%; } }
    .l-footer__group-block:not(:last-of-type) {
      margin-right: 9rem; }
      @media screen and (max-width: 782px) {
        .l-footer__group-block:not(:last-of-type) {
          margin-right: 0; } }
    .l-footer__group-list00 {
      position: relative; }
      .l-footer__group-list00::before {
        content: '';
        width: 25px;
        height: 6px;
        background-image: url(images/arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 10px;
        transform: translateY(-50%);
        right: 0;
        filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%);
        display: none; }
        @media screen and (max-width: 782px) {
          .l-footer__group-list00::before {
            display: block; } }
    .l-footer__group-list {
      font-size: 1.7rem;
      position: relative;
      z-index: 0; }
      @media screen and (max-width: 782px) {
        .l-footer__group-list {
          margin-bottom: 40px; } }
    @media screen and (max-width: 782px) {
      .l-footer__group-list:not(:last-of-type) {
        margin-right: 0; } }
    .l-footer__group-link {
      font-size: 1.7rem;
      color: #ffffff;
      margin-bottom: 2rem;
      display: inline-block;
      position: relative;
      z-index: 10; }
      .l-footer__group-link::before {
        content: "";
        width: 100%;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s;
        opacity: 0;
        position: absolute;
        left: 0;
        bottom: -3px; }
        @media screen and (max-width: 782px) {
          .l-footer__group-link::before {
            display: none; } }
      @media screen and (max-width: 782px) {
        .l-footer__group-link {
          font-size: 16px;
          width: fit-content;
          color: #ffffff;
          margin-bottom: 0; } }
      .l-footer__group-link:hover {
        opacity: 1; }
        .l-footer__group-link:hover::before {
          opacity: 1; }
      @media screen and (max-width: 782px) {
        .l-footer__group-link-full {
          width: 100%; } }
  @media screen and (max-width: 782px) {
    .l-footer .js-group.open {
      opacity: 1;
      visibility: visible; } }
  .l-footer__group02 {
    height: auto;
    border-left: 1px solid #ffffff;
    padding-left: 2rem;
    margin-bottom: 2rem; }
    @media screen and (max-width: 782px) {
      .l-footer__group02 {
        display: none;
        position: static;
        opacity: 1;
        visibility: visible;
        left: unset;
        top: unset;
        transform: none;
        width: 100%;
        margin-top: 20px;
        background: transparent; } }
    .l-footer__group02-list:not(:last-of-type) {
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .l-footer__group02-list:not(:last-of-type) {
          margin-bottom: 30px; } }
    .l-footer__group02-link {
      position: relative; }
      .l-footer__group02-link::before {
        content: "";
        width: 100%;
        height: 1px;
        background: #ffffff;
        transition: all 0.3s;
        opacity: 0;
        position: absolute;
        left: 0;
        bottom: -3px; }
        @media screen and (max-width: 782px) {
          .l-footer__group02-link::before {
            display: none; } }
      @media screen and (max-width: 782px) {
        .l-footer__group02-link {
          color: #ffffff;
          font-size: 14px; } }
      .l-footer__group02-link:hover {
        opacity: 1; }
        .l-footer__group02-link:hover::before {
          opacity: 1; }
  .l-footer__company {
    margin-right: 1rem; }
    .l-footer__company-logo {
      width: 9.5rem;
      display: inline-block;
      margin-bottom: 1rem; }
      @media screen and (max-width: 782px) {
        .l-footer__company-logo {
          width: 95px;
          margin-bottom: 20px; } }
    .l-footer__company-name {
      font-size: 2.1rem;
      letter-spacing: 0.05em;
      margin-bottom: 3rem; }
      @media screen and (max-width: 782px) {
        .l-footer__company-name {
          font-size: 16px;
          margin-bottom: 20px; } }
    .l-footer__company-address {
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      line-height: 1.7333333333;
      margin-bottom: 3rem; }
      @media screen and (max-width: 782px) {
        .l-footer__company-address {
          font-size: 14px;
          margin-bottom: 15px; } }
    .l-footer__company-list {
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      margin-bottom: 3rem; }
      @media screen and (max-width: 782px) {
        .l-footer__company-list {
          font-size: 13px;
          margin-bottom: 40px; } }
      .l-footer__company-list span {
        font-size: 2.6rem;
        font-weight: bold;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 782px) {
          .l-footer__company-list span {
            font-size: 13px;
            font-weight: normal; } }
    .l-footer__company-list:first-of-type {
      margin-bottom: 1rem; }
  .l-footer__copy {
    display: flex;
    justify-content: flex-end;
    width: 100%; }
    @media screen and (max-width: 782px) {
      .l-footer__copy {
        flex-direction: column-reverse;
        justify-content: flex-start; } }
    .l-footer__copy-txt {
      font-size: 12px;
      margin-right: 7rem; }
      @media screen and (max-width: 782px) {
        .l-footer__copy-txt {
          margin-right: 0; } }
    .l-footer__copy-group {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 782px) {
        .l-footer__copy-group {
          margin-bottom: 20px; } }
      .l-footer__copy-group-list:not(:last-of-type) {
        margin-right: 2rem; }
      .l-footer__copy-group-link {
        font-size: 13px;
        font-weight: bold;
        letter-spacing: 0.05em;
        width: 100%;
        height: 100%;
        display: block; }

.scroll {
  position: absolute;
  right: 5rem;
  bottom: 5rem;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 782px) {
    .scroll {
      right: 20px;
      bottom: 20px; } }
  .scroll:hover {
    cursor: pointer; }
  .scroll-icon {
    height: 3rem;
    object-fit: contain;
    margin-bottom: 3rem; }
    @media screen and (max-width: 782px) {
      .scroll-icon {
        margin-bottom: 10px; } }
  .scroll-txt {
    font-size: 11px;
    letter-spacing: 0.05em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.25); }

/*footer--------------------*/
/*nav --------------------*/
.l-nav .c-ttl-green {
  font-size: 4rem;
  margin-bottom: 8rem; }
  @media screen and (max-width: 782px) {
    .l-nav .c-ttl-green {
      font-size: 26px;
      margin-bottom: 30px; } }
.l-nav__frame {
  padding: 10rem 0 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-nav__frame {
      padding: 50px 0 70px 0; } }
.l-nav__group {
  display: flex;
  flex-wrap: wrap; }
  .l-nav__group-list {
    width: calc(100%/3 - 9rem/3);
    border-bottom: 1px solid #C4C4C4;
    position: relative; }
    .l-nav__group-list::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background: #222725;
      transform-origin: right;
      transform: scaleX(0);
      transition: transform .3s ease-in-out;
      z-index: 10; }
    .l-nav__group-list:hover::before {
      transform-origin: left;
      transform: scaleX(1); }
    @media screen and (max-width: 782px) {
      .l-nav__group-list {
        width: 100%; } }
  .l-nav__group-list:not(:nth-of-type(3n)) {
    margin-right: 4.5rem; }
    @media screen and (max-width: 782px) {
      .l-nav__group-list:not(:nth-of-type(3n)) {
        margin-right: 0; } }
  .l-nav__group-link {
    font-size: 2.8rem;
    padding: 4rem 0 2rem 0;
    width: 100%;
    height: 100%;
    display: block;
    position: relative; }
    @media screen and (max-width: 1920px) {
      .l-nav__group-link {
        font-size: 2.2rem; } }
    @media screen and (max-width: 1024px) {
      .l-nav__group-link {
        font-size: 1.8rem; } }
    @media screen and (max-width: 782px) {
      .l-nav__group-link {
        font-size: 16px;
        padding: 15px 0; } }
    .l-nav__group-link::before {
      content: '';
      width: 25px;
      height: 5px;
      background-image: url(images/arrow.svg);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      top: 65%;
      transform: translateY(-65%);
      right: 0; }

.l-nav-sub__frame {
  padding: 5rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-nav-sub__frame {
      padding: 50px 0; } }
.l-nav-sub__group {
  display: flex;
  flex-wrap: wrap; }
  .l-nav-sub__group-list {
    width: calc(100%/3 - 9rem/3);
    border-bottom: 1px solid #C4C4C4;
    position: relative; }
    .l-nav-sub__group-list::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background: #222725;
      transform-origin: right;
      transform: scaleX(0);
      transition: transform .3s ease-in-out;
      z-index: 10; }
    .l-nav-sub__group-list:hover::before {
      transform-origin: left;
      transform: scaleX(1); }
    @media screen and (max-width: 782px) {
      .l-nav-sub__group-list {
        width: 100%; } }
  .l-nav-sub__group-list:not(:nth-of-type(3n)) {
    margin-right: 4.5rem; }
    @media screen and (max-width: 782px) {
      .l-nav-sub__group-list:not(:nth-of-type(3n)) {
        margin-right: 0; } }
  .l-nav-sub__group-link {
    font-size: 2.8rem;
    padding: 4rem 0 2rem 0;
    width: 100%;
    height: 100%;
    display: block;
    position: relative; }
    @media screen and (max-width: 1920px) {
      .l-nav-sub__group-link {
        font-size: 2.2rem; } }
    @media screen and (max-width: 1024px) {
      .l-nav-sub__group-link {
        font-size: 1.8rem; } }
    @media screen and (max-width: 782px) {
      .l-nav-sub__group-link {
        font-size: 16px;
        padding: 15px 0; } }
    .l-nav-sub__group-link span {
      font-size: 1.8rem; }
    .l-nav-sub__group-link::before {
      content: '';
      width: 25px;
      height: 5px;
      background-image: url(images/arrow.svg);
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      top: 65%;
      transform: translateY(-65%);
      right: 0; }

.l-nav-sub02 .l-nav-sub__group {
  justify-content: center; }
  .l-nav-sub02 .l-nav-sub__group-list:not(:nth-of-type(3n)) {
    margin-right: unset; }
    @media screen and (max-width: 782px) {
      .l-nav-sub02 .l-nav-sub__group-list:not(:nth-of-type(3n)) {
        margin-right: unset; } }
  .l-nav-sub02 .l-nav-sub__group-list:not(:last-of-type) {
    margin-right: 4.5rem; }
    @media screen and (max-width: 782px) {
      .l-nav-sub02 .l-nav-sub__group-list:not(:last-of-type) {
        margin-right: 0; } }

.l-nav .white {
  background: #ffffff; }

/*nav --------------------*/
/*technology --------------------*/
.l-technology {
  padding: 10rem 0 16rem 0;
  background: #ffffff; }
  @media screen and (max-width: 782px) {
    .l-technology {
      padding: 50px 0 70px 0; } }
  @media screen and (max-width: 782px) {
    .l-technology .c-ttl-green {
      font-size: 26px;
      margin-bottom: 50px; } }
  .l-technology .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .l-technology .l-inner-w {
        flex-direction: column; } }
  .l-technology__switch {
    position: absolute;
    top: 5rem;
    right: 0;
    width: 70%;
    height: 25px; }
    @media screen and (max-width: 782px) {
      .l-technology__switch {
        top: 35px;
        width: 50%; } }
    .l-technology__switch-frame {
      margin-left: auto;
      position: relative;
      width: 25px; }
    .l-technology__switch-span01 {
      position: absolute;
      top: 50%;
      right: 11.5px;
      transform: translateY(-50%);
      width: 2px;
      height: 25px;
      background: #45B035;
      transition: all 0.3s;
      visibility: visible;
      opacity: 1; }
    .l-technology__switch-span02 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      width: 25px;
      height: 2px;
      background: #45B035; }
  .l-technology .js-t-switch.active .l-technology__switch-span01 {
    opacity: 0;
    visibility: hidden; }
  .l-technology__group {
    width: 67%; }
    @media screen and (max-width: 782px) {
      .l-technology__group {
        width: 100%; } }
    .l-technology__group-list00 {
      position: relative; }
      .l-technology__group-list00::after {
        content: '';
        width: 25px;
        height: 6px;
        background-image: url(images/arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 5rem;
        right: 0;
        z-index: 50; }
        @media screen and (max-width: 782px) {
          .l-technology__group-list00::after {
            top: 30px;
            margin-bottom: 50px; } }
    .l-technology__group-list {
      border-top: 1px solid #c4c4c4;
      position: relative; }
      .l-technology__group-list::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: 100%;
        height: 1px;
        background: #222725;
        transform-origin: right;
        transform: scaleX(0);
        transition: transform .3s ease-in-out;
        z-index: 10; }
      .l-technology__group-list:hover {
        border-top: 1px solid #c4c4c4; }
        .l-technology__group-list:hover .l-technology__group-link {
          transform: translateX(10px); }
        .l-technology__group-list:hover::before {
          transform-origin: left;
          transform: scaleX(1); }
    .l-technology__group-list:last-of-type {
      border-bottom: 1px solid #c4c4c4; }
    .l-technology__group-link {
      font-size: 3.6rem;
      font-weight: bold;
      padding: 3rem 0 7.5rem 0;
      width: fit-content;
      height: 100%;
      display: block;
      transition: all 0.3s; }
      @media screen and (max-width: 782px) {
        .l-technology__group-link {
          font-size: 18px;
          padding: 25px 0; } }
  .l-technology .js-t-ac {
    opacity: 0;
    height: 0;
    transition: all 0.3s;
    padding: 0 20px; }
  .l-technology .js-t-ac.open {
    opacity: 1;
    height: 100%;
    padding: 4rem 20px; }
  .l-technology__group02 {
    background: #FAFAFA;
    padding: 4rem 20px;
    border-top: 1px solid #C4C4C4;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 782px) {
      .l-technology__group02 {
        flex-direction: column;
        padding: 25px 10px; } }
    .l-technology__group02-list {
      position: relative;
      width: calc(100%/3 - 12rem/3); }
      @media screen and (max-width: 782px) {
        .l-technology__group02-list {
          width: 100%; } }
      .l-technology__group02-list::before {
        content: '';
        width: 25px;
        height: 3px;
        background-image: url(images/arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0; }
      .l-technology__group02-list:hover .l-technology__group02-link {
        transform: translateX(10px); }
      .l-technology__group02-list-pc {
        line-height: 1.6; }
        @media screen and (max-width: 1024px) {
          .l-technology__group02-list-pc {
            line-height: unset; } }
    .l-technology__group02-list:not(:nth-of-type(3n)) {
      margin-right: 6rem; }
      @media screen and (max-width: 782px) {
        .l-technology__group02-list:not(:nth-of-type(3n)) {
          margin-right: 0; } }
    .l-technology__group02-list:nth-of-type(n+4) {
      margin-top: 7.5rem; }
      @media screen and (max-width: 782px) {
        .l-technology__group02-list:nth-of-type(n+4) {
          margin-top: 0; } }
    @media screen and (max-width: 782px) {
      .l-technology__group02-list:not(:last-of-type) {
        margin-bottom: 50px; } }
    .l-technology__group02-link {
      font-size: 2.2rem;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      transition: all 0.3s; }
      @media screen and (max-width: 1694px) {
        .l-technology__group02-link {
          font-size: 1.7rem; } }
      @media screen and (max-width: 1599px) {
        .l-technology__group02-link {
          font-size: 1.8rem; } }
      @media screen and (max-width: 1494px) {
        .l-technology__group02-link {
          font-size: 1.7rem; } }
      @media screen and (max-width: 1199px) {
        .l-technology__group02-link {
          font-size: 1.6rem; } }
      @media screen and (max-width: 1024px) {
        .l-technology__group02-link {
          font-size: 16px; } }

/*technology --------------------*/
/*entry --------------------*/
.l-entry {
  display: flex; }
  @media screen and (max-width: 782px) {
    .l-entry {
      flex-direction: column; } }
  .l-entry__btn {
    display: flex;
    align-items: center;
    width: 50%;
    background: linear-gradient(90deg, #45b035 0%, #27611e 50%, #063a24 100%); }
    @media screen and (max-width: 782px) {
      .l-entry__btn {
        width: 100%; } }
    .l-entry__btn:hover .l-entry__btn-circle::before {
      transform: translate(-50%, -50%) scale(1.1); }
    .l-entry__btn-link {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: space-between;
      padding: 8rem 10%;
      color: #ffffff; }
      @media screen and (max-width: 1024px) {
        .l-entry__btn-link {
          padding: 8rem 2%; } }
      @media screen and (max-width: 782px) {
        .l-entry__btn-link {
          padding: 50px 25px; } }
    .l-entry__btn-span {
      font-size: 16px;
      letter-spacing: 0.05em;
      font-family: 'Roboto', sans-serif;
      display: block;
      margin-bottom: 1rem; }
      @media screen and (max-width: 1366px) {
        .l-entry__btn-span {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .l-entry__btn-span {
          font-size: 24px; } }
    .l-entry__btn-ttl {
      font-size: 4.8rem;
      font-weight: bold;
      letter-spacing: 0.05em;
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .l-entry__btn-ttl {
          font-size: 2.4rem; } }
    .l-entry__btn-txt {
      font-size: 18px;
      font-weight: bold;
      letter-spacing: 0.05em;
      padding-left: 2.5rem;
      position: relative; }
      @media screen and (max-width: 782px) {
        .l-entry__btn-txt {
          font-size: 16px; } }
      .l-entry__btn-txt::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 2rem;
        height: 1px;
        background: #ffffff; }
    .l-entry__btn-circle {
      width: 15.8rem;
      height: 15.8rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative; }
      .l-entry__btn-circle::before {
        content: "";
        width: 10.8rem;
        height: 10.8rem;
        border-radius: 50%;
        border: 1px solid #ffffff;
        transition: all 0.3s;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s; }
    .l-entry__btn-icon {
      width: 24px;
      height: 3px;
      object-fit: contain;
      filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%); }
      @media screen and (max-width: 782px) {
        .l-entry__btn-icon {
          width: 90px; } }
  @media screen and (max-width: 782px) {
    .l-entry__btn:last-of-type {
      background: linear-gradient(90deg, #063a24 0%, #27611e 50%, #45b035 100%); } }

/*entry --------------------*/
/*contact--------------------*/
.l-form {
  padding: 4rem 0 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-form {
      padding: 50px 0; } }
  .l-form .wpcf7-radio {
    display: flex;
    flex-direction: column; }
    .l-form .wpcf7-radio .wpcf7-list-item:first-of-type {
      margin-bottom: 2.5rem; }
  .l-form .wpcf7 form.sent .wpcf7-response-output, .l-form .wpcf7 form .wpcf7-response-output {
    font-size: 15px;
    line-height: 1.8; }
  .l-form ::placeholder {
    font-family: 'Noto Sans JP', sans-serif;
    color: #666666; }
  .l-form__txt {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-bottom: 5rem; }
    @media screen and (max-width: 782px) {
      .l-form__txt {
        margin-bottom: 25px; } }
  .l-form__group {
    background: #FAFAFA; }
    .l-form__group-item {
      font-size: 1.8rem;
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .l-form__group-item {
          font-size: 14px;
          margin-bottom: 50px; } }
    .l-form__group-first {
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .l-form__group-first {
          margin-bottom: 20px; } }
    .l-form__group-span {
      font-weight: bold; }
    .l-form__group-need {
      font-size: 1.4rem;
      color: #c1212b; }
      @media screen and (max-width: 782px) {
        .l-form__group-need {
          font-size: 12px; } }
    .l-form__group-note {
      font-size: 1.4rem;
      margin-top: 1.5rem;
      display: block; }
    .l-form__group-second02 {
      display: flex;
      flex-direction: row-reverse;
      justify-content: flex-end; }
      @media screen and (max-width: 782px) {
        .l-form__group-second02 {
          flex-direction: column-reverse; } }
    .l-form__group .wpcf7-select {
      border: none;
      background: #e4e4e4;
      padding: 2.5rem 1rem;
      border-radius: 6px; }
    .l-form__group-input {
      width: 100%;
      border-radius: 6px;
      background: #e4e4e4;
      padding: 2.5rem 1rem;
      font-size: 1.8rem; }
      @media screen and (max-width: 782px) {
        .l-form__group-input {
          font-size: 18px; } }
    .l-form__group-textarea {
      height: 25rem; }
    .l-form__group-address-block01 {
      display: flex;
      justify-content: space-between;
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .l-form__group-address-block01 {
          flex-direction: column;
          margin-bottom: 0; } }
      .l-form__group-address-block01 .l-form__group-address-frame {
        width: 48%; }
        @media screen and (max-width: 782px) {
          .l-form__group-address-block01 .l-form__group-address-frame {
            width: 100%; } }
    @media screen and (max-width: 782px) {
      .l-form__group-address-frame {
        margin-bottom: 25px; } }
    .l-form__group-address-span {
      font-size: 16px;
      display: block;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 1366px) {
        .l-form__group-address-span {
          font-size: 15px; } }
    .l-form__group-address .wpcf7-select {
      width: 100%; }
    .l-form__group-file {
      background: linear-gradient(90deg, #45b035 0%, #27611e 50%, #063a24 100%);
      color: #ffffff;
      font-size: 16px;
      width: 100%;
      height: 100%;
      border-radius: 6px;
      padding: 2.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 99999;
      position: relative;
      margin-left: 5px; }
      @media screen and (max-width: 1366px) {
        .l-form__group-file {
          font-size: 15px; } }
      .l-form__group-file-delete {
        background: #8D8D8D;
        margin-left: 10px; }
        @media screen and (max-width: 782px) {
          .l-form__group-file-delete {
            margin-left: 0;
            margin-top: 10px; } }
      @media screen and (max-width: 782px) {
        .l-form__group-file {
          width: 200px;
          margin-left: 0; } }
      .l-form__group-file :hover {
        cursor: pointer; }
    .l-form__group-txt {
      margin-top: 1rem;
      font-size: 12px;
      color: #666666; }
    .l-form__group label :hover {
      cursor: pointer; }
    .l-form__group input[type=file] {
      position: relative;
      font-size: 16px;
      color: #666666;
      font-family: 'Noto Sans JP', sans-serif;
      width: auto; }
      @media screen and (max-width: 1366px) {
        .l-form__group input[type=file] {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .l-form__group input[type=file] {
          width: 100%;
          margin-bottom: 10px; } }
    .l-form__group input[type=file]:focus {
      outline: none; }
    .l-form__group input[type=file]::file-selector-button,
    .l-form__group input[type=file]::-webkit-file-upload-button {
      display: none; }
    .l-form__group .wpcf7-not-valid {
      background: #faebd7; }
    .l-form__group-block {
      border: 1px solid #fafafa;
      border-radius: 6px;
      padding: 5rem; }
      @media screen and (max-width: 782px) {
        .l-form__group-block {
          padding: 25px 0; } }
      .l-form__group-block-lead {
        font-size: 2rem;
        line-height: 1.5;
        font-weight: bold;
        margin-bottom: 2rem; }
        @media screen and (max-width: 782px) {
          .l-form__group-block-lead {
            font-size: 16px;
            margin-bottom: 15px; } }
      .l-form__group-block-txt {
        font-size: 16px;
        line-height: 2;
        margin-bottom: 2rem; }
        @media screen and (max-width: 1366px) {
          .l-form__group-block-txt {
            font-size: 15px; } }
        @media screen and (max-width: 782px) {
          .l-form__group-block-txt {
            font-size: 14px;
            margin-bottom: 25px; } }
      .l-form__group-block-frame-span {
        text-decoration: underline; }
      .l-form__group-block-frame:first-of-type {
        margin-bottom: 5rem; }
      .l-form__group-block .wpcf7-list-item {
        font-size: 16px;
        line-height: 2; }
        @media screen and (max-width: 1366px) {
          .l-form__group-block .wpcf7-list-item {
            font-size: 15px; } }
    .l-form__group-btn {
      width: 100%;
      border-radius: 6px;
      position: relative;
      margin-left: auto;
      margin-right: auto; }
      .l-form__group-btn .wpcf7-spinner {
        display: none; }
      .l-form__group-btn::before {
        content: "";
        background-image: url(images/arrow.svg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        width: 25px;
        height: 3px;
        position: absolute;
        top: 50%;
        right: 3rem;
        transform: translateY(-50%);
        filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(97deg) brightness(99%) contrast(99%);
        z-index: 10; }
      .l-form__group-btn-submit {
        background: linear-gradient(90deg, #45b035 0%, #27611e 50%, #063a24 100%);
        color: #ffffff;
        font-size: 16px;
        padding: 2.5rem 0;
        width: 100%;
        height: 100%;
        border-radius: 6px; }
        @media screen and (max-width: 1366px) {
          .l-form__group-btn-submit {
            font-size: 15px; } }

_::-webkit-full-page-media, _:future, :root .l-form .wpcf7-select {
  height: 50px; }

/*contact--------------------*/
/*l-business-child --------------------*/
.l-business-child {
  padding: 13rem 0 17rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-business-child {
      padding: 50px 0; } }
  .l-business-child__group-item {
    background: #ffffff;
    padding: 10rem 0; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-item {
        padding: 24px 0; } }
  .l-business-child__group-item:not(:last-of-type) {
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-item:not(:last-of-type) {
        margin-bottom: 50px; } }
  .l-business-child__group-frame {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 4rem; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-frame {
        flex-direction: column-reverse;
        margin-bottom: 30px; } }
  .l-business-child__group-thumbnail {
    width: 32%; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-thumbnail {
        width: 100%; } }
  .l-business-child__group-thumbnail0 {
    display: none; }
  .l-business-child__group-content {
    width: 58%; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-content {
        width: 100%;
        margin-bottom: 30px; } }
  .l-business-child__group-content100 {
    width: 100%; }
  .l-business-child__group-ttl {
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4444444444;
    margin-bottom: 5.5rem;
    position: relative; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-ttl {
        font-size: 20px; } }
    .l-business-child__group-ttl::before {
      content: "";
      position: absolute;
      bottom: -2.25rem;
      left: 0;
      width: 16px;
      height: 1px;
      background: #45B035; }
  .l-business-child__group-txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #222725;
    min-height: 90px;
    margin-bottom: 7.5rem; }
    @media screen and (max-width: 1366px) {
      .l-business-child__group-txt {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .l-business-child__group-txt {
        min-height: unset;
        margin-bottom: 30px; } }
  .l-business-child__group-box {
    display: flex; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-box {
        flex-direction: column; } }
  .l-business-child__group-list {
    width: calc(100%/2 - 6rem/2); }
    @media screen and (max-width: 782px) {
      .l-business-child__group-list {
        width: 100%; } }
  .l-business-child__group-list:first-of-type {
    margin-right: 6rem; }
    @media screen and (max-width: 782px) {
      .l-business-child__group-list:first-of-type {
        margin-right: 0;
        margin-bottom: 30px; } }
  @media screen and (max-width: 782px) {
    .l-business-child__group .c-btn-icon {
      width: 50px; } }

/*c-business-child --------------------*/
/*interview--------------------*/
.people01 .l-nav, .people02 .l-nav, .people03 .l-nav {
  background: #FAFAFA; }

.l-interview-frame__question {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 2.1333333333;
  color: #45B035;
  margin-bottom: 1.5rem; }
  @media screen and (max-width: 782px) {
    .l-interview-frame__question {
      font-size: 14px;
      margin-bottom: 10px; } }
.l-interview-frame__ttl {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4583333333;
  color: #000000;
  margin-bottom: 3rem; }
  @media screen and (max-width: 782px) {
    .l-interview-frame__ttl {
      font-size: 18px;
      margin-bottom: 50px; } }
.l-interview-frame__txt {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.9375; }
  @media screen and (max-width: 1366px) {
    .l-interview-frame__txt {
      font-size: 15px; } }
  @media screen and (max-width: 782px) {
    .l-interview-frame__txt {
      font-size: 16px; } }

.l-interview-frame:not(:last-of-type) {
  margin-bottom: 6rem; }
  @media screen and (max-width: 782px) {
    .l-interview-frame:not(:last-of-type) {
      margin-bottom: 50px; } }

.l-interview-about {
  padding: 9rem 0 6rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-interview-about {
      padding: 50px 0; } }
  .l-interview-about__ttl {
    font-size: 5rem;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.4166666667;
    margin-bottom: 3rem;
    position: relative; }
    @media screen and (max-width: 782px) {
      .l-interview-about__ttl {
        font-size: 20px; } }
    .l-interview-about__ttl::before {
      content: '';
      position: absolute;
      top: -3rem;
      left: 0;
      width: 30px;
      height: 1px;
      background: #45B035; }
      @media screen and (max-width: 782px) {
        .l-interview-about__ttl::before {
          top: -25px; } }
  .l-interview-about__name {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2rem; }
    @media screen and (max-width: 782px) {
      .l-interview-about__name {
        font-size: 16px; } }
  .l-interview-about__detail {
    font-size: 16px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 1366px) {
      .l-interview-about__detail {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .l-interview-about__detail {
        font-size: 14px; } }

.l-interview01 {
  position: relative;
  background: #FAFAFA;
  padding: 0 0 20rem 0; }
  @media screen and (max-width: 782px) {
    .l-interview01 {
      padding: 0 0 50px 0; } }
  .l-interview01__thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 43%; }
    @media screen and (max-width: 782px) {
      .l-interview01__thumbnail {
        position: static;
        width: 82%;
        margin-left: auto;
        margin-right: auto; } }
  .l-interview01__box {
    width: 50%;
    margin-left: auto; }
    @media screen and (max-width: 782px) {
      .l-interview01__box {
        width: 100%;
        margin-left: 0;
        margin-bottom: 50px; } }

.l-interview02 {
  display: none; }

.l-interview03 {
  padding: 6rem 0 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-interview03 {
      padding: 50px 0; } }

.l-interview04 {
  position: relative;
  background: #FAFAFA;
  padding: 0 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .l-interview04 {
      padding: 0; } }
  .l-interview04__thumbnail {
    position: absolute;
    top: 0;
    right: 0;
    width: 43%; }
    @media screen and (max-width: 782px) {
      .l-interview04__thumbnail {
        position: static;
        width: 82%;
        margin-left: auto;
        margin-right: auto; } }
  .l-interview04__box {
    width: 50%; }
    @media screen and (max-width: 782px) {
      .l-interview04__box {
        width: 100%;
        margin-bottom: 50px; } }

.l-interview05 {
  padding: 13rem 0 17rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .l-interview05 {
      padding: 50px 0; } }

.l-interview-link {
  padding: 11rem 0 16rem 0; }
  @media screen and (max-width: 782px) {
    .l-interview-link {
      padding: 50px 0; } }
  .l-interview-link .l-inner-s {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .l-interview-link .l-inner-s {
        flex-direction: column; } }
  .l-interview-link__ttl {
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4166666667;
    position: relative;
    padding-top: 3rem; }
    @media screen and (max-width: 782px) {
      .l-interview-link__ttl {
        font-size: 20px;
        margin-bottom: 50px; } }
    .l-interview-link__ttl::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 30px;
      height: 1px;
      background: #45B035; }
  .l-interview-link__group {
    width: 70%;
    display: flex; }
    @media screen and (max-width: 782px) {
      .l-interview-link__group {
        width: 100%;
        flex-direction: column; } }
    .l-interview-link__group-item {
      width: calc(100%/2 - 8rem/2); }
      @media screen and (max-width: 782px) {
        .l-interview-link__group-item {
          width: 100%;
          margin-bottom: 50px; } }
    .l-interview-link__group-item:first-of-type {
      margin-right: 8rem; }
      @media screen and (max-width: 782px) {
        .l-interview-link__group-item:first-of-type {
          margin-right: 0; } }
    .l-interview-link__group-link {
      width: 100%;
      height: 100%;
      display: block; }
    .l-interview-link__group-thumbnail {
      margin-bottom: 1.5rem; }
    .l-interview-link__group-lead {
      font-size: 1.8rem;
      font-weight: bold;
      line-height: 1.5555555556;
      color: #000000;
      margin-bottom: 1rem; }
      @media screen and (max-width: 782px) {
        .l-interview-link__group-lead {
          font-size: 16px; } }
    .l-interview-link__group-txt {
      font-size: 16px; }
      @media screen and (max-width: 1366px) {
        .l-interview-link__group-txt {
          font-size: 15px; } }

.people01 .l-interview-about__ttl br, .people03 .l-interview-about__ttl br {
  display: none; }

/*interview--------------------*/
/*breascrumbs--------------------*/
.c-breadcrumbs {
  display: flex;
  align-items: center;
  padding: 0 0 1.5rem 0;
  width: fit-content;
  margin-left: auto; }
  @media screen and (max-width: 782px) {
    .c-breadcrumbs {
      padding: 10px 0 20px 0;
      word-break: keep-all;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch;
      min-width: fit-content; } }
  @media screen and (max-width: 782px) {
    .c-breadcrumbs-frame {
      overflow-x: scroll; } }
  .c-breadcrumbs-list:not(:last-of-type) {
    margin-right: 10px; }
  .c-breadcrumbs-link, .c-breadcrumbs-span {
    font-size: 12px;
    color: rgba(26, 26, 26, 0.38);
    width: 100%;
    height: 100%;
    display: block; }
    @media screen and (max-width: 782px) {
      .c-breadcrumbs-link, .c-breadcrumbs-span {
        font-size: 11px; } }
  .c-breadcrumbs-span02 {
    color: #222725; }

/*breascrumbs--------------------*/
/*btn--------------------*/
.c-btn {
  width: fit-content;
  overflow: unset !important;
  text-align: left; }
  .c-btn-link {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%; }
    .c-btn-link:hover .c-btn-circle::before {
      transform: translate(-50%, -50%) scale(1.1); }
  .c-btn-circle {
    width: 10.8rem;
    height: 10.8rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (max-width: 782px) {
      .c-btn-circle {
        width: 9rem;
        height: 9rem; } }
    .c-btn-circle::before {
      content: "";
      width: 10.8rem;
      height: 10.8rem;
      border-radius: 50%;
      border: 1px solid #45B035;
      transition: all 0.3s;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      transition: all 0.3s; }
      @media screen and (max-width: 782px) {
        .c-btn-circle::before {
          width: 9rem;
          height: 9rem; } }
  .c-btn-span {
    font-size: 15px;
    font-weight: bold;
    color: #000000;
    margin-left: 1.5rem; }
    @media screen and (max-width: 782px) {
      .c-btn-span {
        font-size: 14px;
        line-height: 1.5;
        margin-right: 15px; } }
  .c-btn-icon {
    width: 24px;
    height: 3px;
    object-fit: contain; }
    @media screen and (max-width: 782px) {
      .c-btn-icon {
        width: 90px; } }

/*btn--------------------*/
/*fv--------------------*/
.c-catch {
  padding-top: 17rem;
  margin-bottom: 5rem; }
  @media screen and (max-width: 782px) {
    .c-catch {
      padding-top: 50px;
      margin-bottom: 25px; } }

.c-fv-left {
  height: 65rem; }
  @media screen and (max-width: 782px) {
    .c-fv-left {
      height: 300px; } }
  .c-fv-left__key {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    height: 100%; }
  .c-fv-left .l-inner-s-left {
    position: relative; }
    .c-fv-left .l-inner-s-left::after {
      content: "";
      position: absolute;
      bottom: 0;
      right: -100%;
      height: 50%;
      width: 100%;
      background: #FAFAFA; }

.c-fv-half-left {
  height: 33rem; }
  @media screen and (max-width: 782px) {
    .c-fv-half-left {
      height: 300px; } }
  .c-fv-half-left__key {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    position: relative;
    height: 100%; }
  .c-fv-half-left .l-inner-s-left {
    position: relative; }
    .c-fv-half-left .l-inner-s-left::after {
      content: "";
      position: absolute;
      bottom: 0;
      right: -100%;
      height: 50%;
      width: 100%;
      background: #FAFAFA; }

.c-fv-txt {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #222222;
  padding: 6rem 0 10rem 0;
  background: #FAFAFA;
  text-align: justify; }
  @media screen and (max-width: 1366px) {
    .c-fv-txt {
      font-size: 15px; } }
  @media screen and (max-width: 782px) {
    .c-fv-txt {
      padding: 30px 0 50px 0; } }

.business .c-fv-left__key {
  background-image: url(images/business/fv.jpg); }
  @media screen and (max-width: 782px) {
    .business .c-fv-left__key {
      background-position: 28% 0; } }

.company .c-fv-left__key {
  background-image: url(images/company/fv.jpg); }

.sustainability .c-fv-left__key {
  background-image: url(images/sustainability/fv.jpg); }

.technology .c-fv-left__key {
  background-image: url(images/technology/fv.jpg); }

.examination .c-fv-half-left__key {
  background-image: url(images/business/examination/fv.jpg); }

.survey .c-fv-half-left__key {
  background-image: url(images/business/survey/fv.jpg); }
  @media screen and (max-width: 782px) {
    .survey .c-fv-half-left__key {
      background-position: 20% 0; } }

.design .c-fv-half-left__key {
  background-image: url(images/business/design/fv.jpg); }
  @media screen and (max-width: 782px) {
    .design .c-fv-half-left__key {
      background-position: 10% 0; } }

.environment .c-fv-half-left__key {
  background-image: url(images/business/environment/fv.jpg); }
  @media screen and (max-width: 782px) {
    .environment .c-fv-half-left__key {
      background-position: 73% 0; } }

.disaster_prevention .c-fv-half-left__key {
  background-image: url(images/business/disaster_prevention/fv.jpg); }

.tec-soil .c-fv-half-left__key {
  background-image: url(images/technology/tec-soil/fv.jpg); }

.tec-survey .c-fv-half-left__key {
  background-image: url(images/technology/tec-survey/fv.jpg); }
  @media screen and (max-width: 782px) {
    .tec-survey .c-fv-half-left__key {
      background-position: 7% center; } }

.tec-measure .c-fv-half-left__key {
  background-image: url(images/technology/tec-measure/fv.jpg); }

.tec-measures .c-fv-half-left__key {
  background-image: url(images/technology/tec-measures/fv.jpg); }

.tec-hasseido .c-fv-half-left__key {
  background-image: url(images/technology/tec-hasseido/fv.jpg); }
  @media screen and (max-width: 782px) {
    .tec-hasseido .c-fv-half-left__key {
      background-position: 72% 0; } }

.tec-assessment .c-fv-half-left__key {
  background-image: url(images/technology/tec-assessment/fv.jpg); }

.tec-various-surveys .c-fv-half-left__key {
  background-image: url(images/technology/tec-various-surveys/fv.jpg); }

.tec-3d .c-fv-half-left__key {
  background-image: url(images/technology/tec-3d/fv.jpg); }
  @media screen and (max-width: 782px) {
    .tec-3d .c-fv-half-left__key {
      background-position: 6% 0; } }

.tec-boring .c-fv-half-left__key {
  background-image: url(images/technology/tec-boring/fv.jpg); }
  @media screen and (max-width: 782px) {
    .tec-boring .c-fv-half-left__key {
      background-position: 34%; } }

.tec-swunding .c-fv-half-left__key {
  background-image: url(images/technology/tec-swunding/fv.jpg); }
  @media screen and (max-width: 782px) {
    .tec-swunding .c-fv-half-left__key {
      background-position: 52%; } }

.tec-sampling .c-fv-half-left__key {
  background-image: url(images/technology/tec-sampling/fv.jpg); }
  @media screen and (max-width: 782px) {
    .tec-sampling .c-fv-half-left__key {
      background-position: 0; } }

.job-description .c-fv-left__key {
  background-image: url(images/recruit/job-description/fv.jpg); }
  @media screen and (max-width: 782px) {
    .job-description .c-fv-left__key {
      background-position: 90% 0; } }

.people01 .c-fv-left__key {
  background-image: url(images/recruit/interview/people01/fv.jpg); }

.people02 .c-fv-left__key {
  background-image: url(http://haw100245beq.smartrelease.jp/wp-content/themes/daiei-c/images/recruit/interview/people02/fv.jpg); }

.people03 .c-fv-left__key {
  background-image: url(http://haw100245beq.smartrelease.jp/wp-content/themes/daiei-c/images/recruit/interview/people03/fv.jpg); }

.tec-genichi .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-butsuri .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-shitsunai .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-road .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-zousei .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-etc .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-bousai .setup-fv {
  background-image: url(images/setup_fv.jpg); }

.tec-shamen .setup-fv {
  background-image: url(images/setup_fv.jpg); }

/*fv--------------------*/
/*c-column--------------------*/
.c-column {
  background: #ffffff;
  padding-bottom: 16rem; }
  @media screen and (max-width: 782px) {
    .c-column {
      padding-bottom: 90px; } }
  .c-column .l-inner-w-left {
    position: relative; }
  .c-column__group {
    display: flex;
    position: relative; }
    @media screen and (max-width: 782px) {
      .c-column__group {
        flex-direction: column; } }
    .c-column__group::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background: rgba(45, 42, 59, 0.4);
      width: 100%;
      height: 100%;
      display: block;
      z-index: 0; }
    .c-column__group .c-ttl {
      margin-bottom: 4rem;
      position: relative;
      z-index: 999; }
      .c-column__group .c-ttl-ja, .c-column__group .c-ttl-en {
        color: #ffffff; }
      @media screen and (max-width: 782px) {
        .c-column__group .c-ttl {
          margin-bottom: 15px; } }
    .c-column__group-list {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 50%; }
      @media screen and (max-width: 782px) {
        .c-column__group-list {
          width: 100%;
          height: 400px; } }
    .c-column__group-link {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      padding: 16rem 5%;
      color: #ffffff;
      position: relative;
      z-index: 100;
      width: 100%;
      height: 100%; }
      @media screen and (max-width: 782px) {
        .c-column__group-link {
          padding: 0 9%; } }
      .c-column__group-link:hover .c-column__group-circle::before {
        transform: translate(-50%, -50%) scale(1.1); }
    .c-column__group-link01.open01 {
      opacity: 1; }
    .c-column__group-link01.open05 {
      opacity: 0.5; }
    .c-column__group-link02.open01 {
      opacity: 1; }
    .c-column__group-link02.open05 {
      opacity: 0.5; }
    .c-column__group-txt {
      font-size: 1.9rem;
      line-height: 2;
      width: 80%;
      margin-bottom: 6rem;
      position: relative;
      z-index: 999; }
      @media screen and (max-width: 782px) {
        .c-column__group-txt {
          font-size: 14px;
          margin-bottom: 15px;
          width: 100%; } }
    .c-column__group-circle {
      width: 10.8rem;
      height: 10.8rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative; }
      @media screen and (max-width: 782px) {
        .c-column__group-circle {
          width: 9rem;
          height: 9rem; } }
      .c-column__group-circle::before {
        content: "";
        width: 10.8rem;
        height: 10.8rem;
        border-radius: 50%;
        border: 1px solid #ffffff;
        transition: all 0.3s;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s; }
        @media screen and (max-width: 782px) {
          .c-column__group-circle::before {
            width: 9rem;
            height: 9rem; } }
    .c-column__group-icon {
      width: 24px;
      height: 3px;
      object-fit: contain;
      object-fit: contain;
      transition: all 0.3s;
      position: relative;
      z-index: 999; }
      @media screen and (max-width: 782px) {
        .c-column__group-icon {
          width: 50px; } }
  .c-column__group02-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    z-index: 1;
    transition: all 0.1s; }
    .c-column__group02-thumbnail::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background: rgba(45, 42, 59, 0.3);
      width: 100%;
      height: 100%;
      display: block;
      z-index: 1; }
    .c-column__group02-thumbnail img {
      height: 100%;
      object-fit: cover; }
  .c-column__group02-thumbnail01.open, .c-column__group02-thumbnail02.open {
    opacity: 1; }

.c-column .technology {
  background-image: url(images/column/technology_bg.jpg); }
.c-column .works {
  background-image: url(images/column/works_bg.jpg); }
.c-column .company {
  background-image: url(images/column/company_bg.jpg); }
.c-column .history {
  background-image: url(images/column/history_bg.jpg); }

/*c-2column--------------------*/
/*ttl--------------------*/
@media screen and (max-width: 782px) {
  .page .c-ttl-green {
    font-size: 26px; } }
@media screen and (max-width: 782px) {
  .page .c-ttl-02-ja {
    font-size: 26px; } }

.c-ttl-ja {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #45B035;
  margin-bottom: 2rem; }
  @media screen and (max-width: 782px) {
    .c-ttl-ja {
      font-size: 15px;
      top: -20px;
      margin-bottom: 1.5rem; } }
.c-ttl-en {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #000000;
  font-family: 'Roboto', sans-serif;
  display: block; }
  @media screen and (max-width: 782px) {
    .c-ttl-en {
      font-size: 28px; } }

.c-ttl-02-en {
  font-size: 1.8rem;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.05em;
  color: #45B035;
  margin-bottom: 2.5rem; }
  @media screen and (max-width: 782px) {
    .c-ttl-02-en {
      font-size: 15px;
      top: -20px;
      margin-bottom: 1.5rem; } }
.c-ttl-02-ja {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #000000;
  display: block; }
  @media screen and (max-width: 782px) {
    .c-ttl-02-ja {
      font-size: 28px;
      line-height: 1.5; } }

.c-ttl-top {
  position: relative; }
  .c-ttl-top-ja {
    position: absolute;
    left: auto;
    top: -3rem;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    color: #45B035; }
    @media screen and (max-width: 782px) {
      .c-ttl-top-ja {
        font-size: 15px;
        top: -20px; } }
  .c-ttl-top-en {
    font-size: 6rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #000000;
    font-family: 'Roboto', sans-serif;
    display: block; }
    @media screen and (max-width: 782px) {
      .c-ttl-top-en {
        font-size: 28px; } }

.c-ttl-green {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.4166666667;
  color: #222222;
  position: relative;
  padding-top: 2rem; }
  @media screen and (max-width: 1024px) {
    .c-ttl-green {
      font-size: 3rem; } }
  @media screen and (max-width: 782px) {
    .c-ttl-green {
      font-size: 20px;
      margin-bottom: 50px; } }
  .c-ttl-green::before {
    content: "";
    width: 30px;
    height: 1px;
    background: #45B035;
    position: absolute;
    top: 0;
    left: 0; }

.c-ttl-green-bottom {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.4444444444;
  margin-bottom: 5.5rem;
  position: relative; }
  @media screen and (max-width: 782px) {
    .c-ttl-green-bottom {
      font-size: 20px; } }
  .c-ttl-green-bottom::before {
    content: "";
    position: absolute;
    bottom: -2.25rem;
    left: 0;
    width: 16px;
    height: 1px;
    background: #45B035; }

.c-catch {
  padding-top: 17rem;
  margin-bottom: 5rem; }
  @media screen and (max-width: 782px) {
    .c-catch {
      padding-top: 50px;
      margin-bottom: 25px; } }
  .c-catch .c-ttl-en {
    font-size: 5rem; }
    @media screen and (max-width: 782px) {
      .c-catch .c-ttl-en {
        font-size: 36px; } }
  .c-catch .c-ttl-02-ja {
    font-size: 5rem; }
    @media screen and (max-width: 782px) {
      .c-catch .c-ttl-02-ja {
        font-size: 29px; } }
    @media screen and (max-width: 375px) {
      .c-catch .c-ttl-02-ja {
        line-height: 1.4; } }

/*ttl--------------------*/
/*border--------------------*/
.c-border {
  border-top: 1px solid #C4C4C4; }

/*border--------------------*/
/*setup--------------------*/
.c-setup {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .c-setup {
      padding: 50px 0; } }
  .c-setup__box {
    background: #ffffff;
    padding: 8.5rem 0 10rem 0; }
    @media screen and (max-width: 782px) {
      .c-setup__box {
        padding: 24px 0; } }
  .c-setup__block-intro {
    margin-bottom: 4rem; }
    .c-setup__block-intro-txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 1366px) {
        .c-setup__block-intro-txt {
          font-size: 15px; } }
    .c-setup__block-intro-txt:not(:last-of-type) {
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .c-setup__block-intro-txt:not(:last-of-type) {
          margin-bottom: 25px; } }

.tec-before-link {
  border-bottom: 1px solid #222725;
  transition: all 0.3s; }

.tec-before-link:hover {
  color: #45B035;
  border-bottom: 1px solid #45B035; }

/*setup--------------------*/
/*ttl--------------------*/
@media screen and (max-width: 782px) {
  .c-ttl-green-bottom-sub {
    font-size: 24px;
    margin-bottom: 4.5rem; } }

/*ttl--------------------*/
/*home--------------------*/
.home .fv {
  position: relative;
  height: 80rem; }
  @media screen and (max-width: 782px) {
    .home .fv {
      max-height: 100%;
      height: calc(1920 / 1080 * 100vw); } }
  .home .fv .l-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 782px) {
      .home .fv .l-inner {
        top: 74%; } }
  .home .fv .flowtext-box .frame01, .home .fv .flowtext-box .frame02 {
    display: flex; }
  .home .fv .flowtext-box .flowtext00 {
    display: flex; }
    @media screen and (max-width: 782px) {
      .home .fv .flowtext-box .flowtext00 {
        flex-direction: column; } }
    .home .fv .flowtext-box .flowtext00 span {
      opacity: 0;
      animation: flowtext00 2s forwards; }
  .home .fv .flowtext-box .flowtext {
    display: flex; }
    @media screen and (max-width: 782px) {
      .home .fv .flowtext-box .flowtext {
        flex-direction: column; } }
    .home .fv .flowtext-box .flowtext span {
      opacity: 0;
      animation: flowtext 2s forwards; }
  .home .fv .flowtext-box .flowtext02 {
    display: flex; }
    @media screen and (max-width: 782px) {
      .home .fv .flowtext-box .flowtext02 {
        flex-direction: column; } }
    .home .fv .flowtext-box .flowtext02 span {
      opacity: 0;
      animation: flowtext02 2s forwards; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(1) {
    animation-delay: 1.5s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(2) {
    animation-delay: 1.6s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(3) {
    animation-delay: 1.7s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(4) {
    animation-delay: 1.8s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(5) {
    animation-delay: 1.9s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(6) {
    animation-delay: 2.0s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(7) {
    animation-delay: 2.1s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(8) {
    animation-delay: 2.2s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(9) {
    animation-delay: 2.3s; }
  .home .fv .flowtext-box .flowtext00 .frame01 span:nth-of-type(10) {
    animation-delay: 2.4s; }
@keyframes flowtext00 {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .home .fv .flowtext-box .flowtext .frame01 span:nth-of-type(1) {
    animation-delay: 2.5s; }
  .home .fv .flowtext-box .flowtext .frame01 span:nth-of-type(2) {
    animation-delay: 2.6s; }
  .home .fv .flowtext-box .flowtext .frame01 span:nth-of-type(3) {
    animation-delay: 2.7s; }
  .home .fv .flowtext-box .flowtext .frame01 span:nth-of-type(4) {
    animation-delay: 2.8s; }
  .home .fv .flowtext-box .flowtext .frame01 span:nth-of-type(5) {
    animation-delay: 2.9s; }
  .home .fv .flowtext-box .flowtext .frame01 span:nth-of-type(6) {
    animation-delay: 3.0s; }
  .home .fv .flowtext-box .flowtext .frame02 span:nth-of-type(1) {
    animation-delay: 3.1s; }
  .home .fv .flowtext-box .flowtext .frame02 span:nth-of-type(2) {
    animation-delay: 3.2s; }
  .home .fv .flowtext-box .flowtext .frame02 span:nth-of-type(3) {
    animation-delay: 3.3s; }
  .home .fv .flowtext-box .flowtext .frame02 span:nth-of-type(4) {
    animation-delay: 3.3s; }
@keyframes flowtext {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(1) {
    animation-delay: 3.35s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(2) {
    animation-delay: 3.4s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(3) {
    animation-delay: 3.45s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(4) {
    animation-delay: 3.5s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(5) {
    animation-delay: 3.55s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(6) {
    animation-delay: 3.6s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(7) {
    animation-delay: 3.65s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(8) {
    animation-delay: 3.7s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(9) {
    animation-delay: 3.75s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(10) {
    animation-delay: 3.8s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(11) {
    animation-delay: 3.85s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(12) {
    animation-delay: 3.9s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(13) {
    animation-delay: 3.95s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(14) {
    animation-delay: 4.0s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(15) {
    animation-delay: 4.05s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(16) {
    animation-delay: 4.1s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(17) {
    animation-delay: 4.15s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(18) {
    animation-delay: 4.2s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(19) {
    animation-delay: 4.25s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(20) {
    animation-delay: 4.3s; }
  .home .fv .flowtext-box .flowtext02 .frame01 span:nth-of-type(21) {
    animation-delay: 4.35s; }
  .home .fv .flowtext-box .flowtext02 .frame02 span:nth-of-type(1) {
    animation-delay: 4.4s; }
  .home .fv .flowtext-box .flowtext02 .frame02 span:nth-of-type(2) {
    animation-delay: 4.45s; }
  .home .fv .flowtext-box .flowtext02 .frame02 span:nth-of-type(3) {
    animation-delay: 4.5s; }
  .home .fv .flowtext-box .flowtext02 .frame02 span:nth-of-type(4) {
    animation-delay: 4.55s; }
@keyframes flowtext02 {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  .home .fv__ttl-span00 span {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.4264705882;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif; }
    @media screen and (max-width: 782px) {
      .home .fv__ttl-span00 span {
        font-size: 24px; } }
  .home .fv__ttl-span01 span {
    font-size: 6.8rem;
    font-weight: 500;
    line-height: 1.4264705882;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif; }
    @media screen and (max-width: 782px) {
      .home .fv__ttl-span01 span {
        font-size: 48px; } }
  .home .fv__ttl-span02 {
    margin-top: 3rem; }
    @media screen and (max-width: 1366px) {
      .home .fv__ttl-span02 {
        margin-left: 0.5rem; } }
    @media screen and (max-width: 782px) {
      .home .fv__ttl-span02 {
        margin-top: 1.5rem; } }
  .home .fv__ttl-span02 span {
    font-size: 18px;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    display: block;
    color: #ffffff; }
    @media screen and (max-width: 1366px) {
      .home .fv__ttl-span02 span {
        line-height: 1.45; } }
    @media screen and (max-width: 782px) {
      .home .fv__ttl-span02 span {
        font-size: 14px; } }
    @media screen and (max-width: 375px) {
      .home .fv__ttl-span02 span {
        letter-spacing: 0; } }
  .home .fv__area {
    position: fixed;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden; }
    @media screen and (max-width: 782px) {
      .home .fv__area {
        position: absolute;
        height: 100%; } }
    .home .fv__area::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: block;
      z-index: 10;
      background: rgba(45, 42, 59, 0.5); }
  .home .fv__sp-video {
    width: 100%;
    height: 100%; }
  .home .fv #mobileVideo {
    width: 100%;
    height: 100%; }
    .home .fv #mobileVideo img {
      height: 100%;
      object-fit: cover; }
  .home .fv .scroll-btn-frame {
    position: absolute;
    right: 13rem;
    bottom: 150px;
    z-index: 10; }
    @media screen and (max-width: 782px) {
      .home .fv .scroll-btn-frame {
        right: 20px;
        bottom: 15px; } }
  .home .fv .scroll-btn-cover {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; }
    .home .fv .scroll-btn-cover::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 1px;
      height: 210px;
      background: #063A24;
      animation: scroll 3.6s ease-in-out infinite;
      opacity: 0;
      z-index: 999; }
      @media screen and (max-width: 782px) {
        .home .fv .scroll-btn-cover::before {
          height: 60px;
          animation: scroll-sp 3.6s ease-in-out infinite; } }
    .home .fv .scroll-btn-cover::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 1px;
      height: 210px;
      background: #ffffff;
      opacity: 1;
      z-index: 99; }
      @media screen and (max-width: 782px) {
        .home .fv .scroll-btn-cover::after {
          height: 60px; } }
  .home .fv .scroll-btn {
    color: #ffffff;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-decoration: none;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    transform: translate(0px, -50px) rotate(180deg); }
@keyframes scroll {
  0% {
    height: 0;
    top: 0;
    opacity: 1; }
  30% {
    height: 105px;
    opacity: 1; }
  100% {
    height: 0;
    top: 210px;
    opacity: 1; } }
@keyframes scroll-sp {
  0% {
    height: 0;
    top: 0;
    opacity: 1; }
  30% {
    height: 30px;
    opacity: 1; }
  100% {
    height: 0;
    top: 60px;
    opacity: 1; } }
.home .feature {
  position: relative;
  z-index: 100; }
  @media screen and (max-width: 782px) {
    .home .feature {
      background: #ffffff; } }
  .home .feature .l-inner-s {
    position: relative;
    background: #FAFAFA;
    padding: 6rem 0 9rem 0;
    width: 72%;
    z-index: 999; }
    @media screen and (max-width: 782px) {
      .home .feature .l-inner-s {
        background: transparent;
        padding: 50px 0 60px 0; } }
    .home .feature .l-inner-s::before {
      content: "";
      position: absolute;
      top: 0;
      right: -99%;
      width: 100%;
      height: 100%;
      background: #FAFAFA; }
      @media screen and (max-width: 782px) {
        .home .feature .l-inner-s::before {
          display: none; } }
  .home .feature .c-ttl {
    position: absolute;
    top: 6rem;
    left: 8.3rem; }
    @media screen and (max-width: 782px) {
      .home .feature .c-ttl {
        position: relative;
        top: unset;
        left: unset;
        margin-bottom: 30px;
        font-size: 38px; } }
    @media screen and (max-width: 782px) {
      .home .feature .c-ttl-en {
        font-size: 38px; } }
  .home .feature__content {
    width: 60%;
    margin-left: auto;
    transform: translateX(-2rem); }
    @media screen and (max-width: 782px) {
      .home .feature__content {
        width: 100%;
        margin-left: 0;
        transform: none; } }
  .home .feature__group {
    display: flex; }
    @media screen and (max-width: 782px) {
      .home .feature__group {
        flex-direction: column; } }
    .home .feature__group-item {
      width: calc(100%/2 - 50px/2); }
      @media screen and (max-width: 782px) {
        .home .feature__group-item {
          width: 100%; } }
    .home .feature__group-item:first-of-type {
      margin-right: 50px; }
      @media screen and (max-width: 782px) {
        .home .feature__group-item:first-of-type {
          margin-right: 0;
          margin-bottom: 35px; } }
    .home .feature__group-link:hover .feature__group-lead {
      color: #45B035; }
    .home .feature__group-link:hover .feature__group-image {
      transform: scale(1.1); }
    .home .feature__group-thumbnail {
      margin-bottom: 1.5rem;
      overflow: hidden; }
    .home .feature__group-image {
      transition: all 0.3s; }
    .home .feature__group-lead {
      font-size: 2rem;
      font-weight: bold;
      letter-spacing: 0.05em;
      line-height: 1.55;
      margin-bottom: 1rem;
      transition: all 0.3s; }
      @media screen and (max-width: 782px) {
        .home .feature__group-lead {
          font-size: 16px; } }
    .home .feature__group-txt {
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      line-height: 1.8; }

.home .about {
  position: relative;
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 70%, transparent 70%, transparent 100%);
  padding: 18rem 0 0 0; }
  @media screen and (max-width: 782px) {
    .home .about {
      background: #ffffff;
      padding: 50px 0 0 0; } }
  .home .about::before {
    content: "";
    position: absolute;
    top: -4.8rem;
    left: 0;
    width: 100%;
    height: 5rem;
    background: #ffffff;
    z-index: -1; }
    @media screen and (max-width: 782px) {
      .home .about::before {
        display: none; } }
  .home .about::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 30rem;
    background: #ffffff;
    z-index: -1; }
    @media screen and (max-width: 782px) {
      .home .about::after {
        display: none; } }
  .home .about .c-ttl-top {
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .home .about .c-ttl-top {
        margin-bottom: 40px; } }
    @media screen and (max-width: 782px) {
      .home .about .c-ttl-top-en {
        font-size: 38px; } }
  .home .about .l-inner-w {
    position: absolute;
    top: 18rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0; }
    @media screen and (max-width: 1920px) {
      .home .about .l-inner-w {
        left: 45%; } }
    @media screen and (max-width: 782px) {
      .home .about .l-inner-w {
        position: static;
        top: unset;
        left: unset;
        transform: none;
        width: 100%; } }
  .home .about__thumbnail {
    width: 36%;
    margin-left: auto; }
    @media screen and (max-width: 782px) {
      .home .about__thumbnail {
        width: 88%;
        margin-left: 0;
        margin-bottom: 40px; } }
  .home .about .l-inner-s {
    position: relative;
    z-index: 999; }
    .home .about .l-inner-s::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: #ffffff; }
  .home .about__content-lead {
    font-size: 3.6rem;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 10rem;
    line-height: 1.4166666667; }
    @media screen and (max-width: 782px) {
      .home .about__content-lead {
        font-size: 24px;
        margin-bottom: 40px; } }
  .home .about__content-txt {
    font-size: 2.1rem;
    line-height: 2.2380952381;
    margin-bottom: 11rem; }
    @media screen and (max-width: 782px) {
      .home .about__content-txt {
        font-size: 14px;
        margin-bottom: 40px; } }

.home .service {
  position: relative;
  background: #ffffff;
  z-index: 0;
  padding: 23rem 0 20rem 0; }
  @media screen and (max-width: 782px) {
    .home .service {
      padding: 140px 0 120px 0; } }
  .home .service .c-ttl-top {
    width: 50%;
    margin-left: auto;
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .home .service .c-ttl-top {
        width: 100%;
        margin-left: 0;
        margin-bottom: 40px; } }
    @media screen and (max-width: 782px) {
      .home .service .c-ttl-top-en {
        font-size: 38px; } }
  .home .service__thumbnail {
    width: 36%;
    position: absolute;
    top: 23rem;
    left: 0;
    z-index: 99; }
    @media screen and (max-width: 782px) {
      .home .service__thumbnail {
        width: 88%;
        margin-left: 0;
        margin-bottom: 40px;
        position: static;
        top: unset;
        left: unset;
        margin-bottom: 60px; } }
  .home .service .l-inner-s {
    position: relative; }
    .home .service .l-inner-s::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: #ffffff; }
    .home .service .l-inner-s::after {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: #ffffff; }
  .home .service__content {
    width: 50%;
    margin-left: auto; }
    @media screen and (max-width: 782px) {
      .home .service__content {
        width: 100%;
        margin-left: 0; } }
  .home .service__group-list {
    border-top: 1px solid #c4c4c4;
    position: relative;
    z-index: 0;
    transition: all 0.3s; }
    .home .service__group-list::before {
      content: "";
      position: absolute;
      top: -1px;
      left: 0;
      width: 100%;
      height: 1px;
      background: #222725;
      transform-origin: right;
      transform: scaleX(0);
      transition: transform .3s ease-in-out;
      z-index: 10; }
    .home .service__group-list:hover {
      border-top: 1px solid #c4c4c4; }
      .home .service__group-list:hover .service__group-span {
        transform: translateX(10px); }
      .home .service__group-list:hover::before {
        transform-origin: left;
        transform: scaleX(1); }
  .home .service__group-list:last-of-type {
    border-bottom: 1px solid #707070; }
  .home .service__group-link {
    padding: 3rem 0 7.5rem 0;
    width: 100%;
    height: auto;
    color: #000000;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 782px) {
      .home .service__group-link {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 20px 0; } }
  .home .service__group-span {
    font-size: 3.8rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    transition: all 0.3s; }
    @media screen and (max-width: 782px) {
      .home .service__group-span {
        font-size: 20px;
        margin-bottom: 20px; } }
  .home .service__group-icon {
    width: 2.4rem;
    object-fit: contain; }

.home .recruit {
  padding: 14rem 0 11rem 0;
  color: #ffffff;
  background-image: url(images/top/recruit_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative; }
  @media screen and (max-width: 782px) {
    .home .recruit {
      padding: 60px 0 50px 0; } }
  .home .recruit::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(45, 42, 59, 0.3);
    width: 100%;
    height: 100%;
    display: block;
    z-index: 0; }
  .home .recruit .l-inner {
    position: relative;
    z-index: 10; }
  .home .recruit .c-ttl-top {
    margin-bottom: 8rem; }
    @media screen and (max-width: 782px) {
      .home .recruit .c-ttl-top {
        margin-bottom: 55px; } }
    .home .recruit .c-ttl-top-ja {
      color: #ffffff; }
    .home .recruit .c-ttl-top-en {
      color: #ffffff; }
      @media screen and (max-width: 782px) {
        .home .recruit .c-ttl-top-en {
          font-size: 48px; } }
  .home .recruit__lead {
    font-size: 4.8rem;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.4375;
    margin-bottom: 6.5rem; }
    @media screen and (max-width: 782px) {
      .home .recruit__lead {
        font-size: 24px;
        margin-bottom: 35px; } }
  .home .recruit__txt {
    font-size: 1.9rem;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 6rem;
    max-width: 86rem; }
    @media screen and (max-width: 782px) {
      .home .recruit__txt {
        font-size: 14px;
        margin-bottom: 30px;
        max-width: 100%; } }
  .home .recruit .c-btn-icon {
    filter: brightness(0) saturate(100%) invert(100%) sepia(16%) saturate(444%) hue-rotate(53deg) brightness(112%) contrast(102%); }
  .home .recruit .c-btn-span {
    color: #ffffff; }
  .home .recruit .c-btn-circle::before {
    border: 1px solid #ffffff; }

.home .news {
  padding: 13rem 0 16rem 0;
  background: #ffffff; }
  @media screen and (max-width: 782px) {
    .home .news {
      padding: 50px 0; } }
  .home .news .l-inner-s {
    display: flex; }
    @media screen and (max-width: 782px) {
      .home .news .l-inner-s {
        flex-direction: column; } }
  @media screen and (max-width: 782px) {
    .home .news .c-ttl-top-en {
      font-size: 38px; } }
  .home .news__ttl {
    margin-right: 10rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .home .news__ttl {
        margin-right: 0;
        margin-bottom: 60px;
        flex-wrap: unset; } }
  .home .news__group {
    flex: 3; }
    @media screen and (max-width: 782px) {
      .home .news__group {
        margin-bottom: 40px;
        flex: unset; } }
    .home .news__group-item {
      border-top: 1px solid #c4c4c4;
      position: relative;
      z-index: 0; }
      .home .news__group-item::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: 100%;
        height: 1px;
        background: #222725;
        transform-origin: right;
        transform: scaleX(0);
        transition: transform .3s ease-in-out;
        z-index: 10; }
      .home .news__group-item:hover {
        border-top: 1px solid #c4c4c4; }
        .home .news__group-item:hover .news__group-first {
          transform: translateX(10px); }
        .home .news__group-item:hover .news__group-txt {
          transform: translateX(10px); }
        .home .news__group-item:hover::before {
          transform-origin: left;
          transform: scaleX(1); }
    .home .news__group-item:last-of-type {
      border-bottom: 1px solid #707070; }
    .home .news__group-link {
      width: 100%;
      height: 100%;
      padding: 5rem 7rem 5rem 0;
      display: flex; }
      @media screen and (max-width: 782px) {
        .home .news__group-link {
          flex-direction: column;
          padding: 25px 0; } }
    .home .news__group-first {
      min-width: 25rem;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 6rem;
      transition: all 0.3s; }
      @media screen and (max-width: 782px) {
        .home .news__group-first {
          justify-content: flex-start;
          margin-bottom: 10px;
          min-width: unset; } }
    .home .news__group-date {
      font-size: 1.6rem;
      font-weight: bold;
      color: #45B035;
      min-width: 12rem; }
    .home .news__group-category {
      font-size: 1.6rem;
      color: #45B035;
      border: 1px solid #45B035;
      width: 9.5rem;
      padding: 5px;
      text-align: center;
      display: inline-block; }
    .home .news__group-txt {
      font-size: 1.8rem;
      line-height: 1.7857142857;
      transition: all 0.3s; }
    .home .news__group-icon {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      width: 2.5rem;
      object-fit: contain; }
      @media screen and (max-width: 782px) {
        .home .news__group-icon {
          display: none; } }
  .home .news .c-btn-pc {
    display: block; }
    @media screen and (max-width: 782px) {
      .home .news .c-btn-pc {
        display: none; } }
  .home .news .c-btn-sp {
    display: none; }
    @media screen and (max-width: 782px) {
      .home .news .c-btn-sp {
        display: block; } }

.home .news {
  position: relative; }

.home .news::before {
  content: "";
  position: absolute;
  top: -4.8rem;
  left: 0;
  width: 100%;
  height: 5rem;
  background: #ffffff;
  z-index: -1; }

@media screen and (max-width: 782px) {
  .home .news::before {
    display: none; } }
.home .loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 99999999;
  background: #45B035;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  top: 0;
  left: 0; }
  .home .loading__logo {
    animation-name: load;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0; }
    .home .loading__logo img {
      width: 7rem;
      margin-bottom: 2rem; }
  .home .loading__txt {
    font-size: 18px;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif; }
@keyframes load {
  from {
    opacity: 0;
    transform: scale(1); }
  to {
    opacity: 1;
    transform: scale(1.1); } }
.home .loading.hide {
  display: none; }

/*home--------------------*/
/*archive--------------------*/
.archive .news {
  padding: 6rem 0 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .archive .news {
      padding: 50px 0; } }
  @media screen and (max-width: 782px) {
    .archive .news .c-ttl-top-en {
      font-size: 38px; } }
  .archive .news__select {
    width: fit-content;
    margin-left: auto;
    display: flex;
    margin-bottom: 4.5rem; }
    @media screen and (max-width: 782px) {
      .archive .news__select {
        flex-direction: column;
        margin-left: 0; } }
    .archive .news__select span {
      font-size: 16px; }
      @media screen and (max-width: 1366px) {
        .archive .news__select span {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .archive .news__select span {
          display: block;
          width: 100%;
          margin-bottom: 25px; } }
    .archive .news__select select {
      font-size: 16px;
      border: none;
      background: #FAFAFA;
      margin-left: 4rem; }
      @media screen and (max-width: 1366px) {
        .archive .news__select select {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .archive .news__select select {
          margin-left: 0; } }
  .archive .news__ttl {
    margin-right: 10rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .archive .news__ttl {
        margin-right: 0;
        margin-bottom: 60px;
        flex-wrap: unset; } }
  .archive .news__group {
    flex: 3; }
    @media screen and (max-width: 782px) {
      .archive .news__group {
        margin-bottom: 40px;
        flex: unset; } }
    .archive .news__group-item {
      border-top: 1px solid #c4c4c4;
      position: relative;
      z-index: 0; }
      .archive .news__group-item::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        width: 100%;
        height: 1px;
        background: #222725;
        transform-origin: right;
        transform: scaleX(0);
        transition: transform .3s ease-in-out;
        z-index: 10; }
      .archive .news__group-item:hover {
        border-top: 1px solid #c4c4c4; }
        .archive .news__group-item:hover .news__group-first {
          transform: translateX(10px); }
        .archive .news__group-item:hover .news__group-txt {
          transform: translateX(10px); }
        .archive .news__group-item:hover::before {
          transform-origin: left;
          transform: scaleX(1); }
    .archive .news__group-item:last-of-type {
      border-bottom: 1px solid #c4c4c4; }
    .archive .news__group-link {
      width: 100%;
      height: 100%;
      padding: 5rem 7rem 5rem 0;
      display: flex; }
      @media screen and (max-width: 782px) {
        .archive .news__group-link {
          flex-direction: column;
          padding: 25px 0; } }
    .archive .news__group-first {
      min-width: 36rem;
      display: flex;
      align-items: center;
      transition: all 0.3s; }
      @media screen and (max-width: 782px) {
        .archive .news__group-first {
          justify-content: flex-start;
          margin-bottom: 10px;
          min-width: unset; } }
    .archive .news__group-date {
      font-size: 1.6rem;
      font-weight: bold;
      color: #45B035;
      min-width: 12rem; }
      @media screen and (max-width: 782px) {
        .archive .news__group-date {
          margin-right: 15px; } }
    .archive .news__group-category {
      font-size: 1.6rem;
      color: #45B035;
      border: 1px solid #45B035;
      width: 9.5rem;
      padding: 5px;
      text-align: center;
      display: inline-block; }
    .archive .news__group-txt {
      font-size: 1.8rem;
      line-height: 1.7857142857;
      transition: all 0.3s; }
    .archive .news__group-icon {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      width: 2.5rem;
      object-fit: contain; }
      @media screen and (max-width: 782px) {
        .archive .news__group-icon {
          display: none; } }
  .archive .news .c-btn-pc {
    display: block; }
    @media screen and (max-width: 782px) {
      .archive .news .c-btn-pc {
        display: none; } }
  .archive .news .c-btn-sp {
    display: none; }
    @media screen and (max-width: 782px) {
      .archive .news .c-btn-sp {
        display: block; } }

/*archive--------------------*/
/*single--------------------*/
.single .c-catch .c-ttl-02-ja {
  line-height: 1.3; }

.single .l-main .c-ttl-02-en {
  display: block; }

.single .l-main .article__sub {
  margin-top: 5.5rem;
  font-size: 14px; }

.single .l-main p {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 40px; }

@media screen and (max-width: 1366px) {
  .single .l-main p {
    font-size: 15px; } }
.single .about__box {
  padding: 13rem 0 17rem 0; }

@media screen and (max-width: 782px) {
  .single .about__box {
    padding: 50px 0; } }
.single .c-ttl-green-bottom {
  margin: 7rem 0 5.5rem; }

.single .archive-back_btn.l-nav__group-list {
  margin-top: 9rem;
  border-bottom: 1px solid #C4C4C4;
  position: relative; }

@media screen and (max-width: 782px) {
  .single .archive-back_btn {
    width: 100%; } }
.single .about p a {
  border-bottom: 1px solid #222725;
  transition: all 0.3s; }

.single .about p a:hover {
  color: #45B035;
  border-bottom: 1px solid #45B035; }

/*single--------------------*/
/*business--------------------*/
.business .intro {
  padding: 13rem 0 17rem 0; }
  @media screen and (max-width: 782px) {
    .business .intro {
      padding: 50px 0; } }
  .business .intro__group-item {
    display: flex;
    align-items: flex-end;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .business .intro__group-item {
        flex-direction: column; } }
  .business .intro__group-item:nth-of-type(odd) {
    flex-direction: row-reverse; }
    @media screen and (max-width: 782px) {
      .business .intro__group-item:nth-of-type(odd) {
        flex-direction: column; } }
  .business .intro__group-item:not(:last-of-type) {
    margin-bottom: 13rem; }
    @media screen and (max-width: 782px) {
      .business .intro__group-item:not(:last-of-type) {
        margin-bottom: 50px; } }
  .business .intro__group-thumbnail {
    width: 50%; }
    @media screen and (max-width: 782px) {
      .business .intro__group-thumbnail {
        width: 100%;
        margin-bottom: 25px; } }
  .business .intro__group-content {
    width: 45%; }
    @media screen and (max-width: 782px) {
      .business .intro__group-content {
        width: 100%; } }
  .business .intro__group .c-ttl-02 {
    margin-bottom: 3rem; }
    .business .intro__group .c-ttl-02-ja {
      font-size: 4.8rem; }
      @media screen and (max-width: 1920px) {
        .business .intro__group .c-ttl-02-ja {
          font-size: 3.6rem; } }
      @media screen and (max-width: 782px) {
        .business .intro__group .c-ttl-02-ja {
          font-size: 28px; } }
  .business .intro__group-txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    color: #222725;
    margin-bottom: 6rem; }
    @media screen and (max-width: 1366px) {
      .business .intro__group-txt {
        font-size: 15px; } }

.business .detail {
  background: #FAFAFA;
  padding: 12rem 0 13rem 0; }
  @media screen and (max-width: 782px) {
    .business .detail {
      padding: 50px 0; } }
  .business .detail .c-ttl-green {
    margin-bottom: 6rem; }
  .business .detail__box-item {
    display: flex; }
    @media screen and (max-width: 782px) {
      .business .detail__box-item {
        flex-direction: column; } }
  .business .detail__box-item:not(:last-of-type) {
    margin-bottom: 4rem; }
    @media screen and (max-width: 782px) {
      .business .detail__box-item:not(:last-of-type) {
        margin-bottom: 50px; } }
  .business .detail__box-lead {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #18933B;
    color: #ffffff;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.4285714286;
    flex: 1; }
    @media screen and (max-width: 782px) {
      .business .detail__box-lead {
        font-size: 18px;
        padding: 15px 0; } }
  .business .detail__box-content {
    flex: 3;
    font-size: 16px;
    padding: 2rem 4rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #ffffff; }
    @media screen and (max-width: 1366px) {
      .business .detail__box-content {
        font-size: 15px; } }
    @media screen and (max-width: 1920px) {
      .business .detail__box-content {
        font-size: 12px; } }
    @media screen and (max-width: 782px) {
      .business .detail__box-content {
        font-size: 14px; } }
  @media screen and (max-width: 782px) {
    .business .detail__box-group {
      width: 100%; } }
  .business .detail__box-group-list {
    margin-bottom: 2.5rem; }
  .business .detail__box-group-list00 {
    margin-bottom: 0; }
  .business .detail__box-group:nth-of-type(2) {
    margin: 0 5px; }
    @media screen and (max-width: 782px) {
      .business .detail__box-group:nth-of-type(2) {
        margin: 0 0 25px 0; } }
  @media screen and (max-width: 782px) {
    .business .detail__box-group:not(:last-of-type) {
      margin-bottom: 25px; } }
  .business .detail__box-group02 {
    border-left: 1px solid #222725;
    margin-left: 2rem; }
    .business .detail__box-group02-list {
      padding-left: 2rem; }
      .business .detail__box-group02-list-other {
        margin-top: 2.5rem; }
        @media screen and (max-width: 782px) {
          .business .detail__box-group02-list-other {
            margin-top: 25px; } }
    .business .detail__box-group02-list:not(:last-of-type) {
      margin-bottom: 2.5rem; }
  .business .detail__box-group02:not(:last-of-type) {
    margin-bottom: 2.5rem; }

/*business--------------------*/
/*examination--------------------*/
/*business--------------------*/
/*survey--------------------*/
/*survey--------------------*/
/*design--------------------*/
/*design--------------------*/
/*survey--------------------*/
@media screen and (max-width: 1920px) {
  .environment .l-nav-sub__group-link {
    font-size: 1.8rem; } }
@media screen and (max-width: 1024px) {
  .environment .l-nav-sub__group-link {
    font-size: 1.8rem; } }
.environment .l-nav-sub__group-link span {
  font-size: 1.8rem; }
  @media screen and (max-width: 1920px) {
    .environment .l-nav-sub__group-link span {
      font-size: 1.4rem; } }
  @media screen and (max-width: 1024px) {
    .environment .l-nav-sub__group-link span {
      font-size: 1.4rem; } }

/*survey--------------------*/
/*technology--------------------*/
.technology .feature {
  background: #FAFAFA;
  padding: 3rem 0 10rem 0;
  position: relative; }
  @media screen and (max-width: 782px) {
    .technology .feature {
      padding: 50px 0; } }
  .technology .feature .l-inner-w {
    position: absolute;
    top: 3rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0; }
    @media screen and (max-width: 782px) {
      .technology .feature .l-inner-w {
        position: static;
        top: unset;
        left: unset;
        transform: none; } }
  .technology .feature .l-inner-s {
    position: relative;
    z-index: 10; }
  @media screen and (max-width: 782px) {
    .technology .feature .c-ttl-green {
      font-size: 34px; } }
  .technology .feature__content {
    width: 67%;
    margin-left: auto; }
    @media screen and (max-width: 782px) {
      .technology .feature__content {
        width: 100%;
        margin-left: 0; } }
  .technology .feature__group {
    display: flex; }
    @media screen and (max-width: 782px) {
      .technology .feature__group {
        flex-direction: column; } }
    .technology .feature__group-item {
      width: calc(100%/2 - 50px/2); }
      @media screen and (max-width: 782px) {
        .technology .feature__group-item {
          width: 100%; } }
    .technology .feature__group-item:first-of-type {
      margin-right: 50px; }
      @media screen and (max-width: 782px) {
        .technology .feature__group-item:first-of-type {
          margin-right: 0;
          margin-bottom: 50px; } }
    .technology .feature__group-link {
      width: 100%;
      height: 100%;
      display: block; }
      .technology .feature__group-link:hover .feature__group-lead {
        color: #45B035; }
      .technology .feature__group-link:hover .feature__group-image {
        transform: scale(1.1); }
    .technology .feature__group-thumbnail {
      margin-bottom: 1.5rem;
      overflow: hidden; }
      @media screen and (max-width: 782px) {
        .technology .feature__group-thumbnail {
          margin-bottom: 25px; } }
    .technology .feature__group-image {
      transition: all 0.3s; }
    .technology .feature__group-lead {
      font-size: 2rem;
      font-weight: bold;
      letter-spacing: 0.05em;
      line-height: 1.55;
      margin-bottom: 1rem;
      transition: all 0.3s; }
      @media screen and (max-width: 782px) {
        .technology .feature__group-lead {
          font-size: 16px; } }
    .technology .feature__group-txt {
      font-size: 15px;
      letter-spacing: 0.05em;
      line-height: 1.8; }

/*technology--------------------*/
/*tec-soil--------------------*/
.tec-soil .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-soil .about {
      padding: 50px 0; } }
  @media screen and (max-width: 782px) {
    .tec-soil .about .c-ttl-green-bottom {
      font-size: 24px;
      margin-bottom: 4.5rem; } }
  .tec-soil .about .wp-block-column:nth-of-type(odd) {
    margin-right: 0; }
  .tec-soil .about__box {
    background: #ffffff;
    padding: 8.5rem 0 11.5rem 0; }
    @media screen and (max-width: 782px) {
      .tec-soil .about__box {
        padding: 24px 0; } }
    .tec-soil .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-soil .about__box-txt {
          font-size: 15px; } }
    .tec-soil .about__box-txt:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-soil .about__box-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-soil .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-soil .about__box-lead {
          font-size: 18px; } }
    .tec-soil .about__box-block:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-soil .about__box-block:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-soil .about__box-image01 {
      margin-bottom: 4rem; }
    .tec-soil .about__box-group-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 36px;
      position: relative;
      padding-left: 2rem; }
      @media screen and (max-width: 1366px) {
        .tec-soil .about__box-group-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-soil .about__box-group-list {
          line-height: 1.9; } }
      .tec-soil .about__box-group-list::before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0;
        font-size: 16px; }
        @media screen and (max-width: 1366px) {
          .tec-soil .about__box-group-list::before {
            font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .tec-soil .about__box-group-list:not(:last-of-type) {
        margin-bottom: 10px; } }
    .tec-soil .about__box-group02 {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-soil .about__box-group02 {
          flex-direction: column; } }
      .tec-soil .about__box-group02-list {
        width: calc(100%/3 - 6rem/3); }
        @media screen and (max-width: 782px) {
          .tec-soil .about__box-group02-list {
            width: 100%; } }
      .tec-soil .about__box-group02-list:not(:last-of-type) {
        margin-right: 3rem !important; }
        @media screen and (max-width: 782px) {
          .tec-soil .about__box-group02-list:not(:last-of-type) {
            margin-right: 0 !important;
            margin-bottom: 25px; } }
      .tec-soil .about__box-group02-image {
        margin-bottom: 1rem; }
        @media screen and (max-width: 782px) {
          .tec-soil .about__box-group02-image {
            margin-bottom: 0; } }
  .tec-soil .about__box:not(:last-of-type) {
    margin-bottom: 8.5rem; }
    @media screen and (max-width: 782px) {
      .tec-soil .about__box:not(:last-of-type) {
        margin-bottom: 25px; } }

/*tec-soil--------------------*/
/*tec-survey--------------------*/
.tec-survey .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-survey .about {
      padding: 50px 0; } }
  .tec-survey .about__box {
    background: #ffffff;
    padding: 10rem 0; }
    @media screen and (max-width: 782px) {
      .tec-survey .about__box {
        padding: 24px 0; } }
    .tec-survey .about__box-group {
      margin-bottom: 5rem; }
      .tec-survey .about__box-group-list {
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 36px;
        position: relative;
        padding-left: 2rem; }
        @media screen and (max-width: 1366px) {
          .tec-survey .about__box-group-list {
            font-size: 15px; } }
        @media screen and (max-width: 782px) {
          .tec-survey .about__box-group-list {
            line-height: 1.9; } }
        .tec-survey .about__box-group-list::before {
          content: "・";
          position: absolute;
          top: 0;
          left: 0;
          font-size: 16px; }
          @media screen and (max-width: 1366px) {
            .tec-survey .about__box-group-list::before {
              font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-survey .about__box-group-list:not(:last-of-type) {
          margin-bottom: 10px; } }
    .tec-survey .about__box table {
      font-size: 16px;
      width: 100%; }
      @media screen and (max-width: 1366px) {
        .tec-survey .about__box table {
          font-size: 15px; } }
      .tec-survey .about__box table td {
        padding: 1.5rem 0 1.5rem 2.5rem; }
        @media screen and (max-width: 782px) {
          .tec-survey .about__box table td {
            padding: 15px 0 15px 15px; } }
      .tec-survey .about__box table tr {
        border: 1px solid #707070; }
      .tec-survey .about__box table tr:first-of-type td {
        border: 1px solid #18933b; }
      .tec-survey .about__box table .green {
        background: #18933b;
        color: #ffffff;
        border: none; }
      .tec-survey .about__box table .left {
        border-left: 1px solid #707070; }
      .tec-survey .about__box table p:not(:first-of-type) {
        margin-top: 1.5rem; }

/*tec-survey--------------------*/
/*tec-measure--------------------*/
.tec-measure .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-measure .about {
      padding: 50px 0; } }
  .tec-measure .about__box {
    background: #ffffff;
    padding: 8.5rem 0 10rem 0; }
    @media screen and (max-width: 782px) {
      .tec-measure .about__box {
        padding: 24px 0; } }
    .tec-measure .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-measure .about__box-txt {
          font-size: 15px; } }
    .tec-measure .about__box-txt:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__box-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-measure .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__box-lead {
          font-size: 18px; } }
    .tec-measure .about__box-block:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__box-block:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-measure .about__box-image01 {
      margin-bottom: 4rem; }
    .tec-measure .about__box-group-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 36px;
      position: relative;
      padding-left: 2rem; }
      @media screen and (max-width: 1366px) {
        .tec-measure .about__box-group-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-measure .about__box-group-list {
          line-height: 1.9; } }
      .tec-measure .about__box-group-list::before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0;
        font-size: 16px; }
        @media screen and (max-width: 1366px) {
          .tec-measure .about__box-group-list::before {
            font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .tec-measure .about__box-group-list:not(:last-of-type) {
        margin-bottom: 10px; } }
    .tec-measure .about__box-group02 {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__box-group02 {
          flex-direction: column; } }
      .tec-measure .about__box-group02-list {
        width: calc(100%/3 - 6rem/3); }
        @media screen and (max-width: 782px) {
          .tec-measure .about__box-group02-list {
            width: 100%; } }
      .tec-measure .about__box-group02-list:not(:last-of-type) {
        margin-right: 3rem; }
        @media screen and (max-width: 782px) {
          .tec-measure .about__box-group02-list:not(:last-of-type) {
            margin-right: 0;
            margin-bottom: 25px; } }
      .tec-measure .about__box-group02-image {
        margin-bottom: 1rem; }
        @media screen and (max-width: 782px) {
          .tec-measure .about__box-group02-image {
            margin-bottom: 0; } }
  .tec-measure .about__block-intro {
    margin-bottom: 4rem;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .tec-measure .about__block-intro {
        flex-direction: column; } }
    .tec-measure .about__block-intro-content {
      width: 50%; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__block-intro-content {
          width: 100%;
          margin-bottom: 25px; } }
    .tec-measure .about__block-intro-thumbnail {
      width: 45%; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__block-intro-thumbnail {
          width: 100%; } }
    .tec-measure .about__block-intro-txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 1366px) {
        .tec-measure .about__block-intro-txt {
          font-size: 15px; } }
    .tec-measure .about__block-intro-txt:not(:last-of-type) {
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .tec-measure .about__block-intro-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
  .tec-measure .about__block-detail:not(:last-of-type) {
    margin-bottom: 9rem; }
    @media screen and (max-width: 782px) {
      .tec-measure .about__block-detail:not(:last-of-type) {
        margin-bottom: 50px; } }
  .tec-measure .about__block-detail-thumbnail {
    margin-bottom: 1rem; }
  .tec-measure .about__block-detail-txt {
    font-size: 16px; }
    @media screen and (max-width: 1366px) {
      .tec-measure .about__block-detail-txt {
        font-size: 15px; } }

/*tec-measure--------------------*/
/*tec-3d--------------------*/
.tec-3d .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-3d .about {
      padding: 50px 0; } }
  @media screen and (max-width: 1920px) {
    .tec-3d .about .c-ttl-green-bottom {
      font-size: 3rem; } }
  @media screen and (max-width: 782px) {
    .tec-3d .about .c-ttl-green-bottom {
      font-size: 24px;
      margin-bottom: 4.5rem; } }
  .tec-3d .about__block-intro {
    margin-bottom: 4rem;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .tec-3d .about__block-intro {
        flex-direction: column;
        margin-bottom: 0; } }
    .tec-3d .about__block-intro-content {
      width: 50%; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__block-intro-content {
          width: 100%;
          margin-bottom: 25px; } }
    .tec-3d .about__block-intro-thumbnail {
      width: 45%; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__block-intro-thumbnail {
          width: 100%;
          order: -1;
          margin-bottom: 2rem; } }
    .tec-3d .about__block-intro-txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 1366px) {
        .tec-3d .about__block-intro-txt {
          font-size: 15px; } }
    .tec-3d .about__block-intro-txt:not(:last-of-type) {
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__block-intro-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
  .tec-3d .about__box {
    background: #ffffff;
    padding: 8.5rem 0 11.5rem 0; }
    @media screen and (max-width: 782px) {
      .tec-3d .about__box {
        padding: 24px 0; } }
    .tec-3d .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-3d .about__box-txt {
          font-size: 15px; } }
    .tec-3d .about__box-txt {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-txt {
          margin-bottom: 25px; } }
    .tec-3d .about__box-link {
      display: flex;
      align-items: center;
      width: fit-content; }
      .tec-3d .about__box-link:hover span {
        transform: translateX(10px); }
      .tec-3d .about__box-link span {
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 2;
        color: #45B035;
        border-bottom: 2px solid #45B035;
        transition: all 0.3s; }
        @media screen and (max-width: 1366px) {
          .tec-3d .about__box-link span {
            font-size: 15px; } }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-link span {
            font-size: 14px; } }
      .tec-3d .about__box-link img {
        width: 24.7px;
        object-fit: contain;
        margin-left: 20px; }
    .tec-3d .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-lead {
          font-size: 18px; } }
    .tec-3d .about__box-block {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-block {
          flex-direction: column; } }
      .tec-3d .about__box-block-thumbnail {
        width: calc(100%/2 - 3rem/2); }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-block-thumbnail {
            width: 100%; } }
      .tec-3d .about__box-block-item {
        width: calc(100%/2 - 3rem/2); }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-block-item {
            width: 100%; } }
      .tec-3d .about__box-block-item:first-of-type {
        margin-right: 3rem; }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-block-item:first-of-type {
            margin-right: 0;
            margin-bottom: 50px; } }
      .tec-3d .about__box-block-note {
        font-size: 16px;
        letter-spacing: 0.05em;
        margin-top: 1rem; }
        @media screen and (max-width: 1366px) {
          .tec-3d .about__box-block-note {
            font-size: 15px; } }
    .tec-3d .about__box-block:not(:last-of-type) {
      margin-bottom: 10rem; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-block:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-3d .about__box-group {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-group {
          margin-bottom: 25px; } }
      .tec-3d .about__box-group-list {
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 36px;
        position: relative;
        padding-left: 2rem; }
        @media screen and (max-width: 1366px) {
          .tec-3d .about__box-group-list {
            font-size: 15px; } }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-group-list {
            line-height: 1.9; } }
        .tec-3d .about__box-group-list::before {
          content: "・";
          position: absolute;
          top: 0;
          left: 0;
          font-size: 16px; }
          @media screen and (max-width: 1366px) {
            .tec-3d .about__box-group-list::before {
              font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-group-list:not(:last-of-type) {
          margin-bottom: 10px; } }
    .tec-3d .about__box-group02 {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-3d .about__box-group02 {
          flex-direction: column; } }
      .tec-3d .about__box-group02-list {
        width: calc(100%/3 - 6rem/3); }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-group02-list {
            width: 100%; } }
      .tec-3d .about__box-group02-list:not(:last-of-type) {
        margin-right: 3rem; }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-group02-list:not(:last-of-type) {
            margin-right: 0;
            margin-bottom: 25px; } }
      .tec-3d .about__box-group02-image {
        margin-bottom: 1rem; }
        @media screen and (max-width: 782px) {
          .tec-3d .about__box-group02-image {
            margin-bottom: 0; } }
  .tec-3d .about__box:not(:last-of-type) {
    margin-bottom: 8.5rem; }
    @media screen and (max-width: 782px) {
      .tec-3d .about__box:not(:last-of-type) {
        margin-bottom: 25px; } }

/*tec-3d--------------------*/
/*tec-measures--------------------*/
.tec-measures .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-measures .about {
      padding: 50px 0; } }
  .tec-measures .about .pdfjs-iframe {
    display: none; }
  @media screen and (max-width: 782px) {
    .tec-measures .about .c-ttl-green-bottom {
      font-size: 24px;
      margin-bottom: 4.5rem; } }
  .tec-measures .about__box {
    background: #ffffff;
    padding: 8.5rem 0 11.5rem 0; }
    @media screen and (max-width: 782px) {
      .tec-measures .about__box {
        padding: 24px 0; } }
    .tec-measures .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2;
      margin-bottom: 4rem; }
      @media screen and (max-width: 1366px) {
        .tec-measures .about__box-txt {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-measures .about__box-txt {
          margin-bottom: 25px; } }
    .tec-measures .about__box-txt02 {
      margin-top: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-measures .about__box-txt02 {
          margin-top: 25px; } }
    .tec-measures .about__box-link {
      width: fit-content; }
      .tec-measures .about__box-link .wp-block-group__inner-container {
        display: flex;
        align-items: center; }
      .tec-measures .about__box-link iframe {
        display: none; }
      .tec-measures .about__box-link .pdfjs-fullscreen:hover {
        transform: translateX(10px); }
      .tec-measures .about__box-link .pdfjs-fullscreen {
        transition: all 0.3s; }
      .tec-measures .about__box-link .pdfjs-fullscreen a {
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 2;
        color: #45B035;
        border-bottom: 2px solid #45B035; }
        @media screen and (max-width: 1366px) {
          .tec-measures .about__box-link .pdfjs-fullscreen a {
            font-size: 15px; } }
        @media screen and (max-width: 782px) {
          .tec-measures .about__box-link .pdfjs-fullscreen a {
            font-size: 14px; } }
      .tec-measures .about__box-link img {
        width: 24.7px;
        object-fit: contain;
        margin-left: 20px; }
    .tec-measures .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-measures .about__box-lead {
          font-size: 18px; } }
    .tec-measures .about__box-block:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-measures .about__box-block:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-measures .about__box-image01 {
      margin-bottom: 4rem; }
    .tec-measures .about__box-group-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 36px;
      position: relative;
      padding-left: 2rem; }
      @media screen and (max-width: 1366px) {
        .tec-measures .about__box-group-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-measures .about__box-group-list {
          line-height: 1.9; } }
      .tec-measures .about__box-group-list::before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0;
        font-size: 16px; }
        @media screen and (max-width: 1366px) {
          .tec-measures .about__box-group-list::before {
            font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .tec-measures .about__box-group-list:not(:last-of-type) {
        margin-bottom: 10px; } }
    .tec-measures .about__box-group02 {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-measures .about__box-group02 {
          flex-direction: column; } }
      .tec-measures .about__box-group02-list {
        width: calc(100%/3 - 6rem/3); }
        @media screen and (max-width: 782px) {
          .tec-measures .about__box-group02-list {
            width: 100%; } }
      .tec-measures .about__box-group02-list:not(:last-of-type) {
        margin-right: 3rem; }
        @media screen and (max-width: 782px) {
          .tec-measures .about__box-group02-list:not(:last-of-type) {
            margin-right: 0;
            margin-bottom: 25px; } }
      .tec-measures .about__box-group02-image {
        margin-bottom: 1rem; }
        @media screen and (max-width: 782px) {
          .tec-measures .about__box-group02-image {
            margin-bottom: 0; } }
  .tec-measures .about__box:not(:last-of-type) {
    margin-bottom: 8.5rem; }
    @media screen and (max-width: 782px) {
      .tec-measures .about__box:not(:last-of-type) {
        margin-bottom: 25px; } }

/*tec-measures--------------------*/
/*tec-hasseido--------------------*/
.tec-hasseido .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-hasseido .about {
      padding: 50px 0; } }
  @media screen and (max-width: 1920px) {
    .tec-hasseido .about .c-ttl-green-bottom {
      font-size: 3rem; } }
  @media screen and (max-width: 782px) {
    .tec-hasseido .about .c-ttl-green-bottom {
      font-size: 24px;
      margin-bottom: 4.5rem; } }
  .tec-hasseido .about__box {
    background: #ffffff;
    padding: 8.5rem 0 11.5rem 0; }
    @media screen and (max-width: 782px) {
      .tec-hasseido .about__box {
        padding: 24px 0; } }
    .tec-hasseido .about__box-block {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-hasseido .about__box-block {
          flex-direction: column; } }
      .tec-hasseido .about__box-block-item01 {
        width: 50%;
        flex-basis: unset !important;
        flex-grow: unset !important;
        margin-right: 0 !important; }
        @media screen and (max-width: 782px) {
          .tec-hasseido .about__box-block-item01 {
            width: 100%;
            margin-bottom: 25px; } }
      .tec-hasseido .about__box-block-item02 {
        width: 45%;
        margin-left: auto;
        flex-basis: unset !important;
        flex-grow: unset !important; }
        @media screen and (max-width: 782px) {
          .tec-hasseido .about__box-block-item02 {
            width: 100%;
            margin-left: 0; } }
      .tec-hasseido .about__box-block-txt {
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 2; }
        @media screen and (max-width: 1366px) {
          .tec-hasseido .about__box-block-txt {
            font-size: 15px; } }
      .tec-hasseido .about__box-block-txt:not(:last-of-type) {
        margin-bottom: 4rem; }
        @media screen and (max-width: 782px) {
          .tec-hasseido .about__box-block-txt:not(:last-of-type) {
            margin-bottom: 50px; } }
      .tec-hasseido .about__box-block-note {
        font-size: 16px;
        letter-spacing: 0.05em;
        margin-top: 1rem; }
        @media screen and (max-width: 1366px) {
          .tec-hasseido .about__box-block-note {
            font-size: 15px; } }
    .tec-hasseido .about__box-block02 .about__box-block-item {
      width: calc(100%/2 - 5rem/2); }
      @media screen and (max-width: 782px) {
        .tec-hasseido .about__box-block02 .about__box-block-item {
          width: 100%; } }
    .tec-hasseido .about__box-block02 .about__box-block-item:first-of-type {
      margin-right: 5rem; }
      @media screen and (max-width: 782px) {
        .tec-hasseido .about__box-block02 .about__box-block-item:first-of-type {
          margin-right: 0;
          margin-bottom: 50px; } }
    .tec-hasseido .about__box-block:not(:last-of-type) {
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .tec-hasseido .about__box-block:not(:last-of-type) {
          margin-bottom: 50px; } }

/*tec-3d--------------------*/
/*tec-assessment--------------------*/
.tec-assessment .about {
  background: #FAFAFA;
  padding: 12.5rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-assessment .about {
      padding: 50px 0; } }
  @media screen and (max-width: 782px) {
    .tec-assessment .about .c-ttl-green-bottom {
      font-size: 20px;
      margin-bottom: 4.5rem; } }
  .tec-assessment .about__box {
    background: #ffffff;
    padding: 8.5rem 0 11.5rem 0; }
    @media screen and (max-width: 782px) {
      .tec-assessment .about__box {
        padding: 24px 0; } }
    .tec-assessment .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-assessment .about__box-txt {
          font-size: 15px; } }
    .tec-assessment .about__box-txt01 {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-txt01 {
          margin-bottom: 25px; } }
    .tec-assessment .about__box-txt02 {
      margin-bottom: 3rem; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-txt02 {
          margin-bottom: 25px; } }
    .tec-assessment .about__box-note {
      text-align: right;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-note {
          margin-bottom: 25px; } }
    .tec-assessment .about__box-lead {
      font-size: 16px;
      font-weight: bold;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-assessment .about__box-lead {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-lead {
          margin-bottom: 25px; } }
    .tec-assessment .about__box-lead:last-of-type {
      margin-bottom: 4.5rem; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-lead:last-of-type {
          margin-bottom: 25px; } }
    .tec-assessment .about__box-group {
      margin-left: 2.5rem;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-group {
          margin-bottom: 25px; } }
      .tec-assessment .about__box-group-list {
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 36px;
        position: relative;
        padding-left: 13px; }
        @media screen and (max-width: 1366px) {
          .tec-assessment .about__box-group-list {
            font-size: 15px; } }
        @media screen and (max-width: 782px) {
          .tec-assessment .about__box-group-list {
            line-height: 1.9; } }
        .tec-assessment .about__box-group-list::before {
          content: "";
          position: absolute;
          width: 7px;
          height: 1px;
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          background: #222222; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-group-list:not(:last-of-type) {
          margin-bottom: 10px; } }
    .tec-assessment .about__box-image {
      margin-bottom: 3.5rem; }
      @media screen and (max-width: 782px) {
        .tec-assessment .about__box-image {
          margin-bottom: 25px; } }

/*tec-assessment--------------------*/
/*tec-various-surveys--------------------*/
.tec-various-surveys .about {
  background: #FAFAFA;
  padding: 12.5rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-various-surveys .about {
      padding: 50px 0; } }
  @media screen and (max-width: 782px) {
    .tec-various-surveys .about .c-ttl-green-bottom {
      font-size: 20px;
      margin-bottom: 4.5rem; } }
  .tec-various-surveys .about__box {
    background: #ffffff;
    padding: 10rem 0; }
    @media screen and (max-width: 782px) {
      .tec-various-surveys .about__box {
        padding: 24px 0; } }
    .tec-various-surveys .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2;
      margin-bottom: 4.5rem; }
      @media screen and (max-width: 1366px) {
        .tec-various-surveys .about__box-txt {
          font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .tec-various-surveys .about__box-group {
        margin-bottom: 25px; } }
    .tec-various-surveys .about__box-group-item {
      display: flex;
      font-size: 16px;
      line-height: 1.9375;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 1366px) {
        .tec-various-surveys .about__box-group-item {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-various-surveys .about__box-group-item {
          flex-direction: column; } }
    .tec-various-surveys .about__box-group-label {
      background: #18933b;
      border: 1px solid #18933b;
      flex: 1.5;
      display: flex;
      align-items: center;
      color: #ffffff;
      padding-left: 2rem; }
    .tec-various-surveys .about__box-group-content {
      border-top: 1px solid #222725;
      border-right: 1px solid #222725;
      flex: 4;
      padding: 1.5rem 2rem; }
      @media screen and (max-width: 782px) {
        .tec-various-surveys .about__box-group-content {
          border-top: none;
          border-left: 1px solid #222725; } }
    .tec-various-surveys .about__box-group-item:last-of-type .about__box-group-content {
      border-bottom: 1px solid #222725; }

/*tec-various-surveys--------------------*/
/*tec-boring--------------------*/
.tec-boring .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-boring .about {
      padding: 50px 0; } }
  .tec-boring .about__box {
    background: #ffffff;
    padding: 8.5rem 0 10rem 0; }
    @media screen and (max-width: 782px) {
      .tec-boring .about__box {
        padding: 24px 0; } }
    .tec-boring .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-boring .about__box-txt {
          font-size: 15px; } }
    .tec-boring .about__box-txt01 {
      margin-bottom: 4rem; }
    .tec-boring .about__box-txt02 {
      margin-bottom: 1.5rem; }
    .tec-boring .about__box-txt:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__box-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-boring .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__box-lead {
          font-size: 18px; } }
    .tec-boring .about__box-block:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__box-block:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-boring .about__box-image01 {
      margin-bottom: 4rem; }
    .tec-boring .about__box-group-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 36px;
      position: relative; }
      @media screen and (max-width: 1366px) {
        .tec-boring .about__box-group-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-boring .about__box-group-list {
          line-height: 1.9; } }
    @media screen and (max-width: 782px) {
      .tec-boring .about__box-group-list:not(:last-of-type) {
        margin-bottom: 10px; } }
    .tec-boring .about__box-group02 {
      display: flex; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__box-group02 {
          flex-direction: column; } }
      .tec-boring .about__box-group02-list {
        width: calc(100%/3 - 6rem/3); }
        @media screen and (max-width: 782px) {
          .tec-boring .about__box-group02-list {
            width: 100%; } }
      .tec-boring .about__box-group02-list:not(:last-of-type) {
        margin-right: 3rem; }
        @media screen and (max-width: 782px) {
          .tec-boring .about__box-group02-list:not(:last-of-type) {
            margin-right: 0;
            margin-bottom: 25px; } }
      .tec-boring .about__box-group02-image {
        margin-bottom: 1rem; }
        @media screen and (max-width: 782px) {
          .tec-boring .about__box-group02-image {
            margin-bottom: 0; } }
  .tec-boring .about__box:not(:last-of-type) {
    margin-bottom: 8.5rem; }
    @media screen and (max-width: 782px) {
      .tec-boring .about__box:not(:last-of-type) {
        margin-bottom: 25px; } }
  .tec-boring .about__block-intro {
    margin-bottom: 4rem;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .tec-boring .about__block-intro {
        flex-direction: column; } }
    .tec-boring .about__block-intro-content {
      width: 61%; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__block-intro-content {
          width: 100%;
          margin-bottom: 25px; } }
    .tec-boring .about__block-intro-thumbnail {
      width: 33%; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__block-intro-thumbnail {
          width: 100%; } }
    .tec-boring .about__block-intro-thumbnail01 {
      width: 68%; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__block-intro-thumbnail01 {
          width: 100%; } }
    .tec-boring .about__block-intro-txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 1366px) {
        .tec-boring .about__block-intro-txt {
          font-size: 15px; } }
    .tec-boring .about__block-intro-txt:not(:last-of-type) {
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .tec-boring .about__block-intro-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
  .tec-boring .about__block-detail:not(:last-of-type) {
    margin-bottom: 9rem; }
    @media screen and (max-width: 782px) {
      .tec-boring .about__block-detail:not(:last-of-type) {
        margin-bottom: 50px; } }
  .tec-boring .about__block-detail-thumbnail {
    margin-bottom: 1rem; }
  .tec-boring .about__block-detail-txt {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 1366px) {
      .tec-boring .about__block-detail-txt {
        font-size: 15px; } }

/*tec-boring--------------------*/
/*tec-swunding--------------------*/
.tec-swunding .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-swunding .about {
      padding: 50px 0; } }
  .tec-swunding .about__box {
    background: #ffffff;
    padding: 8.5rem 0 10rem 0; }
    @media screen and (max-width: 782px) {
      .tec-swunding .about__box {
        padding: 24px 0; } }
    .tec-swunding .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-swunding .about__box-txt {
          font-size: 15px; } }
    .tec-swunding .about__box-txt01 {
      margin-bottom: 4rem; }
    .tec-swunding .about__box-txt02 {
      margin-bottom: 1.5rem; }
    .tec-swunding .about__box-txt:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-swunding .about__box-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-swunding .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .tec-swunding .about__box-lead {
          font-size: 18px; } }
    .tec-swunding .about__box-image01 {
      margin-bottom: 4rem; }
    .tec-swunding .about__box-group-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 36px;
      position: relative; }
      @media screen and (max-width: 1366px) {
        .tec-swunding .about__box-group-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .tec-swunding .about__box-group-list {
          line-height: 1.9; } }
      .tec-swunding .about__box-group-list p {
        text-indent: 1em;
        display: block; }
    .tec-swunding .about__box-group-list:not(:last-of-type) {
      margin-bottom: 5rem; }
      @media screen and (max-width: 782px) {
        .tec-swunding .about__box-group-list:not(:last-of-type) {
          margin-bottom: 10px; } }
    .tec-swunding .about__box-wrap {
      background: #FAFAFA;
      padding: 4rem 5rem; }
      @media screen and (max-width: 782px) {
        .tec-swunding .about__box-wrap {
          padding: 15px; } }
      .tec-swunding .about__box-wrap-lead {
        font-size: 2.4rem;
        font-weight: bold;
        margin-bottom: 2.4rem; }
    .tec-swunding .about__box-note {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2;
      text-align: right;
      margin-bottom: 4rem; }
      @media screen and (max-width: 1366px) {
        .tec-swunding .about__box-note {
          font-size: 15px; } }
    .tec-swunding .about__box-block {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 782px) {
        .tec-swunding .about__box-block {
          flex-direction: column; } }
      .tec-swunding .about__box-block-item {
        width: calc(100%/2 - 5rem/2); }
        @media screen and (max-width: 782px) {
          .tec-swunding .about__box-block-item {
            width: 100%; } }
      .tec-swunding .about__box-block-item01 {
        width: 30%; }
        @media screen and (max-width: 782px) {
          .tec-swunding .about__box-block-item01 {
            width: 100%; } }
        .tec-swunding .about__box-block-item01 img {
          height: 60rem;
          object-fit: contain; }
          @media screen and (max-width: 782px) {
            .tec-swunding .about__box-block-item01 img {
              height: auto; } }
      .tec-swunding .about__box-block-item02 {
        width: 60%; }
        @media screen and (max-width: 782px) {
          .tec-swunding .about__box-block-item02 {
            width: 100%; } }
        .tec-swunding .about__box-block-item02 img {
          height: 60rem;
          object-fit: contain; }
          @media screen and (max-width: 782px) {
            .tec-swunding .about__box-block-item02 img {
              height: auto; } }
      .tec-swunding .about__box-block-item:first-of-type {
        margin-right: 5rem; }
        @media screen and (max-width: 782px) {
          .tec-swunding .about__box-block-item:first-of-type {
            margin-right: 0;
            margin-bottom: 50px; } }
      .tec-swunding .about__box-block-note {
        font-size: 16px;
        letter-spacing: 0.05em;
        margin-top: 1rem; }
        @media screen and (max-width: 1366px) {
          .tec-swunding .about__box-block-note {
            font-size: 15px; } }
      .tec-swunding .about__box-block-note01 {
        text-align: center; }
        @media screen and (max-width: 782px) {
          .tec-swunding .about__box-block-note01 {
            text-align: left; } }
    .tec-swunding .about__box-block:not(:last-of-type) {
      margin-bottom: 4rem; }
  .tec-swunding .about__box:not(:last-of-type) {
    margin-bottom: 8.5rem; }
    @media screen and (max-width: 782px) {
      .tec-swunding .about__box:not(:last-of-type) {
        margin-bottom: 25px; } }

/*tec-swunding--------------------*/
/*tec-sampling--------------------*/
.tec-sampling .about {
  background: #FAFAFA;
  padding: 14rem 0 10rem 0; }
  @media screen and (max-width: 782px) {
    .tec-sampling .about {
      padding: 50px 0; } }
  .tec-sampling .about__box {
    background: #ffffff;
    padding: 8.5rem 0 10rem 0; }
    @media screen and (max-width: 782px) {
      .tec-sampling .about__box {
        padding: 24px 0; } }
    .tec-sampling .about__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .tec-sampling .about__box-txt {
          font-size: 15px; } }
    .tec-sampling .about__box-txt01 {
      margin-bottom: 4rem; }
    .tec-sampling .about__box-txt02 {
      margin-bottom: 1.5rem; }
    .tec-sampling .about__box-txt:not(:last-of-type) {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .tec-sampling .about__box-txt:not(:last-of-type) {
          margin-bottom: 25px; } }
    .tec-sampling .about__box-lead {
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1.4583333333;
      margin-bottom: 1rem; }
      @media screen and (max-width: 782px) {
        .tec-sampling .about__box-lead {
          font-size: 18px; } }
    .tec-sampling .about__box-image01 {
      margin-bottom: 4rem; }
    .tec-sampling .about__box-thumbnail {
      overflow-x: auto;
      margin-bottom: 4rem; }
      .tec-sampling .about__box-thumbnail img {
        width: 100%; }
        @media screen and (max-width: 1280px) {
          .tec-sampling .about__box-thumbnail img {
            width: 1280px; } }
        @media screen and (max-width: 782px) {
          .tec-sampling .about__box-thumbnail img {
            width: 768px; } }
    .tec-sampling .about__box-block {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 782px) {
        .tec-sampling .about__box-block {
          flex-direction: column; } }
      .tec-sampling .about__box-block-item {
        width: calc(100%/2 - 12rem/3); }
        @media screen and (max-width: 782px) {
          .tec-sampling .about__box-block-item {
            width: 100%; } }
        .tec-sampling .about__box-block-item img {
          height: 45rem;
          object-fit: contain; }
      .tec-sampling .about__box-block-item:not(:last-of-type) {
        margin-right: 6rem; }
        @media screen and (max-width: 782px) {
          .tec-sampling .about__box-block-item:not(:last-of-type) {
            margin-right: 0;
            margin-bottom: 50px; } }
      .tec-sampling .about__box-block-note {
        font-size: 16px;
        letter-spacing: 0.05em;
        margin-top: 1rem; }
        @media screen and (max-width: 1366px) {
          .tec-sampling .about__box-block-note {
            font-size: 15px; } }
    .tec-sampling .about__box-block:not(:last-of-type) {
      margin-bottom: 4rem; }

/*tec-sampling--------------------*/
/*company--------------------*/
.company .c-catch .c-ttl-en {
  font-size: 6rem; }
  @media screen and (max-width: 782px) {
    .company .c-catch .c-ttl-en {
      font-size: 28px; } }

.company .about {
  padding: 13rem 0 28rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .company .about {
      background: #ffffff;
      padding: 50px 0; } }
  .company .about__item {
    position: relative; }
  .company .about__item:last-of-type .about__content {
    margin-left: auto; }
  .company .about__item:last-of-type .about__thumbnail {
    left: 0; }
  .company .about__item:not(:last-of-type) {
    margin-bottom: 20rem; }
    @media screen and (max-width: 782px) {
      .company .about__item:not(:last-of-type) {
        margin-bottom: 50px; } }
  .company .about .c-ttl {
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .company .about .c-ttl {
        margin-bottom: 40px; } }
  .company .about__content {
    width: 50%; }
    @media screen and (max-width: 782px) {
      .company .about__content {
        width: 100%;
        margin-bottom: 25px; } }
    .company .about__content-lead {
      font-size: 3.6rem;
      font-weight: 500;
      font-family: 'Noto Serif JP', serif;
      margin-bottom: 10rem;
      line-height: 1.4166666667; }
      @media screen and (max-width: 1920px) {
        .company .about__content-lead {
          font-size: 3rem; } }
      @media screen and (max-width: 782px) {
        .company .about__content-lead {
          font-size: 20px;
          margin-bottom: 40px; } }
    .company .about__content-txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em;
      margin-bottom: 6.5rem; }
      @media screen and (max-width: 1366px) {
        .company .about__content-txt {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .company .about__content-txt {
          margin-bottom: 40px; } }
  .company .about__thumbnail {
    width: 39%;
    position: absolute;
    top: 0;
    right: 0; }
    @media screen and (max-width: 782px) {
      .company .about__thumbnail {
        width: 100%;
        position: static;
        top: unset;
        left: unset;
        right: unset;
        margin-bottom: 25px; } }

.company .c-column {
  background: #FAFAFA; }

/*company--------------------*/
/*greeting--------------------*/
.greeting .message {
  padding: 16rem 0 12rem 0; }
  @media screen and (max-width: 782px) {
    .greeting .message {
      padding: 50px 0; } }
  .greeting .message .c-ttl-green {
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .greeting .message .c-ttl-green {
        font-size: 24px;
        margin-bottom: 50px; } }
  .greeting .message__frame {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .greeting .message__frame {
        flex-direction: column; } }
  .greeting .message__box {
    width: 46%; }
    @media screen and (max-width: 782px) {
      .greeting .message__box {
        width: 100%; } }
    .greeting .message__box-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2;
      color: #222222; }
      @media screen and (max-width: 1366px) {
        .greeting .message__box-txt {
          font-size: 15px; } }
      .greeting .message__box-txt span {
        font-size: 2.1rem;
        font-weight: bold;
        letter-spacing: 0.05em;
        line-height: 1.5238095238;
        color: #45B035;
        display: block;
        margin: 1.5rem 0; }
    .greeting .message__box-txt:not(:last-of-type) {
      margin-bottom: 4rem; }
    .greeting .message__box-content {
      margin-top: 6rem;
      width: fit-content;
      margin-left: auto; }
    .greeting .message__box-txt01 {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .greeting .message__box-txt01 {
          font-size: 15px; } }
    .greeting .message__box-bottom {
      display: flex;
      align-items: center; }
    .greeting .message__box-span {
      font-size: 15px;
      letter-spacing: 0.05em;
      line-height: 2.2857142857;
      display: inline-block;
      margin-right: 3rem; }
    .greeting .message__box-txt02 {
      font-size: 2.8rem;
      font-weight: 500;
      font-family: 'Noto Serif JP', serif;
      line-height: 2.2857142857; }
      @media screen and (max-width: 782px) {
        .greeting .message__box-txt02 {
          font-size: 21px; } }
  @media screen and (max-width: 782px) {
    .greeting .message__box:first-of-type {
      margin-right: 0;
      margin-bottom: 50px; } }

.greeting .message__box-txt span.highlight-txt {
  font-size: 2.6rem; }

.greeting .message__box-txt span.kankyo,
.greeting .message__box-txt span.chousa,
.greeting .message__box-txt span.sekkei {
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.05;
  line-height: normal;
  color: #222222;
  display: inline;
  margin: 0; }

.greeting .message__box-txt span.kankyo {
  color: #91C31D; }

.greeting .message__box-txt span.chousa {
  color: #DE045B; }

.greeting .message__box-txt span.sekkei {
  color: #0065A5; }

@media screen and (max-width: 1366px) {
  .greeting .message__box-txt span.kankyo,
  .greeting .message__box-txt span.chousa,
  .greeting .message__box-txt span.sekkei {
    font-size: 15px; } }
/*greeting--------------------*/
/*philosophy--------------------*/
.philosophy .catch {
  padding: 17rem 0 14rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .philosophy .catch {
      padding: 50px 0; } }
  .philosophy .catch .c-ttl-green {
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    padding-top: 0; }
    .philosophy .catch .c-ttl-green::before {
      top: -2rem; }
    @media screen and (max-width: 782px) {
      .philosophy .catch .c-ttl-green {
        font-size: 24px;
        margin-bottom: 50px; } }
  .philosophy .catch .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .philosophy .catch .l-inner-w {
        flex-direction: column; } }
  .philosophy .catch__txt {
    width: 41%;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    color: #222222; }
    @media screen and (max-width: 782px) {
      .philosophy .catch__txt {
        width: 100%;
        font-size: 16px; } }

.philosophy .intro {
  padding: 10rem 0 13rem 0; }
  @media screen and (max-width: 782px) {
    .philosophy .intro {
      padding: 50px 0; } }
  .philosophy .intro__box {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .philosophy .intro__box {
        flex-direction: column; } }
    .philosophy .intro__box-thumbnail {
      margin-right: 10rem; }
      @media screen and (max-width: 782px) {
        .philosophy .intro__box-thumbnail {
          margin-right: 0;
          margin-bottom: 50px; } }
    .philosophy .intro__box-item:not(:last-of-type) {
      margin-bottom: 6rem; }
      @media screen and (max-width: 782px) {
        .philosophy .intro__box-item:not(:last-of-type) {
          margin-bottom: 25px; } }
    .philosophy .intro__box-lead {
      font-size: 3rem;
      color: #ffffff;
      padding: 10px 15px;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 782px) {
        .philosophy .intro__box-lead {
          font-size: 20px;
          margin-bottom: 10px; } }
    .philosophy .intro__box-lead01 {
      background: #DE045B; }
    .philosophy .intro__box-lead02 {
      background: #0065A5; }
    .philosophy .intro__box-lead03 {
      background: #91C31D; }
    .philosophy .intro__box-txt {
      font-size: 2.1rem;
      letter-spacing: 0.05em;
      line-height: 1.4761904762; }
      @media screen and (max-width: 782px) {
        .philosophy .intro__box-txt {
          font-size: 16px; } }

/*philosophy--------------------*/
/*company-profile--------------------*/
.company-profile .about {
  padding: 13rem 0 12rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .company-profile .about {
      padding: 50px 0; } }
  .company-profile .about .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .company-profile .about .l-inner-w {
        flex-direction: column; } }
  .company-profile .about .table {
    width: 67%;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    text-align: left;
    margin-left: auto; }
    @media screen and (max-width: 1366px) {
      .company-profile .about .table {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .company-profile .about .table {
        width: 100%; } }
    .company-profile .about .table tr {
      border-top: 1px solid #707070; }
      @media screen and (max-width: 782px) {
        .company-profile .about .table tr {
          display: flex;
          flex-direction: column; } }
      .company-profile .about .table tr td {
        padding: 3rem 0;
        border: none; }
        @media screen and (max-width: 782px) {
          .company-profile .about .table tr td {
            padding: 15px 0; } }
      .company-profile .about .table tr td:first-of-type {
        width: 23rem; }
        @media screen and (max-width: 1024px) {
          .company-profile .about .table tr td:first-of-type {
            min-width: 15rem; } }
        @media screen and (max-width: 782px) {
          .company-profile .about .table tr td:first-of-type {
            min-width: 100%; } }
      .company-profile .about .table tr td:last-of-type {
        padding-right: 2rem; }
        @media screen and (max-width: 782px) {
          .company-profile .about .table tr td:last-of-type {
            padding-right: 0; } }
      .company-profile .about .table tr .group li {
        position: relative;
        padding-left: 2rem; }
        .company-profile .about .table tr .group li::before {
          position: absolute;
          top: 0;
          left: 0;
          font-size: 1.6rem; }
      .company-profile .about .table tr .group li:first-of-type::before {
        content: "1."; }
      .company-profile .about .table tr .group li:nth-of-type(2)::before {
        content: "2."; }
      .company-profile .about .table tr .group li:nth-of-type(3)::before {
        content: "3."; }
      .company-profile .about .table tr .group li:nth-of-type(4)::before {
        content: "4."; }
      .company-profile .about .table tr .group li:last-of-type::before {
        content: "5."; }
    .company-profile .about .table tr:last-of-type {
      border-bottom: 1px solid #707070; }
    .company-profile .about .table p:not(:last-of-type) {
      margin-bottom: 2.5rem; }

/*company-profile--------------------*/
/*partners--------------------*/
.partners .about {
  padding: 13rem 0 11rem 0; }
  @media screen and (max-width: 782px) {
    .partners .about {
      padding: 50px 0; } }
  .partners .about .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1024px) {
      .partners .about .l-inner-w {
        flex-direction: column; } }
  .partners .about__block {
    width: 67%;
    display: flex; }
    @media screen and (max-width: 782px) {
      .partners .about__block {
        width: 100%;
        flex-direction: column; } }
  .partners .about .table {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    width: calc(100%/2 - 60px/2);
    text-align: left; }
    @media screen and (max-width: 1366px) {
      .partners .about .table {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .partners .about .table {
        width: 100%; } }
    .partners .about .table tr {
      border-top: 1px solid #707070; }
      @media screen and (max-width: 782px) {
        .partners .about .table tr {
          display: flex;
          flex-direction: column; } }
      .partners .about .table tr td {
        padding: 3rem 0; }
        @media screen and (max-width: 782px) {
          .partners .about .table tr td {
            padding: 15px 0; } }
      .partners .about .table tr td:last-of-type {
        padding-right: 6rem; }
        @media screen and (max-width: 782px) {
          .partners .about .table tr td:last-of-type {
            padding-right: 0; } }
    .partners .about .table tr:last-of-type {
      border-bottom: 1px solid #707070; }
    .partners .about .table p:not(:last-of-type) {
      margin-bottom: 2.5rem; }
  .partners .about .table:first-of-type {
    margin-right: 60px; }
    @media screen and (max-width: 782px) {
      .partners .about .table:first-of-type {
        margin-right: 0px; } }
    @media screen and (max-width: 782px) {
      .partners .about .table:first-of-type tr:last-of-type {
        border-bottom: none; } }

/*partners--------------------*/
/*awards--------------------*/
.awards .about {
  padding: 13rem 0 11rem 0; }
  @media screen and (max-width: 782px) {
    .awards .about {
      padding: 50px 0; } }
  .awards .about__block {
    width: 100%;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .awards .about__block {
        width: 100%;
        flex-direction: column; } }
    .awards .about__block-frame {
      width: 67%; }
      @media screen and (max-width: 1920px) {
        .awards .about__block-frame {
          width: 80%; } }
      @media screen and (max-width: 782px) {
        .awards .about__block-frame {
          width: 100%;
          overflow-x: scroll; } }
  .awards .about__block:not(:last-of-type) {
    margin-bottom: 10rem; }
  .awards .about .table {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    width: 100%; }
    @media screen and (max-width: 1366px) {
      .awards .about .table {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .awards .about .table {
        width: 1000px; } }
    .awards .about .table tr {
      border-bottom: 1px solid #707070; }
      .awards .about .table tr td {
        vertical-align: middle;
        padding: 1rem 0;
        border-left: 1px solid #707070; }
        @media screen and (max-width: 782px) {
          .awards .about .table tr td {
            padding: 1.5rem 0; } }
      .awards .about .table tr td:first-of-type {
        width: 9%;
        text-align: center; }
      .awards .about .table tr td:nth-of-type(2) {
        width: 35%;
        text-align: left; }
      .awards .about .table tr td:last-of-type {
        width: 56%;
        border-right: 1px solid #707070; }
    .awards .about .table tr:first-of-type {
      background: #18933b;
      border: 1px solid #18933b;
      color: #ffffff; }
      .awards .about .table tr:first-of-type td {
        text-align: center;
        border: none; }
    .awards .about .table tr:last-of-type {
      border-bottom: 1px solid #707070; }
    .awards .about .table tr:not(:first-of-type) td:nth-of-type(2) {
      padding: 1.5rem 2rem; }
    .awards .about .table tr:not(:first-of-type) td:last-of-type {
      padding: 1.5rem 2rem; }

/*awards--------------------*/
/*stronghold--------------------*/
.stronghold .about {
  padding: 13rem 0 12rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .stronghold .about {
      padding: 50px 0; } }
  .stronghold .about .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .stronghold .about .l-inner-w {
        flex-direction: column; } }
  .stronghold .about__frame {
    width: 67%; }
    @media screen and (max-width: 782px) {
      .stronghold .about__frame {
        width: 100%; } }
  .stronghold .about__block {
    padding-top: 2rem; }
    .stronghold .about__block-lead {
      font-size: 2.8rem;
      font-weight: bold;
      margin-bottom: 3rem;
      position: relative; }
      .stronghold .about__block-lead::before {
        content: "";
        width: 16px;
        height: 1px;
        background: #45B035;
        position: absolute;
        bottom: -1.5rem;
        left: 0; }
    .stronghold .about__block-info {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 1.75;
      margin-bottom: 4rem; }
      @media screen and (max-width: 1366px) {
        .stronghold .about__block-info {
          font-size: 15px; } }
    .stronghold .about__block iframe {
      height: 36rem;
      margin-bottom: 2rem; }
    .stronghold .about__block-column {
      display: flex;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .stronghold .about__block-column {
          flex-direction: column; } }
      .stronghold .about__block-column-catch {
        margin-right: 4rem;
        width: calc(100% - 62% - 4rem);
        object-fit: cover; }
        @media screen and (max-width: 782px) {
          .stronghold .about__block-column-catch {
            margin-right: 0;
            width: 100%;
            object-fit: unset;
            margin-bottom: 2rem; } }
      .stronghold .about__block-column iframe {
        width: 62%;
        margin-bottom: 0; }
        @media screen and (max-width: 782px) {
          .stronghold .about__block-column iframe {
            width: 100%; } }
    .stronghold .about__block-group-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 1.75; }
      @media screen and (max-width: 1366px) {
        .stronghold .about__block-group-list {
          font-size: 15px; } }
    .stronghold .about__block-group-list:not(:last-of-type) {
      margin-bottom: 1rem; }
    .stronghold .about__block-access {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 1.75; }
      @media screen and (max-width: 1366px) {
        .stronghold .about__block-access {
          font-size: 15px; } }
  .stronghold .about__block:not(:last-of-type) {
    margin-bottom: 10rem; }

/*stronghold--------------------*/
/*patents--------------------*/
.patents .about {
  padding: 13rem 0 11rem 0; }
  @media screen and (max-width: 782px) {
    .patents .about {
      padding: 50px 0; } }
  .patents .about .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1024px) {
      .patents .about .l-inner-w {
        flex-direction: column; } }
  .patents .about__group {
    width: 67%;
    margin-left: auto; }
    @media screen and (max-width: 782px) {
      .patents .about__group {
        width: 100%;
        flex-direction: column; } }
    .patents .about__group-item {
      border-top: 1px solid #707070; }
    .patents .about__group-item:last-of-type {
      border-bottom: 1px solid #707070; }
    .patents .about__group-link {
      font-size: 16px;
      letter-spacing: 0.05em;
      display: flex;
      align-items: center;
      padding: 3rem 0;
      width: 100%;
      height: 100%; }
      @media screen and (max-width: 1366px) {
        .patents .about__group-link {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .patents .about__group-link {
          flex-direction: column;
          align-items: flex-start; } }
    .patents .about__group-first {
      min-width: 24rem; }
      @media screen and (max-width: 782px) {
        .patents .about__group-first {
          min-width: unset;
          margin-bottom: 10px; } }
    .patents .about__group-second {
      display: flex; }
      @media screen and (max-width: 782px) {
        .patents .about__group-second {
          line-height: 1.9; } }
    .patents .about__group-span {
      display: inline-block;
      margin-right: 1rem; }
    .patents .about__group-icon {
      width: 1.5rem;
      object-fit: contain; }

/*patents--------------------*/
/*qualifications--------------------*/
.qualifications .about {
  padding: 13rem 0 11rem 0; }
  @media screen and (max-width: 782px) {
    .qualifications .about {
      padding: 50px 0; } }
  .qualifications .about__block {
    width: 100%;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .qualifications .about__block {
        width: 100%;
        flex-direction: column; } }
    .qualifications .about__block-frame {
      width: 67%; }
      @media screen and (max-width: 782px) {
        .qualifications .about__block-frame {
          width: 100%; } }
    .qualifications .about__block-group {
      display: flex; }
      @media screen and (max-width: 782px) {
        .qualifications .about__block-group {
          flex-direction: column; } }
      .qualifications .about__block-group-ttl {
        width: 25%;
        background: #18933b;
        color: #ffffff;
        font-size: 2.8rem;
        font-weight: bold;
        display: flex;
        align-items: center;
        padding-left: 2rem; }
        @media screen and (max-width: 1920px) {
          .qualifications .about__block-group-ttl {
            font-size: 2.4rem; } }
        @media screen and (max-width: 1024px) {
          .qualifications .about__block-group-ttl {
            font-size: 2.2rem; } }
        @media screen and (max-width: 782px) {
          .qualifications .about__block-group-ttl {
            width: 100%;
            padding: 2rem;
            font-size: 20px; } }
      .qualifications .about__block-group-content {
        width: 75%; }
        @media screen and (max-width: 782px) {
          .qualifications .about__block-group-content {
            width: 100%; } }
      .qualifications .about__block-group-item {
        font-size: 16px;
        letter-spacing: 0.05em;
        padding: 2rem;
        border-top: 1px solid #707070;
        display: flex;
        justify-content: space-between; }
        .qualifications .about__block-group-item span {
          display: block; }
      .qualifications .about__block-group-item:last-of-type {
        border-bottom: 1px solid #707070; }
    .qualifications .about__block-group:not(:last-of-type) {
      margin-bottom: 6rem; }

/*qualifications--------------------*/
/*history--------------------*/
.history .about {
  padding: 13rem 0 11rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .history .about {
      padding: 50px 0; } }
  .history .about__block {
    width: 100%;
    position: relative;
    z-index: 100;
    overflow: hidden; }
    @media screen and (max-width: 782px) {
      .history .about__block {
        width: 100%;
        flex-direction: column; } }
  .history .about__item {
    position: relative;
    z-index: 0;
    width: 100%; }
    @media screen and (max-width: 782px) {
      .history .about__item {
        padding: 0; } }
    .history .about__item::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 2.9rem;
      border-right: 1px solid #707070;
      height: 100%;
      background: #FAFAFA;
      z-index: 1000; }
      @media screen and (max-width: 782px) {
        .history .about__item::before {
          width: 16px; } }
    .history .about__item-wrapper {
      position: relative;
      padding: 3rem 0; }
      @media screen and (max-width: 782px) {
        .history .about__item-wrapper {
          flex-direction: column;
          padding: 30px 0; } }
      .history .about__item-wrapper-circle::before {
        content: "";
        position: absolute;
        top: 5.1rem;
        left: 2.4rem;
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
        background: #18933B;
        z-index: 2000; }
        @media screen and (max-width: 782px) {
          .history .about__item-wrapper-circle::before {
            top: calc(3rem + 11px);
            width: 10px;
            height: 10px;
            left: 11px; } }
      .history .about__item-wrapper-logo::before {
        content: '';
        position: absolute;
        left: 0;
        top: 3.8rem;
        width: 6rem;
        height: 3.3rem;
        background-image: url(./images/company/history/logo.jpg);
        background-size: contain;
        background-repeat: no-repeat;
        border-radius: unset;
        z-index: 2000; }
        @media screen and (max-width: 782px) {
          .history .about__item-wrapper-logo::before {
            top: 38px;
            width: 30px;
            height: 16.5px;
            left: 2px; } }
      .history .about__item-wrapper::after {
        content: "";
        width: 80%;
        position: absolute;
        bottom: 0;
        right: 0;
        height: 1px;
        background: #707070; }
        @media screen and (max-width: 782px) {
          .history .about__item-wrapper::after {
            width: 86%; } }
    .history .about__item-frame {
      display: flex;
      justify-content: flex-end;
      position: relative; }
      @media screen and (max-width: 782px) {
        .history .about__item-frame {
          width: 86%;
          margin-left: auto;
          flex-direction: column; } }
      .history .about__item-frame-sub {
        margin-top: 4rem; }
        @media screen and (max-width: 782px) {
          .history .about__item-frame-sub {
            margin-top: 5rem; } }
    .history .about__item-first {
      width: 30%;
      position: relative;
      display: flex;
      flex-direction: column; }
      @media screen and (max-width: 782px) {
        .history .about__item-first {
          width: 100%;
          flex-direction: row;
          align-items: center;
          margin-bottom: 1rem; } }
    .history .about__item-year {
      font-size: 4.8rem;
      font-weight: bold;
      font-family: 'Roboto', sans-serif;
      color: #45B035;
      position: relative;
      margin-bottom: 1rem;
      z-index: 500; }
      @media screen and (max-width: 782px) {
        .history .about__item-year {
          font-size: 30px;
          margin-bottom: 0;
          margin-right: 20px; } }
      .history .about__item-year::after {
        content: "";
        position: absolute;
        top: 2.5rem;
        left: -100vw;
        width: 100vw;
        height: 1px;
        background: #DFDFDF;
        z-index: 50; }
        @media screen and (max-width: 782px) {
          .history .about__item-year::after {
            top: 15px; } }
      .history .about__item-year span {
        font-size: 2.8rem; }
        @media screen and (max-width: 782px) {
          .history .about__item-year span {
            font-size: 16px; } }
    .history .about__item-ja {
      font-size: 20px;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 782px) {
        .history .about__item-ja {
          font-size: 16px; } }
    .history .about__item-second {
      width: 50%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding-right: 2rem; }
      @media screen and (max-width: 782px) {
        .history .about__item-second {
          width: 100%; } }
    .history .about__item-list {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 1.5; }
    .history .about__item-list:not(:last-of-type) {
      margin-bottom: 1rem; }
    .history .about__item-top::after {
      content: "";
      position: absolute;
      width: 8%;
      top: 0;
      left: 0;
      height: 6rem;
      background: #FAFAFA;
      z-index: 1100; }
      @media screen and (max-width: 782px) {
        .history .about__item-top::after {
          height: calc(3rem + 15px); } }
    .history .about__item-bottom::after {
      content: "";
      position: absolute;
      width: 14%;
      top: 6rem;
      left: 0;
      height: calc(100% - 5.5rem);
      background: #FAFAFA;
      z-index: 1100; }
      @media screen and (max-width: 782px) {
        .history .about__item-bottom::after {
          top: 46px;
          height: calc(100% - 45px); } }

/*history--------------------*/
/*recruit--------------------*/
.recruit .c-catch .c-ttl-en {
  font-size: 6rem; }
  @media screen and (max-width: 782px) {
    .recruit .c-catch .c-ttl-en {
      font-size: 28px; } }

.recruit .c-fv {
  background-image: url(images/recruit/fv.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  position: relative;
  height: 85rem; }
  @media screen and (max-width: 782px) {
    .recruit .c-fv {
      height: 60vh;
      background-position: 89% 0; } }
  .recruit .c-fv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(45, 42, 59, 0.4); }
  .recruit .c-fv__box {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -60%);
    width: 77%;
    max-width: 1480px; }
    @media screen and (max-width: 782px) {
      .recruit .c-fv__box {
        width: 82%;
        top: 68%; } }
    .recruit .c-fv__box-ttl {
      font-size: 6.8rem;
      font-weight: bold;
      line-height: 1.6911764706;
      font-family: 'Noto Serif JP', serif;
      margin-bottom: 3rem;
      color: #ffffff; }
      @media screen and (max-width: 782px) {
        .recruit .c-fv__box-ttl {
          font-size: 42px;
          line-height: 1.4; } }
    .recruit .c-fv__box-txt {
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.45;
      font-family: 'Noto Serif JP', serif;
      color: #ffffff; }
      @media screen and (max-width: 782px) {
        .recruit .c-fv__box-txt {
          font-size: 14px; } }

.recruit .message {
  padding: 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .recruit .message {
      padding: 50px 0; } }
  .recruit .message .c-ttl {
    margin-bottom: 6rem; }
    @media screen and (max-width: 782px) {
      .recruit .message .c-ttl {
        margin-bottom: 50px; } }
  .recruit .message__txt {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.7777777778;
    margin-bottom: 6rem; }
    @media screen and (max-width: 782px) {
      .recruit .message__txt {
        font-size: 16px;
        margin-bottom: 50px; } }

.recruit .interview {
  padding: 10rem 0 13rem 0; }
  @media screen and (max-width: 782px) {
    .recruit .interview {
      padding: 50px 0; } }
  .recruit .interview .c-ttl {
    text-align: center;
    margin-bottom: 6rem; }
    @media screen and (max-width: 782px) {
      .recruit .interview .c-ttl {
        margin-bottom: 50px; } }
  .recruit .interview__group-item {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-item {
        flex-direction: column-reverse; } }
  .recruit .interview__group-item:nth-of-type(odd) {
    flex-direction: row-reverse; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-item:nth-of-type(odd) {
        flex-direction: column-reverse; } }
  .recruit .interview__group-item:not(:last-of-type) {
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-item:not(:last-of-type) {
        margin-bottom: 100px; } }
  .recruit .interview__group-content {
    width: 48%; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-content {
        width: 100%; } }
  .recruit .interview__group-frame {
    margin-bottom: 3rem;
    position: relative; }
  .recruit .interview__group-catch {
    font-size: 1.6rem;
    font-family: 'Roboto', sans-serif;
    margin-top: -1rem;
    margin-right: 1.5rem;
    color: #45B035;
    position: absolute;
    left: 0;
    bottom: 1rem; }
  .recruit .interview__group-number {
    font-size: 7.8rem;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0.05em;
    color: transparent;
    -webkit-text-stroke: 1px #45B035;
    display: block;
    padding-left: 10rem; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-number {
        font-size: 40px; } }
  .recruit .interview__group-lead {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4583333333;
    color: #000000;
    margin-bottom: 2rem; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-lead {
        font-size: 20px; } }
  .recruit .interview__group-name {
    font-size: 2rem;
    color: #000000;
    margin-bottom: 3rem; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-name {
        font-size: 16px; } }
  .recruit .interview__group-span {
    font-size: 16px;
    color: #45B035;
    margin-right: 1rem; }
    @media screen and (max-width: 1366px) {
      .recruit .interview__group-span {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-span {
        font-size: 14px; } }
  .recruit .interview__group-thumbnail {
    width: 40%; }
    @media screen and (max-width: 782px) {
      .recruit .interview__group-thumbnail {
        width: 100%;
        margin-bottom: 10px; } }

.recruit .culture {
  padding: 13rem 0;
  background: #18933b;
  color: #ffffff; }
  @media screen and (max-width: 782px) {
    .recruit .culture {
      padding: 50px 0; } }
  .recruit .culture .c-ttl {
    margin-bottom: 6rem; }
    @media screen and (max-width: 782px) {
      .recruit .culture .c-ttl {
        margin-bottom: 50px; } }
    .recruit .culture .c-ttl-ja {
      color: #ffffff; }
    .recruit .culture .c-ttl-en {
      color: #ffffff; }
  .recruit .culture__item {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .recruit .culture__item {
        flex-direction: column; } }
    .recruit .culture__item-content {
      width: 40%; }
      @media screen and (max-width: 782px) {
        .recruit .culture__item-content {
          width: 100%;
          margin-bottom: 50px; } }
    .recruit .culture__item-txt {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.05em;
      margin-bottom: 4rem; }
      @media screen and (max-width: 1366px) {
        .recruit .culture__item-txt {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .recruit .culture__item-txt {
          font-size: 16px;
          margin-bottom: 50px; } }
    .recruit .culture__item-thumbnail {
      width: 50%;
      filter: brightness(105%); }
      @media screen and (max-width: 782px) {
        .recruit .culture__item-thumbnail {
          width: 100%; } }
    .recruit .culture__item .c-btn-icon {
      filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(97deg) brightness(99%) contrast(99%); }
    .recruit .culture__item .c-btn-span {
      color: #ffffff; }
    .recruit .culture__item .c-btn-circle::before {
      border: 1px solid #ffffff; }
  .recruit .culture .slider-frame {
    margin-top: 6rem; }
    @media screen and (max-width: 782px) {
      .recruit .culture .slider-frame {
        margin-top: 50px; } }
    .recruit .culture .slider-frame .slider {
      display: none; }
    .recruit .culture .slider-frame .slick-initialized {
      display: block; }
  .recruit .culture .slick-slider {
    height: 100%; }
  .recruit .culture .slick-list {
    height: 100%;
    filter: brightness(105%); }
  .recruit .culture .slick-track {
    height: 100%; }
  .recruit .culture .slick-slide {
    height: 100%; }
    .recruit .culture .slick-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .recruit .culture .slick-slide div {
      height: 100%; }
      .recruit .culture .slick-slide div img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.recruit .faq {
  padding: 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .recruit .faq {
      padding: 50px 0; } }
  @media screen and (max-width: 782px) {
    .recruit .faq .c-ttl {
      margin-bottom: 25px; } }
  .recruit .faq .l-inner-s {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .recruit .faq .l-inner-s {
        flex-direction: column; } }
  .recruit .faq__switch {
    position: absolute;
    top: 5rem;
    right: 0;
    width: 70%;
    height: 25px; }
    @media screen and (max-width: 782px) {
      .recruit .faq__switch {
        top: 30px;
        width: 50%; } }
    .recruit .faq__switch-frame {
      margin-left: auto;
      position: relative;
      width: 25px; }
    .recruit .faq__switch-span01 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 11.5px;
      width: 2px;
      height: 25px;
      background: #45B035;
      transition: all 0.3s;
      visibility: visible;
      opacity: 1; }
    .recruit .faq__switch-span02 {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      width: 25px;
      height: 2px;
      background: #45B035; }
  .recruit .faq .js-switch02.active .faq__switch-span01 {
    opacity: 0;
    visibility: hidden; }
  .recruit .faq__group {
    width: 67%; }
    @media screen and (max-width: 782px) {
      .recruit .faq__group {
        width: 100%; } }
    .recruit .faq__group-list {
      border-top: 1px solid #707070;
      position: relative;
      padding: 3rem 0 3rem 2.5rem;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .recruit .faq__group-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .recruit .faq__group-list {
          padding: 10px 50px 10px 10px; } }
    .recruit .faq__group-list:last-of-type {
      border-bottom: 1px solid #707070; }
    .recruit .faq__group-txt {
      position: relative;
      font-size: 20px;
      font-weight: bold;
      padding-left: 3rem; }
      .recruit .faq__group-txt::before {
        content: "Q";
        font-size: 20px;
        font-weight: bold;
        font-family: 'Roboto', sans-serif;
        color: #45B035;
        position: absolute;
        top: 0;
        left: 0; }
      @media screen and (max-width: 782px) {
        .recruit .faq__group-txt {
          padding-left: 20px; } }
  .recruit .faq .js-ac {
    display: none; }
  .recruit .faq .js-ac.open {
    display: flex; }
  .recruit .faq__group02 {
    background: #FAFAFA;
    display: flex;
    flex-wrap: wrap;
    margin-top: 4.5rem; }
    @media screen and (max-width: 782px) {
      .recruit .faq__group02 {
        flex-direction: column;
        margin-top: 25px; } }
    .recruit .faq__group02-list {
      position: relative;
      font-size: 16px;
      padding: 0 5rem 0 3rem; }
      @media screen and (max-width: 1366px) {
        .recruit .faq__group02-list {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .recruit .faq__group02-list {
          padding: 0 0 0 20px;
          width: 100%; } }

.recruit .btn {
  background: linear-gradient(90deg, #45b035 0%, #27611e 50%, #063a24 100%);
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s; }
  @media screen and (max-width: 782px) {
    .recruit .btn {
      display: none;
      visibility: hidden;
      opacity: 0; } }
  .recruit .btn-list:first-of-type {
    position: relative; }
    .recruit .btn-list:first-of-type::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: calc(100% - 6rem);
      height: 1px;
      background: #ffffff; }
  .recruit .btn-link {
    display: flex;
    flex-direction: column;
    padding: 2rem 3rem;
    width: 100%;
    height: 100%;
    color: #ffffff; }
    .recruit .btn-link span {
      transition: all 0.3s; }
    .recruit .btn-link:hover {
      opacity: 1; }
      .recruit .btn-link:hover span {
        transform: translateX(10px); }
  .recruit .btn-frame {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .recruit .btn-span {
    font-size: 2rem;
    font-weight: bold;
    display: block;
    margin-right: 7rem; }
  .recruit .btn-entry {
    font-size: 1.8rem;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    margin-top: 2rem;
    display: block; }
  .recruit .btn-icon {
    width: 2.4rem;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(97deg) brightness(99%) contrast(99%); }

.recruit .btn.active {
  opacity: 1;
  visibility: visible; }

.recruit .btn.hide {
  opacity: 0;
  visibility: hidden; }

/*recruit--------------------*/
/*culture--------------------*/
.culture .catch {
  padding: 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .culture .catch {
      padding: 50px 0; } }
  .culture .catch__txt {
    font-size: 1.8rem;
    letter-spacing: 0.059em;
    line-height: 1.7777777778;
    width: 60%;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 782px) {
      .culture .catch__txt {
        width: 100%;
        max-width: unset; } }

.culture .about {
  padding: 13rem 0 20rem 0; }
  @media screen and (max-width: 782px) {
    .culture .about {
      padding: 50px 0; } }
  .culture .about__frame {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .culture .about__frame {
        flex-direction: column; } }
  .culture .about__thumbnail {
    width: 48%; }
    @media screen and (max-width: 782px) {
      .culture .about__thumbnail {
        width: 100%;
        margin-bottom: 25px; } }
  .culture .about__txt {
    width: 48%;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2; }
    @media screen and (max-width: 1366px) {
      .culture .about__txt {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .culture .about__txt {
        width: 100%; } }

.culture .schedule {
  background: #FAFAFA;
  padding: 13rem 0 33rem 0;
  position: relative; }
  @media screen and (max-width: 782px) {
    .culture .schedule {
      padding: 50px 0; } }
  .culture .schedule .c-ttl {
    text-align: center;
    margin-bottom: 8rem; }
    @media screen and (max-width: 782px) {
      .culture .schedule .c-ttl {
        margin-bottom: 50px; } }
  .culture .schedule .c-ttl-green {
    margin-bottom: 6.5rem; }
  .culture .schedule__block-frame {
    position: relative; }
  .culture .schedule__block .l-inner-max {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 782px) {
      .culture .schedule__block .l-inner-max {
        position: static;
        top: unset;
        left: unset;
        transform: none; } }
  .culture .schedule__block-thumbnail {
    width: 27%;
    margin-left: auto; }
    @media screen and (max-width: 782px) {
      .culture .schedule__block-thumbnail {
        width: 100%;
        margin-left: 0;
        display: flex; } }
    @media screen and (max-width: 782px) {
      .culture .schedule__block-thumbnail img {
        width: calc(100%/2 - 20px/2); } }
    .culture .schedule__block-thumbnail img:first-of-type {
      margin-bottom: 4rem; }
      @media screen and (max-width: 782px) {
        .culture .schedule__block-thumbnail img:first-of-type {
          margin-bottom: 0;
          margin-right: 20px; } }
  .culture .schedule__block-group {
    width: 70%; }
    @media screen and (max-width: 782px) {
      .culture .schedule__block-group {
        width: 100%;
        margin-bottom: 25px; } }
    .culture .schedule__block-group-item {
      border-top: 1px solid #707070;
      padding: 3rem 0;
      display: flex;
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      line-height: 1.7222222222; }
      @media screen and (max-width: 782px) {
        .culture .schedule__block-group-item {
          flex-direction: column;
          font-size: 16px; } }
    .culture .schedule__block-group-item:last-of-type {
      border-bottom: 1px solid #707070; }
    .culture .schedule__block-group-first {
      min-width: 26rem;
      display: flex;
      align-items: flex-start; }
      @media screen and (max-width: 782px) {
        .culture .schedule__block-group-first {
          flex-direction: column-reverse;
          min-width: unset;
          margin-bottom: 25px; } }
    @media screen and (max-width: 782px) {
      .culture .schedule__block-group-first00 {
        margin-bottom: 0; } }
    .culture .schedule__block-group-time {
      min-width: 15rem; }
      @media screen and (max-width: 782px) {
        .culture .schedule__block-group-time {
          min-width: unset;
          margin-right: 30px; } }
    .culture .schedule__block-group-label {
      font-weight: bold; }
    .culture .schedule__block-group-txt {
      padding-right: 1rem; }
  .culture .schedule__block:not(:last-of-type) {
    margin-bottom: 27rem; }
    @media screen and (max-width: 782px) {
      .culture .schedule__block:not(:last-of-type) {
        margin-bottom: 100px; } }

.culture .benefits {
  padding: 13rem 0; }
  @media screen and (max-width: 782px) {
    .culture .benefits {
      padding: 50px 0; } }
  .culture .benefits .l-inner-s {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .culture .benefits .l-inner-s {
        flex-direction: column; } }
  .culture .benefits__group {
    width: 70%;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 782px) {
      .culture .benefits__group {
        width: 100%; } }
    .culture .benefits__group-item {
      width: calc(100%/3 - 40px/3);
      background: #FAFAFA;
      min-height: 34rem;
      padding: 3rem 2rem 0 2rem; }
      @media screen and (max-width: 782px) {
        .culture .benefits__group-item {
          width: calc(100%/2 - 10px/2);
          padding: 15px;
          min-height: auto;
          margin-bottom: 10px; } }
    .culture .benefits__group-item:not(:nth-of-type(3n)) {
      margin-right: 20px; }
      @media screen and (max-width: 782px) {
        .culture .benefits__group-item:not(:nth-of-type(3n)) {
          margin-right: 0; } }
    .culture .benefits__group-item:nth-of-type(-n+3) {
      margin-bottom: 20px; }
      @media screen and (max-width: 782px) {
        .culture .benefits__group-item:nth-of-type(-n+3) {
          margin-bottom: 10px; } }
    @media screen and (max-width: 782px) {
      .culture .benefits__group-item:nth-of-type(odd) {
        margin-right: 10px; } }
    .culture .benefits__group-thumbnail {
      width: 7.2rem;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 1.5rem; }
      .culture .benefits__group-thumbnail img {
        height: 7.5rem;
        object-fit: contain; }
    .culture .benefits__group-lead {
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1.4583333333;
      text-align: center;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 1920px) {
        .culture .benefits__group-lead {
          font-size: 1.8rem; } }
      @media screen and (max-width: 782px) {
        .culture .benefits__group-lead {
          font-size: 14px; } }
    .culture .benefits__group-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .culture .benefits__group-txt {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .culture .benefits__group-txt {
          font-size: 14px; } }

/*culture--------------------*/
/*about--------------------*/
.about .recruitmessage {
  padding: 16rem 0 10rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .about .recruitmessage {
      padding: 50px 0; } }
  .about .recruitmessage .c-ttl-green {
    font-weight: 500;
    font-size: 2.6rem;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 6rem;
    padding-top: 0; }
    @media screen and (max-width: 782px) {
      .about .recruitmessage .c-ttl-green {
        font-size: 20px;
        margin-bottom: 50px; } }
    .about .recruitmessage .c-ttl-green::before {
      top: -2rem; }
  .about .recruitmessage__box {
    display: flex; }
    @media screen and (max-width: 782px) {
      .about .recruitmessage__box {
        flex-direction: column-reverse; } }
  .about .recruitmessage__thumbnail {
    flex: 5;
    margin-right: 14rem; }
    @media screen and (max-width: 782px) {
      .about .recruitmessage__thumbnail {
        flex: 1;
        margin-right: 0;
        margin-left: auto;
        margin-right: auto; } }
  .about .recruitmessage__content {
    flex: 8.5; }
    @media screen and (max-width: 782px) {
      .about .recruitmessage__content {
        flex: 1; } }
  .about .recruitmessage__txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 2rem; }
    @media screen and (max-width: 1366px) {
      .about .recruitmessage__txt {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .about .recruitmessage__txt {
        width: 100%;
        max-width: unset;
        margin-bottom: 50px; } }
  .about .recruitmessage__com {
    text-align: right; }
  .about .recruitmessage__lead {
    font-size: 21px;
    font-weight: bold;
    color: #45B035;
    margin-bottom: 2rem; }

.about .benefits {
  padding: 13rem 0; }
  @media screen and (max-width: 782px) {
    .about .benefits {
      padding: 50px 0; } }
  .about .benefits .l-inner-s {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .about .benefits .l-inner-s {
        flex-direction: column; } }
  .about .benefits__group {
    width: 70%;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 782px) {
      .about .benefits__group {
        width: 100%; } }
    .about .benefits__group-item {
      width: calc(100%/3 - 40px/3);
      background: #FAFAFA;
      min-height: 34rem;
      padding: 3rem 2rem 0 2rem; }
      @media screen and (max-width: 782px) {
        .about .benefits__group-item {
          width: calc(100%/2 - 10px/2);
          padding: 15px;
          min-height: auto;
          margin-bottom: 10px; } }
    .about .benefits__group-item:not(:nth-of-type(3n)) {
      margin-right: 20px; }
      @media screen and (max-width: 782px) {
        .about .benefits__group-item:not(:nth-of-type(3n)) {
          margin-right: 0; } }
    .about .benefits__group-item:nth-of-type(-n+3) {
      margin-bottom: 20px; }
      @media screen and (max-width: 782px) {
        .about .benefits__group-item:nth-of-type(-n+3) {
          margin-bottom: 10px; } }
    @media screen and (max-width: 782px) {
      .about .benefits__group-item:nth-of-type(odd) {
        margin-right: 10px; } }
    .about .benefits__group-thumbnail {
      width: 7.2rem;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 1.5rem; }
      .about .benefits__group-thumbnail img {
        height: 7.5rem;
        object-fit: contain; }
    .about .benefits__group-lead {
      font-size: 2.6rem;
      font-weight: bold;
      line-height: 1.4230769231;
      text-align: center;
      margin-bottom: 1.5rem; }
      @media screen and (max-width: 1920px) {
        .about .benefits__group-lead {
          font-size: 1.6rem; } }
      @media screen and (max-width: 782px) {
        .about .benefits__group-lead {
          font-size: 14px; } }
    .about .benefits__group-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1920px) {
        .about .benefits__group-txt {
          font-size: 14px; } }
      @media screen and (max-width: 782px) {
        .about .benefits__group-txt {
          font-size: 14px; } }

/*about--------------------*/
/*entry--------------------*/
.entry .l-form, .entry-confirm .l-form {
  padding: 8rem 0 13rem 0; }
  @media screen and (max-width: 782px) {
    .entry .l-form, .entry-confirm .l-form {
      padding: 50px 0 70px 0; } }

.entry-confirm label {
  display: none; }
.entry-confirm .delete {
  display: none; }
.entry-confirm .l-form__group-txt {
  display: none; }
.entry-confirm .wpcf7-previous {
  width: 100%;
  text-align: center;
  margin-top: 2.5rem;
  text-decoration: underline;
  font-size: 12px; }
  .entry-confirm .wpcf7-previous:hover {
    cursor: pointer; }

/*entry--------------------*/
/*job-description--------------------*/
.job-description .about, .career-job-description .about {
  padding: 13rem 0 16rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .job-description .about, .career-job-description .about {
      padding: 50px 0; } }
  .job-description .about .l-inner-w, .career-job-description .about .l-inner-w {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .job-description .about .l-inner-w, .career-job-description .about .l-inner-w {
        flex-direction: column; } }
  .job-description .about__content, .career-job-description .about__content {
    width: 67%; }
    @media screen and (max-width: 782px) {
      .job-description .about__content, .career-job-description .about__content {
        width: 100%; } }
    .job-description .about__content .table, .career-job-description .about__content .table {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 1.875;
      text-align: left;
      margin-left: auto;
      margin-bottom: 10rem; }
      @media screen and (max-width: 1366px) {
        .job-description .about__content .table, .career-job-description .about__content .table {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .job-description .about__content .table, .career-job-description .about__content .table {
          margin-bottom: 25px; } }
      .job-description .about__content .table tr, .career-job-description .about__content .table tr {
        border-top: 1px solid #707070; }
        @media screen and (max-width: 782px) {
          .job-description .about__content .table tr, .career-job-description .about__content .table tr {
            display: flex;
            flex-direction: column; } }
        .job-description .about__content .table tr td, .career-job-description .about__content .table tr td {
          padding: 3rem 0;
          border: none; }
          @media screen and (max-width: 782px) {
            .job-description .about__content .table tr td, .career-job-description .about__content .table tr td {
              padding: 15px 0; } }
        .job-description .about__content .table tr td:first-of-type, .career-job-description .about__content .table tr td:first-of-type {
          width: 23rem; }
          @media screen and (max-width: 1024px) {
            .job-description .about__content .table tr td:first-of-type, .career-job-description .about__content .table tr td:first-of-type {
              min-width: 15rem; } }
          @media screen and (max-width: 782px) {
            .job-description .about__content .table tr td:first-of-type, .career-job-description .about__content .table tr td:first-of-type {
              min-width: 100%; } }
        .job-description .about__content .table tr td:last-of-type, .career-job-description .about__content .table tr td:last-of-type {
          padding-right: 2rem; }
          @media screen and (max-width: 782px) {
            .job-description .about__content .table tr td:last-of-type, .career-job-description .about__content .table tr td:last-of-type {
              padding-right: 0; } }
        .job-description .about__content .table tr .group li, .career-job-description .about__content .table tr .group li {
          position: relative;
          padding-left: 2rem; }
          .job-description .about__content .table tr .group li::before, .career-job-description .about__content .table tr .group li::before {
            content: "※";
            position: absolute;
            top: 0;
            left: 0;
            font-size: 1.6rem; }
      .job-description .about__content .table tr:last-of-type, .career-job-description .about__content .table tr:last-of-type {
        border-bottom: 1px solid #707070; }
      .job-description .about__content .table p:not(:last-of-type), .career-job-description .about__content .table p:not(:last-of-type) {
        margin-bottom: 2.5rem; }
  .job-description .about__btn, .career-job-description .about__btn {
    width: 100%;
    border-radius: 6px; }
    .job-description .about__btn-link, .career-job-description .about__btn-link {
      width: 100%;
      height: 100%;
      font-size: 2.1rem;
      font-weight: bold;
      display: block;
      text-align: center;
      padding: 3.5rem 0;
      color: #ffffff;
      border-radius: 6px;
      background: linear-gradient(90deg, #45b035 0%, #27611e 50%, #063a24 100%); }

/*job-description--------------------*/
/*sustainability--------------------*/
@media screen and (max-width: 782px) {
  .sustainability .c-catch .c-ttl-en {
    font-size: 30px; } }

.sustainability .about {
  padding: 13rem 0 17rem 0; }
  @media screen and (max-width: 782px) {
    .sustainability .about {
      padding: 50px 0; } }
  .sustainability .about .c-ttl-green {
    line-height: 1.4444444444; }
    @media screen and (max-width: 782px) {
      .sustainability .about .c-ttl-green {
        margin-bottom: 50px; } }
  .sustainability .about__block {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1024px) {
      .sustainability .about__block {
        flex-direction: column; } }
  .sustainability .about__block:not(:last-of-type) {
    margin-bottom: 10rem; }
    @media screen and (max-width: 782px) {
      .sustainability .about__block:not(:last-of-type) {
        margin-bottom: 50px; } }
  .sustainability .about__group {
    width: 67%; }
    @media screen and (max-width: 782px) {
      .sustainability .about__group {
        width: 100%;
        flex-direction: column; } }
    .sustainability .about__group-item {
      border-top: 1px solid #707070;
      padding: 3rem 0;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 782px) {
        .sustainability .about__group-item {
          flex-direction: column;
          align-items: flex-start; } }
    .sustainability .about__group-item:last-of-type {
      border-bottom: 1px solid #707070; }
    @media screen and (max-width: 782px) {
      .sustainability .about__group-first {
        min-width: unset;
        margin-bottom: 10px; } }
    .sustainability .about__group-lead {
      font-size: 2.8rem;
      font-weight: bold;
      letter-spacing: 0.05em;
      line-height: 1.8928571429;
      margin-bottom: 2rem; }
      @media screen and (max-width: 782px) {
        .sustainability .about__group-lead {
          font-size: 18px; } }
    .sustainability .about__group-txt {
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 2; }
      @media screen and (max-width: 1366px) {
        .sustainability .about__group-txt {
          font-size: 15px; } }
      @media screen and (max-width: 782px) {
        .sustainability .about__group-txt {
          margin-bottom: 25px; } }
    .sustainability .about__group-icon {
      width: 12rem;
      margin-left: 6rem; }
      @media screen and (max-width: 782px) {
        .sustainability .about__group-icon {
          margin-left: 0; } }
  @media screen and (min-width: 782px) {
    .sustainability .about .wp-block-columns .wp-block-column:nth-of-type(odd) {
      margin-right: 0; } }

/*sustainability--------------------*/
/*results--------------------*/
.results .catch {
  padding: 13rem 0;
  background: #FAFAFA; }
  @media screen and (max-width: 782px) {
    .results .catch {
      padding: 50px 0; } }
  .results .catch__txt {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 10rem; }
    @media screen and (max-width: 1366px) {
      .results .catch__txt {
        font-size: 15px; } }

.results .about {
  padding: 13rem 0 16rem 0; }
  @media screen and (max-width: 782px) {
    .results .about {
      padding: 50px 0; } }
  .results .about__block {
    width: 100%;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 782px) {
      .results .about__block {
        width: 100%;
        flex-direction: column; } }
    .results .about__block-frame {
      width: 67%; }
      @media screen and (max-width: 1920px) {
        .results .about__block-frame {
          width: 80%; } }
      @media screen and (max-width: 782px) {
        .results .about__block-frame {
          width: 100%;
          overflow-x: scroll; } }
  .results .about__block:not(:last-of-type) {
    margin-bottom: 10rem; }
  .results .about .table {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.875;
    width: 100%; }
    @media screen and (max-width: 1366px) {
      .results .about .table {
        font-size: 15px; } }
    @media screen and (max-width: 782px) {
      .results .about .table {
        width: 1000px; } }
    .results .about .table tr {
      border-bottom: 1px solid #707070; }
      .results .about .table tr td {
        vertical-align: middle;
        padding: 1rem 0;
        border-left: 1px solid #707070; }
        @media screen and (max-width: 782px) {
          .results .about .table tr td {
            padding: 1.5rem 0; } }
      .results .about .table tr td:first-of-type {
        width: 50%; }
      .results .about .table tr td:nth-of-type(2) {
        width: 35%; }
      .results .about .table tr td:last-of-type {
        width: 15%;
        border-right: 1px solid #707070; }
    .results .about .table tr:first-of-type {
      background: #18933b;
      border: 1px solid #18933b;
      color: #ffffff; }
      .results .about .table tr:first-of-type td {
        text-align: center;
        border: none; }
    .results .about .table tr:last-of-type {
      border-bottom: 1px solid #707070; }
    .results .about .table tr:not(:first-of-type) td:first-of-type {
      text-align: left;
      padding: 1.5rem 2rem; }
    .results .about .table tr:not(:first-of-type) td:nth-of-type(2) {
      text-align: center;
      padding: 1.5rem 2rem; }
    .results .about .table tr:not(:first-of-type) td:last-of-type {
      text-align: center;
      padding: 1.5rem 2rem; }

/*results--------------------*/
/*privacy--------------------*/
.privacy .intro {
  padding: 13rem 0 17rem 0; }

@media screen and (max-width: 782px) {
  .privacy .intro {
    padding: 50px 0; } }
.privacy .about__txt {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-bottom: 60px; }

@media screen and (max-width: 1366px) {
  .privacy .about__txt {
    font-size: 15px; } }
@media screen and (max-width: 782px) {
  .privacy .about__txt {
    width: 100%;
    margin-bottom: 40px; } }
.privacy .p-fv-txt {
  padding: 0 0 10rem 0; }

@media screen and (max-width: 782px) {
  .privacy .p-fv-txt {
    padding: 30px 0 50px 0; }

  .privacy .c-ttl-green-bottom {
    margin-bottom: 3.5rem; } }
/*privacy--------------------*/
