@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}
/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}
/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}
/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}
/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
address {
  font-style: inherit;
}
/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}
/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}
/**
 * Correct cursors for clickable elements.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  cursor: pointer;
}
button:disabled,
[type='button']:disabled,
[type='reset']:disabled,
[type='submit']:disabled {
  cursor: default;
}
/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}
select:disabled {
  opacity: inherit;
}
/**
 * Remove padding
 */
option {
  padding: 0;
}
/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  padding: 0;
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the outline style in Safari.
 */
[type='search'] {
  outline-offset: -2px; /* 1 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/**
 * Fix appearance for Firefox
 */
[type='number'] {
  -moz-appearance: textfield;
}
/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}
/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}
/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}
caption {
  text-align: left;
}
td,
th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: bold;
}
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}
.splide--rtl {
  direction: rtl;
}
.splide__track--ttb > .splide__list {
  display: block;
}
.splide__container {
  box-sizing: border-box;
  position: relative;
}
.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}
.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}
.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}
.splide:not(.is-overflow) .splide__pagination {
  display: none;
}
.splide__progress__bar {
  width: 0;
}
.splide {
  position: relative;
  visibility: hidden;
}
.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}
.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}
.splide__slide img {
  vertical-align: bottom;
}
.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}
.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}
.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
:root {
  --dusk: #143894;
  --night: #0f0f57;
  --dawn: #094e58;
  --daytime: #cce6ff;
  --sunset: #e0d2d2;
  --fineday: #25a1f4;
  --twilight: #09adb9;
  --gradient: linear-gradient(88deg, #0f0f56 0.15%, #0f0f56 28.34%, #143893 100.41%);
  --text-color: #111;
  --text-gray: #737373;
  --text-light-gray: #adadad;
  --text-dark-gray: #63666c;
  --border-color: #dbdce0;
}
.en,
.lp2404-agree__item--ttl .company-name,
.service__faq--header h2 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
.recruit__terraway--pulse ul li h3 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .recruit__terraway--pulse ul li h3 span.company-name,
.recruit__policy--cross dl dt,
.home-title .recruit__policy--cross dl dt,
.recruit__policy--cross dl .home-title dt,
.recruit__policy--header h2,
.home-title .recruit__policy--header h2,
.recruit__policy--header .home-title h2,
.recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .survey-tl__soft h2 span.label,
.survey-tl__soft h2 .recruit__terraway--pulse ul li h3 span.label,
.recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
.recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
.recruit__terraway h2,
.home-title .recruit__terraway h2,
.recruit__terraway .home-title h2,
.oversea__map ul.point li dl dt,
.utm__group--item .item-case-header span,
.service__faq--header h2 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .service__faq--header h2 span,
.agri__do dl dt,
.home-title .agri__do dl dt,
.agri__do dl .home-title dt,
.inspection__ut--header .container .item .label span,
.survey-ict__feature--support .support__job ol li::before,
.survey-tl__case .service__case--article .thumb .label,
.survey-tl__soft h2 .label,
.service__faq--header .survey-tl__soft h2 span.label,
.survey-tl__soft .service__faq--header h2 span.label,
.survey-tl__lineup--item .item-header .description h3,
.service__scroll--wrap .item .num,
.service__faq--header h2 span.en,
.service__faq--header h2 span.date,
.service__faq--header h2 span.home__copy,
.home-title .en,
.home-title .date,
.home-title .home__copy,
.home-title .home__biz h2,
.home__biz .home-title h2,
.home-title .terra-x dl dt,
.terra-x dl .home-title dt,
.terra-x dl dd ul li .title .label,
.terra-x dl dt,
.home__biz h2,
.home__copy,
.date {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-weight: 700;
}
@keyframes textGradient {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}
/*
//フォントサイズclamp
//example→@include clamp-fontsize(最小font-size, 最大font-size,最小幅,最大幅);
*/
/*
@mixin clamp-fontsize($fs_min, $fs_max, $width_small, $width_large) {
    $fs_min: strip-unit($fs_min);
    $fs_max: strip-unit($fs_max);
    $width_large: strip-unit($width_large);
    $width_small: strip-unit($width_small);
    $preferred_vw_base: math.div(($fs_max - $fs_min), ($width_large - $width_small));
    $preferred_vw: math.div(round(($preferred_vw_base * 100000)), 1000) * 1vw;
    $preferred_rem: math.div(round(($width_small * -1 * $preferred_vw_base + $fs_min) * 100), 100) * 0.1rem;
    font-size: clamp($fs_min * 0.1rem, $preferred_rem + $preferred_vw, $fs_max * 0.1rem);
}
*/
/*
//リンクhover
*/
/*
関数
*/
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'BIZ UDPGothic', 'Meiryo',
    sans-serif;
  font-size: clamp(1rem, 0.859rem + 0.38vw, 1.188rem);
  line-height: 2;
  position: relative;
  background-color: #fff;
  color: #111;
  letter-spacing: 0.07em;
}
.container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}
.container.lg {
  max-width: 1100px;
}
.container.md {
  max-width: 960px;
}
a {
  transition: all 0.2s ease;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
img {
  vertical-align: middle;
}
.br-xl,
.br-lg,
.br-md,
.br-sm,
.br-xs,
.br-pc {
  display: none;
}
.br-pc {
  display: block;
}
.video,
.map {
  position: relative;
  width: 100%;
}
.video:before,
.map:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
.video iframe,
.map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.map {
  max-width: none;
}
/*
This .scss loop will create "margin helpers" and "padding helpers" for use in your web projects.
It will generate several classes such as:
.m-r-10 which gives margin-right 10 pixels.
.m-r-15 gives MARGIN to the RIGHT 15 pixels.
.m-t-15 gives MARGIN to the TOP 15 pixels and so on.
.p-b-5 gives PADDING to the BOTTOM of 5 pixels
.p-l-40 gives PADDING to the LEFT of 40 pixels
The first letter is "m" or "p" for MARGIN or PADDING
Second letter is "t", "b", "l", or "r" for TOP, BOTTOM, LEFT, or RIGHT
Third letter is the number of spacing in pixels. Adjust the amounts generated by editing the $spaceamounts variable below.
*/
.m-t-0 {
  margin-top: 0px !important;
}
.p-t-0 {
  padding-top: 0px !important;
}
.m-b-0 {
  margin-bottom: 0px !important;
}
.p-b-0 {
  padding-bottom: 0px !important;
}
.m-l-0 {
  margin-left: 0px !important;
}
.p-l-0 {
  padding-left: 0px !important;
}
.m-r-0 {
  margin-right: 0px !important;
}
.p-r-0 {
  padding-right: 0px !important;
}
.m-t-5 {
  margin-top: 5px !important;
}
.p-t-5 {
  padding-top: 5px !important;
}
.m-b-5 {
  margin-bottom: 5px !important;
}
.p-b-5 {
  padding-bottom: 5px !important;
}
.m-l-5 {
  margin-left: 5px !important;
}
.p-l-5 {
  padding-left: 5px !important;
}
.m-r-5 {
  margin-right: 5px !important;
}
.p-r-5 {
  padding-right: 5px !important;
}
.m-t-10 {
  margin-top: 10px !important;
}
.p-t-10 {
  padding-top: 10px !important;
}
.m-b-10 {
  margin-bottom: 10px !important;
}
.p-b-10 {
  padding-bottom: 10px !important;
}
.m-l-10 {
  margin-left: 10px !important;
}
.p-l-10 {
  padding-left: 10px !important;
}
.m-r-10 {
  margin-right: 10px !important;
}
.p-r-10 {
  padding-right: 10px !important;
}
.m-t-15 {
  margin-top: 15px !important;
}
.p-t-15 {
  padding-top: 15px !important;
}
.m-b-15 {
  margin-bottom: 15px !important;
}
.p-b-15 {
  padding-bottom: 15px !important;
}
.m-l-15 {
  margin-left: 15px !important;
}
.p-l-15 {
  padding-left: 15px !important;
}
.m-r-15 {
  margin-right: 15px !important;
}
.p-r-15 {
  padding-right: 15px !important;
}
.m-t-20 {
  margin-top: 20px !important;
}
.p-t-20 {
  padding-top: 20px !important;
}
.m-b-20 {
  margin-bottom: 20px !important;
}
.p-b-20 {
  padding-bottom: 20px !important;
}
.m-l-20 {
  margin-left: 20px !important;
}
.p-l-20 {
  padding-left: 20px !important;
}
.m-r-20 {
  margin-right: 20px !important;
}
.p-r-20 {
  padding-right: 20px !important;
}
.m-t-25 {
  margin-top: 25px !important;
}
.p-t-25 {
  padding-top: 25px !important;
}
.m-b-25 {
  margin-bottom: 25px !important;
}
.p-b-25 {
  padding-bottom: 25px !important;
}
.m-l-25 {
  margin-left: 25px !important;
}
.p-l-25 {
  padding-left: 25px !important;
}
.m-r-25 {
  margin-right: 25px !important;
}
.p-r-25 {
  padding-right: 25px !important;
}
.m-t-30 {
  margin-top: 30px !important;
}
.p-t-30 {
  padding-top: 30px !important;
}
.m-b-30 {
  margin-bottom: 30px !important;
}
.p-b-30 {
  padding-bottom: 30px !important;
}
.m-l-30 {
  margin-left: 30px !important;
}
.p-l-30 {
  padding-left: 30px !important;
}
.m-r-30 {
  margin-right: 30px !important;
}
.p-r-30 {
  padding-right: 30px !important;
}
.m-t-35 {
  margin-top: 35px !important;
}
.p-t-35 {
  padding-top: 35px !important;
}
.m-b-35 {
  margin-bottom: 35px !important;
}
.p-b-35 {
  padding-bottom: 35px !important;
}
.m-l-35 {
  margin-left: 35px !important;
}
.p-l-35 {
  padding-left: 35px !important;
}
.m-r-35 {
  margin-right: 35px !important;
}
.p-r-35 {
  padding-right: 35px !important;
}
.m-t-40 {
  margin-top: 40px !important;
}
.p-t-40 {
  padding-top: 40px !important;
}
.m-b-40 {
  margin-bottom: 40px !important;
}
.p-b-40 {
  padding-bottom: 40px !important;
}
.m-l-40 {
  margin-left: 40px !important;
}
.p-l-40 {
  padding-left: 40px !important;
}
.m-r-40 {
  margin-right: 40px !important;
}
.p-r-40 {
  padding-right: 40px !important;
}
.m-t-45 {
  margin-top: 45px !important;
}
.p-t-45 {
  padding-top: 45px !important;
}
.m-b-45 {
  margin-bottom: 45px !important;
}
.p-b-45 {
  padding-bottom: 45px !important;
}
.m-l-45 {
  margin-left: 45px !important;
}
.p-l-45 {
  padding-left: 45px !important;
}
.m-r-45 {
  margin-right: 45px !important;
}
.p-r-45 {
  padding-right: 45px !important;
}
.m-t-50 {
  margin-top: 50px !important;
}
.p-t-50 {
  padding-top: 50px !important;
}
.m-b-50 {
  margin-bottom: 50px !important;
}
.p-b-50 {
  padding-bottom: 50px !important;
}
.m-l-50 {
  margin-left: 50px !important;
}
.p-l-50 {
  padding-left: 50px !important;
}
.m-r-50 {
  margin-right: 50px !important;
}
.p-r-50 {
  padding-right: 50px !important;
}
.m-t-55 {
  margin-top: 55px !important;
}
.p-t-55 {
  padding-top: 55px !important;
}
.m-b-55 {
  margin-bottom: 55px !important;
}
.p-b-55 {
  padding-bottom: 55px !important;
}
.m-l-55 {
  margin-left: 55px !important;
}
.p-l-55 {
  padding-left: 55px !important;
}
.m-r-55 {
  margin-right: 55px !important;
}
.p-r-55 {
  padding-right: 55px !important;
}
.m-t-60 {
  margin-top: 60px !important;
}
.p-t-60 {
  padding-top: 60px !important;
}
.m-b-60 {
  margin-bottom: 60px !important;
}
.p-b-60 {
  padding-bottom: 60px !important;
}
.m-l-60 {
  margin-left: 60px !important;
}
.p-l-60 {
  padding-left: 60px !important;
}
.m-r-60 {
  margin-right: 60px !important;
}
.p-r-60 {
  padding-right: 60px !important;
}
.m-t-65 {
  margin-top: 65px !important;
}
.p-t-65 {
  padding-top: 65px !important;
}
.m-b-65 {
  margin-bottom: 65px !important;
}
.p-b-65 {
  padding-bottom: 65px !important;
}
.m-l-65 {
  margin-left: 65px !important;
}
.p-l-65 {
  padding-left: 65px !important;
}
.m-r-65 {
  margin-right: 65px !important;
}
.p-r-65 {
  padding-right: 65px !important;
}
.m-t-70 {
  margin-top: 70px !important;
}
.p-t-70 {
  padding-top: 70px !important;
}
.m-b-70 {
  margin-bottom: 70px !important;
}
.p-b-70 {
  padding-bottom: 70px !important;
}
.m-l-70 {
  margin-left: 70px !important;
}
.p-l-70 {
  padding-left: 70px !important;
}
.m-r-70 {
  margin-right: 70px !important;
}
.p-r-70 {
  padding-right: 70px !important;
}
.m-t-75 {
  margin-top: 75px !important;
}
.p-t-75 {
  padding-top: 75px !important;
}
.m-b-75 {
  margin-bottom: 75px !important;
}
.p-b-75 {
  padding-bottom: 75px !important;
}
.m-l-75 {
  margin-left: 75px !important;
}
.p-l-75 {
  padding-left: 75px !important;
}
.m-r-75 {
  margin-right: 75px !important;
}
.p-r-75 {
  padding-right: 75px !important;
}
.m-t-80 {
  margin-top: 80px !important;
}
.p-t-80 {
  padding-top: 80px !important;
}
.m-b-80 {
  margin-bottom: 80px !important;
}
.p-b-80 {
  padding-bottom: 80px !important;
}
.m-l-80 {
  margin-left: 80px !important;
}
.p-l-80 {
  padding-left: 80px !important;
}
.m-r-80 {
  margin-right: 80px !important;
}
.p-r-80 {
  padding-right: 80px !important;
}
.m-t-85 {
  margin-top: 85px !important;
}
.p-t-85 {
  padding-top: 85px !important;
}
.m-b-85 {
  margin-bottom: 85px !important;
}
.p-b-85 {
  padding-bottom: 85px !important;
}
.m-l-85 {
  margin-left: 85px !important;
}
.p-l-85 {
  padding-left: 85px !important;
}
.m-r-85 {
  margin-right: 85px !important;
}
.p-r-85 {
  padding-right: 85px !important;
}
.m-t-90 {
  margin-top: 90px !important;
}
.p-t-90 {
  padding-top: 90px !important;
}
.m-b-90 {
  margin-bottom: 90px !important;
}
.p-b-90 {
  padding-bottom: 90px !important;
}
.m-l-90 {
  margin-left: 90px !important;
}
.p-l-90 {
  padding-left: 90px !important;
}
.m-r-90 {
  margin-right: 90px !important;
}
.p-r-90 {
  padding-right: 90px !important;
}
.m-t-95 {
  margin-top: 95px !important;
}
.p-t-95 {
  padding-top: 95px !important;
}
.m-b-95 {
  margin-bottom: 95px !important;
}
.p-b-95 {
  padding-bottom: 95px !important;
}
.m-l-95 {
  margin-left: 95px !important;
}
.p-l-95 {
  padding-left: 95px !important;
}
.m-r-95 {
  margin-right: 95px !important;
}
.p-r-95 {
  padding-right: 95px !important;
}
.m-t-100 {
  margin-top: 100px !important;
}
.p-t-100 {
  padding-top: 100px !important;
}
.m-b-100 {
  margin-bottom: 100px !important;
}
.p-b-100 {
  padding-bottom: 100px !important;
}
.m-l-100 {
  margin-left: 100px !important;
}
.p-l-100 {
  padding-left: 100px !important;
}
.m-r-100 {
  margin-right: 100px !important;
}
.p-r-100 {
  padding-right: 100px !important;
}
section + section {
  margin-top: 5em;
}
p + p {
  margin-top: 1.5em;
}
p.small,
p.note {
  font-size: clamp(0.75rem, 0.563rem + 0.5vw, 1rem);
  color: #696969;
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.img-responsive {
  max-width: 100%;
  height: auto;
}
.fadein,
.fadein-child {
  opacity: 0;
}
.red {
  color: #c00;
}
.note {
  font-size: clamp(0.75rem, 0.609rem + 0.38vw, 0.938rem);
  color: #737373;
}
.co-header {
  position: relative;
  z-index: 11;
  width: 100%;
  padding: 0 55px;
  height: 135px;
  top: 0;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  transition: all 0.3s ease;
}
.co-header.is-fixed {
  position: fixed;
  transition: 0.5s;
  height: 85px;
}
.co-header__nav {
  display: flex;
  height: 100%;
}
.co-header__logo {
  display: flex;
  align-items: center;
  height: 100%;
}
.co-header__logo img {
  transition: all 0.2s ease;
  height: auto;
}
.co-header__menu {
  display: flex;
  align-items: center;
  margin-left: auto;
  height: 100%;
}
.co-header__menu .inner {
  height: 100%;
}
.co-header__menu .inner > ul {
  display: flex;
  align-items: center;
  height: 100%;
}
.co-header__menu .inner > ul > li {
  height: 100%;
  padding: 0 clamp(10px, 1vw, 40px);
}
.co-header__menu .inner > ul > li > a {
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
  font-weight: bold;
  padding: 5px 10px;
  font-size: clamp(0.938rem, 0.753rem + 0.35vw, 1.063rem);
  white-space: nowrap;
  letter-spacing: 0.13em;
  line-height: 1;
}
.co-header__menu .inner > ul > li > a span {
  display: inline-block;
  position: relative;
}
.co-header__menu .inner > ul > li > a span::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #111;
  bottom: -10px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.co-header__menu .inner > ul > li > a:hover span::after {
  transform: scale(1, 1);
  transform-origin: left top;
}
.co-header__menu .inner > ul > li.current a span::after,
.co-header__menu .inner > ul > li.hover a span::after {
  transform: scale(1, 1);
}
.co-header__menu__mega {
  width: 100%;
  position: absolute;
  left: 0;
  top: 100%;
  background: #f7f7f7;
  display: none;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.01);
  padding: 30px 0;
}
.co-header__menu__mega dl {
  display: flex;
}
.co-header__menu__mega dl dt {
  flex: 0 0 300px;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  color: #143894;
  letter-spacing: 0.15em;
}
.co-header__menu__mega dl dt a {
  display: inline-block;
  text-decoration: none;
}
.co-header__menu__mega dl dd {
  flex: 1;
}
.co-header__menu__mega dl dd ul {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.co-header__menu__mega dl dd ul li a {
  position: relative;
  text-decoration: none;
  background: #fff;
  display: block;
  padding: 0.35em 0.85em;
  border-radius: 2px;
  border: 1px solid rgb(244.45, 244.45, 244.45);
  font-size: clamp(0.938rem, 0.753rem + 0.35vw, 1.063rem);
}
.co-header__menu__mega dl dd ul li a::before {
  content: '';
  width: 0;
  height: 100%;
  background: #143894;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.co-header__menu__mega dl dd ul li a span {
  position: relative;
}
.co-header__menu__mega dl dd ul li a.current a {
  box-shadow: 0 0 0 1px #143894 inset;
}
.co-header .nav-lang {
  position: relative;
  display: flex;
  align-items: center;
}
.co-header .nav-lang dl {
  position: relative;
}
.co-header .nav-lang dl dt {
  cursor: pointer;
}
.co-header .nav-lang dl dt svg {
  width: 24px;
  transition: all 0.2s ease;
  vertical-align: middle;
}
.co-header .nav-lang dl dd {
  position: absolute;
  right: -20px;
  top: 100%;
  display: none;
}
.co-header .nav-lang dl dd ul {
  border: 1px solid #dbdce0;
  background: #fff;
  border-radius: 10px;
  margin: 5px 0 0;
}
.co-header .nav-lang dl dd ul li + li {
  border-top: 1px solid #dbdce0;
}
.co-header .nav-lang dl dd ul li a {
  position: relative;
  padding: 0.35em 1em;
  display: block;
  text-decoration: none;
  white-space: nowrap;
  font-size: clamp(0.75rem, 0.566rem + 0.35vw, 0.875rem);
  overflow: hidden;
}
.co-header .nav-lang dl dd ul li a span {
  position: relative;
}
.co-header .nav-lang dl dd ul li a::before {
  content: '';
  width: 0;
  height: 100%;
  display: block;
  background: #737373;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.5s ease;
}
.co-header .nav-lang dl dd ul li:first-child a {
  border-radius: 10px 10px 0 0;
}
.co-header .nav-lang dl dd ul li:last-child a {
  border-radius: 0 0 10px 10px;
}
.co-header .nav-lang a {
  height: auto;
  font-size: 1rem;
}
.co-header .nav-lang a svg {
  width: 24px;
  transition: all 0.2s ease;
  vertical-align: middle;
}
.co-header .nav-toggle {
  position: relative;
  align-items: center;
  margin-left: 20px;
  display: none;
}
.co-header .nav-toggle button {
  position: relative;
  width: 40px;
  height: 40px;
}
.co-header .nav-toggle button span {
  display: block;
  width: 26px;
  height: 1px;
  background: #111;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  transition: all 0.2s ease;
}
.co-header .nav-toggle button span:nth-child(1) {
  top: 15px;
}
.co-header .nav-toggle button span:nth-child(2) {
  top: 20px;
}
.co-header .nav-toggle button span:nth-child(3) {
  top: 25px;
}
.co-footer {
  margin-top: 10em;
  padding: 3em 5em 10em;
  line-height: 1.5;
  color: #fff;
  background: url('./images/footer_bg@1x.png') center bottom no-repeat #143894;
  background-size: 100% auto;
}
.tl.survey .co-footer,
.inspection.service .co-footer,
.oversea.service .co-footer,
.company .co-footer {
  margin-top: 0;
}
.co-footer__logo {
  text-align: center;
  margin: 0 0 3.5em;
}
.co-footer__logo img {
  height: auto;
}
.co-footer__box {
  display: flex;
  gap: 40px;
}
.co-footer__box a {
  text-decoration: none;
}
.co-footer__nav {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
}
.co-footer__nav--col dt {
  font-size: clamp(0.75rem, 0.382rem + 0.71vw, 1rem);
  margin: 0 0 0.75em;
}
.co-footer__nav--col dd {
  font-size: clamp(0.688rem, 0.319rem + 0.71vw, 0.938rem);
}
.co-footer__nav--col dd ul li + li {
  margin: 0.3em 0 0;
}
.co-footer__contact {
  flex: 0 0 280px;
}
.co-footer__contact a {
  display: block;
  line-height: 58px;
  border-radius: 30px;
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  margin: 0 auto;
}
.co-footer__contact address {
  font-size: clamp(0.688rem, 0.319rem + 0.71vw, 0.938rem);
  padding: 1.5em 0.5em;
}
.co-footer__contact .email {
  font-size: clamp(0.688rem, 0.319rem + 0.71vw, 0.938rem);
  padding: 0 0.5em;
}
.co-footer__sns ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 2em 0 0;
}
.co-footer__sns ul li a {
  display: block;
}
.copyright {
  text-align: center;
  font-size: clamp(0.688rem, 0.503rem + 0.35vw, 0.813rem);
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  margin: 3em 0;
}
.page-header {
  padding: 0 20px;
  margin-bottom: 3em;
}
.page-header-ttl {
  position: relative;
  text-align: center;
  padding: 0 0 1em;
}
.page-header-ttl::after {
  content: '';
  width: 40px;
  height: 1px;
  background: #143894;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.page-header-ttl .en,
.page-header-ttl .lp2404-agree__item--ttl .company-name,
.lp2404-agree__item--ttl .page-header-ttl .company-name,
.page-header-ttl .recruit__policy--cross dl dt,
.recruit__policy--cross dl .page-header-ttl dt,
.page-header-ttl .recruit__policy--header h2,
.recruit__policy--header .page-header-ttl h2,
.page-header-ttl .recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .page-header-ttl span.en,
.page-header-ttl .recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 .page-header-ttl span.date,
.page-header-ttl .recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .page-header-ttl span.home__copy,
.page-header-ttl .recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
.recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label .page-header-ttl span,
.page-header-ttl .inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
.inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 .page-header-ttl span,
.page-header-ttl .recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
.recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header .page-header-ttl span,
.page-header-ttl .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
.utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 .page-header-ttl span,
.page-header-ttl .recruit__terraway h2,
.recruit__terraway .page-header-ttl h2,
.page-header-ttl .oversea__map ul.point li dl dt,
.oversea__map ul.point li dl .page-header-ttl dt,
.page-header-ttl .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .page-header-ttl span,
.page-header-ttl .agri__do dl dt,
.agri__do dl .page-header-ttl dt,
.page-header-ttl .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .page-header-ttl span,
.page-header-ttl .survey-ict__feature--support .support__job ol li::before,
.survey-ict__feature--support .support__job ol .page-header-ttl li::before,
.page-header-ttl .survey-tl__case .service__case--article .thumb .label,
.survey-tl__case .service__case--article .thumb .page-header-ttl .label,
.page-header-ttl .survey-tl__soft h2 .label,
.survey-tl__soft h2 .page-header-ttl .label,
.page-header-ttl .survey-tl__lineup--item .item-header .description h3,
.survey-tl__lineup--item .item-header .description .page-header-ttl h3,
.page-header-ttl .service__scroll--wrap .item .num,
.service__scroll--wrap .item .page-header-ttl .num,
.page-header-ttl .service__faq--header h2 span.en,
.survey-tl__soft .page-header-ttl .service__faq--header h2 span.label,
.service__faq--header h2 .page-header-ttl span.en,
.page-header-ttl .service__faq--header h2 span.date,
.service__faq--header h2 .page-header-ttl span.date,
.page-header-ttl .service__faq--header h2 span.home__copy,
.service__faq--header h2 .page-header-ttl span.home__copy,
.page-header-ttl .terra-x dl dd ul li .title .label,
.terra-x dl dd ul li .title .page-header-ttl .label,
.page-header-ttl .terra-x dl dt,
.terra-x dl .page-header-ttl dt,
.page-header-ttl .home__biz h2,
.home__biz .page-header-ttl h2,
.page-header-ttl .home__copy,
.page-header-ttl .date {
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  color: #adadad;
}
.page-header-ttl h1 {
  font-size: clamp(2.5rem, 1.579rem + 1.77vw, 3.125rem);
  color: #143894;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.page-header-lead {
  text-align: center;
  margin: 1.5em 0 0;
  font-size: clamp(1.125rem, 0.941rem + 0.35vw, 1.25rem);
}
.page-kv {
  width: 100vw;
  height: 500px;
  overflow: hidden;
  margin-bottom: 3em;
}
.page-kv img {
  width: 100vw;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.agri .page-kv {
  height: 260px;
}
.page-kv-video {
  margin: 0 0 3em;
}
.page-kv-video .container {
  max-width: 1180px;
}
.page-kv-video .container iframe {
  width: 100%;
}
.btn {
  position: relative;
  width: 280px;
  line-height: 70px;
  padding: 0 30px;
  text-decoration: none;
  display: block;
  border-radius: 100px;
  overflow: hidden;
  margin: 10px auto;
  background: #143894;
  color: #fff;
  text-align: center;
}
.btn span {
  position: relative;
}
.btn::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: #0f0f57;
  opacity: 0;
}
.btn.large {
  width: 400px;
  line-height: 80px;
  font-weight: bold;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
}
.btn.xs {
  line-height: 50px;
  font-weight: bold;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
}
.btn-more {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  line-height: 60px;
}
.btn-arrow::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23fff' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  display: block;
  position: absolute;
  width: 16px;
  height: 12px;
  right: 25px;
  top: 50%;
  transform: translate(0, -50%);
}
.btn-outline {
  border: 1px solid #143894;
  color: #143894;
  background: transparent;
  background: #fff;
}
.btn-outline-white {
  border: 1px solid #fff;
  color: #fff;
  background: transparent;
}
.btn-outline-white::before {
  background: rgba(255, 255, 255, 0.1);
}
.btn-external {
  width: auto;
  display: inline-block;
  padding-right: 15px;
}
.btn-external span {
  display: block;
  position: relative;
  padding-right: 60px;
}
.btn-external span::before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 0;
}
.btn-external span::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23143894' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  display: block;
  position: absolute;
  width: 21px;
  height: 21px;
  right: 12px;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 1;
}
.btn-external.xs {
  padding-right: 8px;
}
.btn-external.xs span::before {
  width: 36px;
  height: 36px;
}
.btn-external.xs span::after {
  width: 16px;
  height: 16px;
  right: 10px;
}
.btn-external.inverse {
  border: 1px solid #143894;
  background: #fff;
  color: #143894;
}
.btn-external.inverse span::before {
  background: #143894;
}
.btn-external.inverse span::after {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
}
a.text-external {
  position: relative;
  color: #143894;
  padding-right: 20px;
}
a.text-external::after {
  content: '';
  display: block;
  background: #143894;
  height: 13.8564064606px;
  width: 13px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.date {
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  line-height: 1.3;
  color: #63666c;
  display: inline-block;
}
.breadcrumb {
  padding: 0 55px 30px;
}
.breadcrumb ol {
  display: flex;
  align-items: center;
  font-size: clamp(0.688rem, 0.386rem + 0.58vw, 0.813rem);
  overflow-x: auto;
}
.breadcrumb ol li {
  white-space: nowrap;
  text-overflow: ellipsis;
}
.breadcrumb ol li + li {
  position: relative;
  padding-left: 22px;
}
.breadcrumb ol li + li::before {
  content: '';
  width: 8px;
  height: 1px;
  background: #63666c;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translate(0, -50%);
}
.breadcrumb ol li a {
  text-decoration: none;
  color: #737373;
}
table {
  width: 100%;
  line-height: 1.65;
  margin: 1em 0;
}
.table-responsive {
  overflow-x: scroll;
}
.table-outline {
  border-top: 1px solid #dbdce0;
}
.table-outline th,
.table-outline td {
  padding: 2em 0;
  border-bottom: 1px solid #dbdce0;
}
.table-outline th {
  white-space: nowrap;
}
.table-outline td {
  padding-left: 5vw;
}
.table-outline td ul {
  list-style: disc;
  margin-left: 24px;
}
.table-outline td ul li + li {
  margin: 7px 0 0;
}
.table-outline td dl + dl {
  margin: 20px 0 0;
}
.table-outline td dl dt {
  font-weight: normal;
}
.table-outline td dl dd {
  font-size: 0.9em;
}
input[type='text'],
input[type='email'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='date'],
textarea {
  background-color: #f5f5f5;
  padding: 0.75em 1em;
  outline: none;
  transition: all 0.2s ease;
  width: 100%;
}
input[type='text']:focus,
input[type='email']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='date']:focus,
textarea:focus {
  background: #fff;
  box-shadow: 0 0 10px rgba(20, 56, 148, 0.05), 0 0 0 1px #adadad inset;
}
input[type='checkbox'] + span,
input[type='radio'] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
  padding-left: 34px;
}
input[type='checkbox'] + span::before,
input[type='checkbox'] + span::after,
input[type='radio'] + span::before,
input[type='radio'] + span::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  transition: all 0.2s ease;
}
input[type='checkbox'] + span::before,
input[type='radio'] + span::before {
  background: #f5f5f5;
  top: 0.1em;
  left: 0;
  height: 26px;
  width: 26px;
  border-radius: 3px;
}
input[type='checkbox'] + span::after,
input[type='radio'] + span::after {
  border: none;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  width: 9px;
  height: 14px;
  left: 8px;
  opacity: 0;
  top: 5px;
  transform: rotate(45deg);
}
input[type='checkbox']:checked + span::before,
input[type='radio']:checked + span::before {
  background: #143894;
}
input[type='checkbox']:checked + span::after,
input[type='radio']:checked + span::after {
  opacity: 1;
}
select {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}
.cat {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.cat span,
.cat a {
  border: 1px solid #dbdce0;
  font-size: clamp(0.75rem, 0.566rem + 0.35vw, 0.875rem);
  line-height: 1.3;
  color: #737373;
  background: #f7f7f7;
  padding: 5px 20px;
  border-radius: 40px;
  display: inline-block;
  font-weight: bold;
  min-width: 150px;
  text-align: center;
  text-decoration: none;
}
.cat.tag {
  gap: 5px;
}
.cat.tag span,
.cat.tag a {
  min-width: auto;
}
.news-list {
  border-top: 1px solid #dbdce0;
}
.news-list__item {
  border-bottom: 1px solid #dbdce0;
}
.news-list__item a {
  position: relative;
  text-decoration: none;
  display: flex;
  align-items: center;
  padding: 2em 0;
}
.news-list__item a::before {
  content: '';
  width: 0;
  height: 100%;
  background: #f7f7f7;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.5s ease;
}
.news-list__item a > div {
  position: relative;
}
.news-list__item .meta {
  display: flex;
  align-items: center;
  gap: 20px;
  align-self: flex-start;
}
.news-list__item .headline {
  flex: 1;
  margin-left: 30px;
  line-height: 1.65;
}
.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin: 1em 0;
}
.wp-pagenavi span,
.wp-pagenavi a {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  min-width: 30px;
  line-height: 30px;
  border-radius: 30px;
  background: #f7f7f7;
  font-size: clamp(0.875rem, 0.574rem + 0.58vw, 1rem);
  text-align: center;
  text-decoration: none;
}
.wp-pagenavi span.pages,
.wp-pagenavi span.first,
.wp-pagenavi span.previouspostslink,
.wp-pagenavi span.last,
.wp-pagenavi span.nextpostslink,
.wp-pagenavi a.pages,
.wp-pagenavi a.first,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.last,
.wp-pagenavi a.nextpostslink {
  background: none;
  color: #143894;
}
.wp-pagenavi span.current,
.wp-pagenavi a.current {
  background: #143894;
  color: #fff;
}
.wp-pagenavi span.first,
.wp-pagenavi span.last,
.wp-pagenavi span.previouspostslink,
.wp-pagenavi span.nextpostslink,
.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  overflow: hidden;
  position: relative;
  display: block;
}
.wp-pagenavi span.first::after,
.wp-pagenavi span.last::after,
.wp-pagenavi span.previouspostslink::after,
.wp-pagenavi span.nextpostslink::after,
.wp-pagenavi a.first::after,
.wp-pagenavi a.last::after,
.wp-pagenavi a.previouspostslink::after,
.wp-pagenavi a.nextpostslink::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23143894' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  background-size: 15px auto;
  width: 15px;
  height: 8px;
  position: absolute;
  top: 50%;
  transition: all 0.3s ease;
}
.wp-pagenavi span.first,
.wp-pagenavi a.first {
  padding-left: 30px;
  padding-right: 10px;
}
.wp-pagenavi span.first::after,
.wp-pagenavi a.first::after {
  left: 10px;
  transform: translate(0, -50%) scale(-1, 1);
}
.wp-pagenavi span.last,
.wp-pagenavi a.last {
  padding-left: 10px;
  padding-right: 30px;
}
.wp-pagenavi span.last::after,
.wp-pagenavi a.last::after {
  right: 10px;
  transform: translate(0, -50%);
}
.wp-pagenavi span.previouspostslink::after,
.wp-pagenavi span.nextpostslink::after,
.wp-pagenavi a.previouspostslink::after,
.wp-pagenavi a.nextpostslink::after {
  left: 50%;
}
.wp-pagenavi span.previouspostslink,
.wp-pagenavi a.previouspostslink {
  text-indent: -9999px;
}
.wp-pagenavi span.previouspostslink::after,
.wp-pagenavi a.previouspostslink::after {
  transform: translate(-50%, -50%) scale(-1, 1);
}
.wp-pagenavi span.nextpostslink,
.wp-pagenavi a.nextpostslink {
  text-indent: -9999px;
}
.wp-pagenavi span.nextpostslink::after,
.wp-pagenavi a.nextpostslink::after {
  transform: translate(-50%, -50%);
}
.share-sns {
  margin: 10px 0 20px;
}
.share-sns ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}
.share-sns ul li.facebook a {
  background-color: #3c5a99;
}
.share-sns ul li.twitter a {
  background-color: #1da1f2;
}
.share-sns ul li.x a {
  background-color: #14171a;
}
.share-sns ul li.line a {
  background-color: #00b900;
}
.share-sns ul li.instagram a {
  background-color: #c13584;
}
.share-sns ul li.youtube a {
  background-color: #f00;
}
.share-sns ul li.email a {
  background-color: #143894;
}
.share-sns ul li.hatena a {
  background-color: #00a4de;
}
.share-sns ul li.pocket a {
  background-color: #ef4056;
}
.share-sns ul li.note a {
  background-color: #41c9b4;
}
.recruit-banner {
  margin: 10em 0 0;
  overflow: hidden;
}
.recruit-banner .container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.recruit-banner__cover {
  flex: 1;
  position: relative;
  margin-right: calc(50% - 50vw);
  margin-left: 80px;
}
.recruit-banner__cover img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 490px;
  border-radius: 30px 0 0 30px;
}
.recruit-banner__copy {
  color: #25a1f4;
  padding: 2em 0;
  font-size: clamp(1.375rem, 1.007rem + 0.71vw, 1.625rem);
  line-height: 1.5;
}
.recruit-banner__copy .ja {
  font-weight: bold;
}
.recruit-banner a.btn {
  margin-left: 0;
}
.modal {
  display: none;
  z-index: 999;
  position: relative;
}
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal__container {
  overflow-y: auto;
  width: 100%;
  max-width: 1400px;
  max-height: 100vh;
}
.modal__close {
  background: transparent;
  border: 0;
}
.modal__header .modal__close:before {
  content: '✕';
}
.modal__btn {
  position: absolute;
  right: 20px;
  top: 20px;
  background-color: #143894;
  border: none;
  outline: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.modal__btn span {
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all 0.5s ease;
}
.modal__btn span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__btn span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal__btn:focus,
.modal__btn:hover {
  transform: scale(1.05);
}
.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}
.modal__director {
  padding: 40px;
  background: #f4f9fd;
  border-radius: 30px;
}
.modal__director .container {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 7%;
}
.modal__director--info {
  flex: 1;
}
.modal__director--info .kana {
  font-size: clamp(0.938rem, 0.844rem + 0.25vw, 1.063rem);
}
.modal__director--info h3 {
  font-size: clamp(1.875rem, 1.594rem + 0.75vw, 2.25rem);
  color: #143894;
  font-weight: bold;
  line-height: 1.65;
}
.modal__director--info .pos {
  font-size: clamp(1.063rem, 0.922rem + 0.38vw, 1.25rem);
  margin: 0.5rem 0 0;
}
.modal__director--info .description {
  margin: 2.5rem 0 0;
  font-size: clamp(0.875rem, 0.781rem + 0.25vw, 1rem);
}
.modal__director--pic {
  flex: 0 0 400px;
}
.modal__director--pic img {
  border-radius: 20px;
  max-width: 100%;
  height: auto;
}
/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}
.micromodal-slide.is-open {
  display: block;
}
.micromodal-slide[aria-hidden='false'] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.micromodal-slide[aria-hidden='false'] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.micromodal-slide[aria-hidden='true'] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.micromodal-slide[aria-hidden='true'] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}
.mv {
  position: relative;
  padding: 1.5em 0 0;
  height: auto;
  margin: 0;
}
.mv__copy {
  position: absolute;
  top: 1.5em;
  width: 60%;
  height: calc(100% - 1.5em);
  display: flex;
  align-items: center;
}
.mv__main {
  position: relative;
  z-index: 1;
  margin-left: auto;
}
.mv__main--video video,
.mv__main--video .video-mask {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 16/9;
  clip-path: inset(0 0 0% 60% round 0 0 0 80px);
  vertical-align: top;
}
.mv__main--video video::before,
.mv__main--video .video-mask::before {
  content: '';
  width: 100%;
  height: 100%;
  background: #f7f7f7;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  animation: loadingFade 2s ease-in-out infinite;
}
@keyframes loadingFade {
  0%,
  100% {
    background-color: rgb(239.35, 239.35, 239.35);
  }
  50% {
    background-color: #f7f7f7;
  }
}
.mv__scroll {
  position: absolute;
  width: 70px;
  height: 220px;
  left: 4vw;
  bottom: 10px;
}
.mv__scroll--inner .bar {
  width: 1px;
  height: 100px;
  background: #cfcfcf;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  animation: scrollMove 1.8s ease-in-out infinite;
  opacity: 0;
}
.mv__scroll--inner .label {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  position: absolute;
  left: 50%;
  top: 180px;
  transform: translate(-50%, 0) rotate(90deg);
  font-size: 16px;
  color: #bfbfbf;
}
@keyframes scrollMove {
  0% {
    height: 0;
    opacity: 0;
  }
  50% {
    top: 0;
    height: 140px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 140px;
    opacity: 0;
  }
}
.home__copy {
  margin: 0 0 7em;
  position: sticky;
  padding-left: 4vw;
  line-height: 1;
}
.home__copy--shoulder {
  display: inline-block;
  background-image: linear-gradient(90deg, #0f0f57 40%, #143894 60%, transparent 80%);
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(1.75rem, -0.276rem + 3.89vw, 3.125rem);
  letter-spacing: 0.03em;
}
.home__copy h1 {
  margin: 1.2em 0;
}
.home__copy h1 span {
  display: inline-block;
  background-image: linear-gradient(90deg, #143894 40%, #25a1f4 60%, transparent 80%);
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(3.125rem, 0.362rem + 5.3vw, 5rem);
}
.home__copy-ja {
  font-weight: bold;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  padding-left: 0.3em;
  background-image: linear-gradient(90deg, #111 40%, transparent 60%);
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.65;
}
.home__copy.is-show .home__copy--shoulder {
  animation: 2s textGradient ease forwards;
}
.home__copy.is-show h1 span {
  animation: 4s textGradient 0.5s ease forwards;
}
.home__copy.is-show .home__copy-ja {
  animation: 4s textGradient 0.5s ease forwards;
}
.home__primary {
  position: relative;
  z-index: 1;
  background: #143894;
  opacity: 0;
  transition: all 1.2s ease;
}
.home__primary.is-show {
  top: 0;
  opacity: 1;
}
.home__primary--bg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  overflow: hidden;
}
.home__primary--bg img {
  position: relative;
  width: 100%;
  height: auto;
  bottom: -300px;
  opacity: 0;
}
.home__cross {
  position: relative;
  display: flex;
  align-items: center;
  padding: 7em 0;
  max-width: min(1700px, 90vw);
}
.home__cross--text {
  flex: 1;
  font-weight: bold;
  color: #fff;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  line-height: 2.2;
}
.home__cross--img {
  flex: 0 0 auto;
  max-width: min(45vw, 852px);
  margin: 0 0 0 clamp(30px, 3em, 60px);
}
.home__cross--img img {
  max-width: 100%;
  height: auto;
}
.home__biz {
  position: relative;
  max-width: 1400px;
}
.home__biz h2 {
  line-height: 1.3;
  font-size: clamp(3.125rem, 0.362rem + 5.3vw, 5rem);
  text-align: center;
  background-image: linear-gradient(90deg, #fff 40%, transparent 60%);
  background-size: 300%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
  letter-spacing: 0.03em;
  margin: 0 0 0.5em;
}
.home__biz h2.is-show {
  animation: 4s textGradient ease forwards;
}
.terra-x {
  position: relative;
  top: 50px;
  opacity: 0;
  transition: all 1.2s ease;
}
.terra-x dl {
  border-top: 1px solid #cce6ff;
  display: flex;
  gap: 30px;
}
.terra-x dl dt {
  flex: 0 0 auto;
  max-width: min(10rem, 300px);
  white-space: nowrap;
  font-size: clamp(1.5rem, 0.027rem + 2.83vw, 2.5rem);
  color: #fff;
  padding: 0.25em 40px 0 0;
}
.terra-x dl dd {
  flex: 1;
}
.terra-x dl dd ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.terra-x dl dd ul li {
  position: relative;
  padding: 30px;
  border-bottom: 1px solid #cce6ff;
}
.terra-x dl dd ul li::before,
.terra-x dl dd ul li::after {
  content: '';
  width: 1px;
  height: calc(100% - 60px);
  display: block;
  background: #cce6ff;
  position: absolute;
  top: 30px;
}
.terra-x dl dd ul li::before {
  left: 0;
}
.terra-x dl dd ul li::after {
  right: 0;
}
.terra-x dl dd ul li .title {
  display: flex;
  align-items: center;
}
.terra-x dl dd ul li .title .icon {
  margin-right: 10px;
}
.terra-x dl dd ul li .title .icon img {
  margin-top: -0.2em;
}
.terra-x dl dd ul li .title .label {
  font-size: clamp(1.125rem, 0.941rem + 0.35vw, 1.25rem);
  color: #fff;
}
.terra-x dl dd ul li .subtitle {
  color: #cce6ff;
  font-weight: bold;
  font-size: clamp(0.75rem, 0.566rem + 0.35vw, 0.875rem);
  margin: 0.3em 0 0.6em;
}
.terra-x dl dd ul li .thumb img {
  max-width: 100%;
  height: auto;
}
.terra-x.is-show {
  top: 0;
  opacity: 1;
}
.home__service {
  position: relative;
  top: 150px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
  border-radius: 30px;
  padding: 20px 20px 25px;
}
.home__service--link {
  padding: 15px 0;
}
.home__service--link ul {
  display: flex;
}
.home__service--link ul li {
  flex: 1;
}
.home__service--link ul li + li {
  border-left: 1px solid #dbdce0;
}
.home__service--link ul li a {
  text-align: center;
  text-decoration: none;
  display: block;
  height: 100%;
}
.icon-service {
  width: 100px;
  margin: 0 auto;
  height: 100px;
  background: #143894;
  transition: all 0.2s ease;
}
.icon-service.survey {
  -webkit-mask: url('./images/service_icon_survey.svg') no-repeat center center/auto;
  mask: url('./images/service_icon_survey.svg') no-repeat center center/auto;
}
.icon-service.inspection {
  -webkit-mask: url('./images/service_icon_inspection.svg') no-repeat center center/auto;
  mask: url('./images/service_icon_inspection.svg') no-repeat center center/auto;
}
.icon-service.utm {
  -webkit-mask: url('./images/service_icon_utm.svg') no-repeat center center/auto;
  mask: url('./images/service_icon_utm.svg') no-repeat center center/auto;
}
.icon-service.agre {
  -webkit-mask: url('./images/service_icon_agre.svg') no-repeat center center/auto;
  mask: url('./images/service_icon_agre.svg') no-repeat center center/auto;
}
.icon-service.oversea {
  -webkit-mask: url('./images/service_icon_oversea.svg') no-repeat center center/auto;
  mask: url('./images/service_icon_oversea.svg') no-repeat center center/auto;
}
.home__service--link ul li a h3 {
  font-size: clamp(1rem, 0.359rem + 1.71vw, 1.25rem);
  transition: all 0.2s ease;
  line-height: 1.5;
}
.home__service--link ul li a h3 span {
  display: block;
  font-size: clamp(0.813rem, 0.536rem + 0.53vw, 1rem);
  color: #63666c;
}
.home__result {
  position: relative;
  padding: 200px 0 100px;
  background: #f4f9fd;
  height: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}
.home__result--bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
}
.home__result--bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home__result--bg.is-show {
  opacity: 1;
}
.home__result .container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  z-index: 1;
}
.home__result--item {
  padding: 0 40px;
}
.home__result--item h3 {
  height: 3em;
  line-height: 1.5;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.938rem, 0.457rem + 1.28vw, 1.125rem);
  font-weight: bold;
  margin: 0 0 40px;
}
.home__result--item .detail {
  color: #25a1f4;
  font-size: clamp(1.625rem, 0.663rem + 2.56vw, 2rem);
  text-align: center;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
}
.home__result--item .detail.en,
.home__result--item .lp2404-agree__item--ttl .detail.company-name,
.lp2404-agree__item--ttl .home__result--item .detail.company-name,
.home__result--item .recruit__policy--cross dl dt.detail,
.recruit__policy--cross dl .home__result--item dt.detail,
.home__result--item .recruit__policy--header h2.detail,
.recruit__policy--header .home__result--item h2.detail,
.home__result--item .recruit__terraway h2.detail,
.recruit__terraway .home__result--item h2.detail,
.home__result--item .oversea__map ul.point li dl dt.detail,
.oversea__map ul.point li dl .home__result--item dt.detail,
.home__result--item .utm__group--item .item-case-header span.detail,
.utm__group--item .item-case-header .home__result--item span.detail,
.home__result--item .agri__do dl dt.detail,
.agri__do dl .home__result--item dt.detail,
.home__result--item .inspection__ut--header .container .item .label span.detail,
.inspection__ut--header .container .item .label .home__result--item span.detail,
.home__result--item .survey-ict__feature--support .support__job ol li.detail::before,
.survey-ict__feature--support .support__job ol .home__result--item li.detail::before,
.home__result--item .survey-tl__case .service__case--article .thumb .detail.label,
.survey-tl__case .service__case--article .thumb .home__result--item .detail.label,
.home__result--item .survey-tl__soft h2 .detail.label,
.survey-tl__soft h2 .home__result--item .detail.label,
.home__result--item .survey-tl__lineup--item .item-header .description h3.detail,
.survey-tl__lineup--item .item-header .description .home__result--item h3.detail,
.home__result--item .service__scroll--wrap .item .detail.num,
.service__scroll--wrap .item .home__result--item .detail.num,
.home__result--item .detail.date,
.home__result--item .detail.home__copy,
.home__result--item .home__biz h2.detail,
.home__biz .home__result--item h2.detail,
.home__result--item .terra-x dl dt.detail,
.terra-x dl .home__result--item dt.detail,
.home__result--item .terra-x dl dd ul li .title .detail.label,
.terra-x dl dd ul li .title .home__result--item .detail.label {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-weight: 400;
  font-size: clamp(3rem, 1.718rem + 3.42vw, 3.5rem);
}
.home__result--item .detail span {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(4.375rem, 1.49rem + 7.69vw, 5.5rem);
  margin: 0 0.05em;
  font-weight: 400;
}
.home__result--item p {
  line-height: 1.75;
  margin: 40px 0 0;
  font-size: clamp(0.875rem, 0.554rem + 0.85vw, 1rem);
  color: #63666c;
  text-align: left;
}
.home__install {
  margin: 5em 0;
}
.home__install dl {
  display: flex;
  gap: 50px;
}
.home__install dl dt {
  color: #143894;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  line-height: 1.5;
}
.home__install dl dd {
  flex: 1;
}
.home__install dl dd ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 15px;
}
.home__install dl dd ul li a {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.home__install dl dd ul img {
  max-width: 215px;
  height: auto;
}
.home__install dl dd .note {
  text-align: right;
  margin: 10px 0;
}
.home-title {
  line-height: 1;
}
.home-title a {
  text-decoration: none;
}
.home-title .en,
.home-title .lp2404-agree__item--ttl .company-name,
.lp2404-agree__item--ttl .home-title .company-name,
.home-title .recruit__policy--cross dl dt,
.recruit__policy--cross dl .home-title dt,
.home-title .recruit__policy--header h2,
.recruit__policy--header .home-title h2,
.home-title .recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .home-title span.en,
.home-title .recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 .home-title span.date,
.home-title .recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .home-title span.home__copy,
.home-title .recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
.recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label .home-title span,
.home-title .inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
.inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 .home-title span,
.home-title .recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
.recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header .home-title span,
.home-title .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
.utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 .home-title span,
.home-title .recruit__terraway h2,
.recruit__terraway .home-title h2,
.home-title .oversea__map ul.point li dl dt,
.oversea__map ul.point li dl .home-title dt,
.home-title .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .home-title span,
.home-title .agri__do dl dt,
.agri__do dl .home-title dt,
.home-title .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .home-title span,
.home-title .survey-ict__feature--support .support__job ol li::before,
.survey-ict__feature--support .support__job ol .home-title li::before,
.home-title .survey-tl__case .service__case--article .thumb .label,
.survey-tl__case .service__case--article .thumb .home-title .label,
.home-title .survey-tl__soft h2 .label,
.survey-tl__soft h2 .home-title .label,
.survey-tl__soft .home-title .service__faq--header h2 span.label,
.home-title .survey-tl__lineup--item .item-header .description h3,
.survey-tl__lineup--item .item-header .description .home-title h3,
.home-title .service__scroll--wrap .item .num,
.service__scroll--wrap .item .home-title .num,
.home-title .service__faq--header h2 span.en,
.service__faq--header h2 .home-title span.en,
.home-title .service__faq--header h2 span.date,
.service__faq--header h2 .home-title span.date,
.home-title .service__faq--header h2 span.home__copy,
.service__faq--header h2 .home-title span.home__copy,
.home-title .date,
.home-title .home__copy,
.home-title .home__biz h2,
.home__biz .home-title h2,
.home-title .terra-x dl dt,
.terra-x dl .home-title dt,
.home-title .terra-x dl dd ul li .title .label,
.terra-x dl dd ul li .title .home-title .label {
  color: #143894;
  font-size: clamp(2.75rem, 1.461rem + 2.47vw, 3.625rem);
}
.home-title h3 {
  color: #63666c;
  font-size: clamp(1rem, 0.813rem + 0.5vw, 1.25rem);
  font-weight: bold;
  margin: 0.4em 0 0;
}
.home__news {
  margin: 10em 0 0;
}
.home__news .container {
  display: flex;
}
.home__news .home-title {
  white-space: nowrap;
}
.home__news--body {
  flex: 1;
  margin-left: 4em;
}
.home__news--more {
  margin: 1.5em 0 0;
}
.home__news--more a.btn {
  margin: 0 0 0 auto;
}
.home__ir {
  background: #f7f7f7;
  padding: 4em 0;
  margin: 10em 0 0;
}
.home__ir .container {
  display: flex;
}
.home__ir--header {
  flex: 0 0 30%;
  margin-right: 60px;
}
.home__ir--link {
  margin: 30px 0 0;
}
.home__ir--link a {
  position: relative;
  border-bottom: 1px solid #dbdce0;
  padding: 10px 10px 10px 30px;
  text-decoration: none;
  display: block;
}
.home__ir--link a::before {
  content: '';
  background: #143894;
  height: 12.9903810568px;
  width: 12px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.home__ir--news {
  flex: 1;
}
.home__ir--news .news-list {
  border: none;
}
.home__ir--news .news-list__item {
  border: none;
}
.home__ir--news .news-list__item + .news-list__item {
  margin-top: 15px;
}
.home__ir--news .news-list__item a {
  background: #fff;
  padding: 1.5em;
  border: 1px solid #fff;
}
.home__media {
  margin: 10em 0 0;
}
.home__media--body {
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  margin: 40px 0;
  padding-bottom: 30px;
  /*
  &::-webkit-scrollbar {
      width: 10px;
      height: 10px;
  }

  &::-webkit-scrollbar-thumb {
      border-radius: 4px;
      background-color: rgba(#000,0.15);
      box-shadow: 0 0 1px rgba(255,255,255,0.5);
  }
  */
}
.home__media--body ul {
  position: relative;
  display: flex;
  gap: 60px;
  max-width: 1400px;
  margin: 0 auto;
}
.home__media--body ul::after {
  content: '';
  flex: 0 0 40px;
  display: block;
}
.home__media--body ul li {
  flex: 0 0 400px;
  /*
  &:first-child {
      padding-left: 50px;
  }

  &:last-child {
      padding-right: 50px;
  }
  */
}
.home__media--body ul li a {
  display: block;
  text-decoration: none;
}
.home__media--body ul li a h3 {
  font-size: clamp(0.938rem, 0.457rem + 1.28vw, 1.125rem);
  line-height: 1.5;
  margin: 15px 0 0;
}
.home__media--body ul li a img {
  width: 100%;
  height: auto;
}
.home__media--body ul li a .meta {
  margin: 0.5em 0 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.home__media--footer a.btn {
  margin: 0 0 0 auto;
}
.service__problem h2 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.625rem, 1.072rem + 1.06vw, 2rem);
  margin: 0 0 2em;
  text-align: center;
}
.service__problem--col {
  display: flex;
  justify-content: center;
}
.service__problem--col .item {
  flex: 1;
  max-width: 500px;
  text-align: center;
  padding: 0 1em;
  line-height: 1.65;
}
.service__problem--col .item + .item {
  border-left: 1px solid #dbdce0;
}
.service__problem--col .item .icon {
  margin: 1em auto;
}
.service__problem--col .item h3 {
  font-weight: bold;
  margin: 0 0 0.3em;
}
.service__problem--col .item p {
  font-size: clamp(0.875rem, 0.599rem + 0.53vw, 1.063rem);
  color: #63666c;
}
.service__benefit h2 {
  font-weight: bold;
  font-size: clamp(1.75rem, 1.197rem + 1.06vw, 2.125rem);
  margin: 0 0 1.2em;
  text-align: center;
}
.service__benefit--col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5vw;
}
.service__benefit--col .item {
  background: #f7f7f7;
}
.service__benefit--col .item .img {
  text-align: center;
}
.service__benefit--col .item .img img {
  max-width: 100%;
  height: auto;
}
.service__benefit--col .item .description {
  text-align: center;
  line-height: 1.7;
}
.service__benefit--col .item h3 {
  color: #143894;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  text-align: center;
  font-weight: bold;
}
.service__col .container {
  display: flex;
  align-items: center;
  gap: 60px;
}
.service__col .container .thumb {
  flex: 0 0 35%;
  max-width: 480px;
}
.service__col .container .thumb img {
  width: 100%;
  height: auto;
  border-radius: 15px;
}
.service__col .container .description {
  flex: 1;
  line-height: 1.65;
}
.service__col .container .description h3 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  line-height: 1.6;
  margin: 0 0 1.2em;
}
.service__col .container .description h3 + h4 {
  margin-top: -1.2em;
}
.service__col .container .description h4 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  line-height: 1.6;
  margin: 0 0 1.2em;
}
.service__col .container .description p + p {
  margin-top: 0.5em;
}
.service__cv {
  background: rgba(255, 255, 255, 0.9);
  padding: 40px 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.03);
}
.service__cv .container p {
  text-align: center;
  font-weight: bold;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  margin: 0 0 0.5em;
}
.service__case {
  padding: 3em 0 6em;
  background: #f7f7f7;
}
.service__case h2 {
  text-align: center;
  font-weight: bold;
  font-size: clamp(1.625rem, 1.072rem + 1.06vw, 2rem);
  margin: 0 0 1em;
  color: #143894;
}
.service__case--article {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
.service__case--article + .service__case--article {
  margin: 3.5em 0 0;
}
.service__case--article a:not(.btn) {
  display: flex;
  align-items: flex-start;
  gap: 60px;
  text-decoration: none;
}
.service__case--article .thumb {
  position: relative;
  flex: 0 0 40%;
  max-width: 535px;
  aspect-ratio: 3/2;
  border-radius: 15px;
  overflow: hidden;
}
.service__case--article .thumb img {
  width: 100%;
  height: auto;
  transition: all 0.3s ease;
}
.service__case--article .description {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
}
.service__case--article .description h3 {
  font-weight: bold;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
  line-height: 1.7;
  margin: 0 0 0.35em;
}
.service__case--article .description .client {
  color: #25a1f4;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  margin: 0 0 0.35em;
}
.service__case--article .description .excerpt {
  font-size: clamp(0.75rem, 0.474rem + 0.53vw, 0.938rem);
  color: #898989;
}
.service__case--article .description a.btn {
  margin: 1.5em 0 0;
}
.service__case--footer {
  margin: 4em 0 0;
}
.service__faq .container {
  display: flex;
  gap: 80px;
}
.service__faq--header {
  flex: 0 0 150px;
}
.service__faq--header h2 {
  text-align: center;
  line-height: 1.3;
}
.service__faq--header h2 span {
  display: block;
}
.service__faq--header h2 span.en,
.service__faq--header h2 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
.service__faq--header h2 .recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .service__faq--header h2 span.en,
.service__faq--header h2 .recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 .service__faq--header h2 span.date,
.service__faq--header h2 .recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .service__faq--header h2 span.home__copy,
.service__faq--header h2 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .service__faq--header h2 span,
.service__faq--header h2 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .service__faq--header h2 span,
.service__faq--header h2 .survey-tl__case .service__case--article .thumb span.label,
.survey-tl__case .service__case--article .thumb .service__faq--header h2 span.label,
.service__faq--header .survey-tl__soft h2 span.label,
.survey-tl__soft .service__faq--header h2 span.label,
.service__faq--header h2 .service__scroll--wrap .item span.num,
.service__scroll--wrap .item .service__faq--header h2 span.num,
.service__faq--header h2 span.date,
.service__faq--header h2 span.home__copy,
.service__faq--header h2 .terra-x dl dd ul li .title span.label,
.terra-x dl dd ul li .title .service__faq--header h2 span.label {
  font-size: clamp(3rem, 1.895rem + 2.12vw, 3.75rem);
  color: #143894;
  letter-spacing: 0.05em;
}
.service__faq--header h2 span.ja {
  font-weight: bold;
  font-size: clamp(0.938rem, 0.882rem + 0.28vw, 1.125rem);
}
.service__faq--body {
  flex: 1;
}
.service__faq--body dl {
  border-top: 1px solid #dbdce0;
  line-height: 1.65;
}
.service__faq--body dl:last-child {
  border-bottom: 1px solid #dbdce0;
}
.service__faq--body dl dt {
  position: relative;
  padding: 1.5em 50px 1.5em 0;
  cursor: pointer;
  transition: all 0.2s ease;
}
.service__faq--body dl dt .toggle-btn {
  position: absolute;
  right: 10px;
  top: 1.4em;
  width: 38px;
  height: 38px;
  border: 1px solid #143894;
  background: #143894;
  border-radius: 50%;
  transition: all 0.2s ease;
}
.service__faq--body dl dt .toggle-btn::before,
.service__faq--body dl dt .toggle-btn::after {
  content: '';
  width: 18px;
  height: 1px;
  background: #fff;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transition: all 0.2s ease;
}
.service__faq--body dl dt .toggle-btn::before {
  transform: translate(-50%, -50%);
}
.service__faq--body dl dt .toggle-btn::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.service__faq--body dl dt .toggle-btn.open {
  background: #fff;
}
.service__faq--body dl dt .toggle-btn.open::before,
.service__faq--body dl dt .toggle-btn.open::after {
  background: #143894;
}
.service__faq--body dl dt .toggle-btn.open::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.service__faq--body dl dt:hover {
  padding-left: 1em;
  background: #f7f7f7;
}
.service__faq--body dl dd {
  padding: 0 0 1.5em;
  display: none;
}
.service__scroll {
  overflow: scroll;
  margin: 3em 0;
  padding-bottom: 2em;
}
.service__scroll--wrap {
  display: flex;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  gap: 60px;
}
.service__scroll--wrap::after {
  content: '';
  flex: 0 0 40px;
  display: block;
}
.service__scroll--wrap .item {
  flex: 0 0 520px;
  background: #fff;
  padding: 4em;
  aspect-ratio: 1/1;
}
.service__scroll--wrap .item .num {
  font-size: clamp(1.5rem, 1.132rem + 0.71vw, 1.75rem);
  color: #143894;
}
.service__scroll--wrap .item h3 {
  font-weight: bold;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  color: #143894;
  margin: 2.5em 0;
  text-align: left;
}
.service__scroll--wrap .item p {
  text-align: justify;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
}
.service__part .container {
  max-width: 1280px;
}
.service__part--header {
  margin: 0 0 3em;
}
.service__part--header h2 {
  position: relative;
  font-size: clamp(1.625rem, 0.704rem + 1.77vw, 2.25rem);
  color: #143894;
  font-weight: bold;
  padding: 0.3em 0 0;
}
.service__part--header h2::before {
  content: '';
  width: 44px;
  height: 1px;
  background: #143894;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.service__part--header p {
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  font-weight: bold;
  color: #63666c;
  margin: 0.4em 0 0;
}
.service__part--body div.row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
}
.service__part--body .thumb {
  margin: 0 0 0.5em;
}
.service__part--body .thumb img {
  max-width: 100%;
  height: auto;
  border-radius: 15px;
}
.service__part--body .description {
  padding: 0 1em;
}
.service__part--body .description .caption {
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  font-weight: bold;
  color: #63666c;
}
.service__part--body .description p {
  margin: 0.5em 0 0;
}
.service__part--body div.one-col {
  margin: 4em 0 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 50px;
}
.service__part--body div.one-col .thumb {
  flex: 0 0 900px;
  max-width: 55%;
}
.service__part--body div.one-col .thumb img {
  max-width: 100%;
  height: auto;
}
.service__part--body div.one-col .description {
  flex: 1;
}
.service__part .service__case {
  margin: 4em 0 0;
}
.service__mission h2 {
  text-align: center;
  margin: 3em 0 2.5em;
}
.service__mission h2 span {
  display: block;
}
.service__mission h2 span.en,
.service__mission h2 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .service__mission h2 span.company-name,
.service__mission .lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
.service__mission h2 .recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .service__mission h2 span.en,
.service__mission h2 .recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 .service__mission h2 span.date,
.service__mission h2 .recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .service__mission h2 span.home__copy,
.service__mission h2 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .service__mission h2 span,
.service__mission .utm__group--item .item-case-header .service__faq--header h2 span,
.service__mission h2 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .service__mission h2 span,
.service__mission h2 .survey-tl__case .service__case--article .thumb span.label,
.survey-tl__case .service__case--article .thumb .service__mission h2 span.label,
.service__mission .survey-tl__soft h2 span.label,
.survey-tl__soft .service__mission h2 span.label,
.service__mission h2 span.date,
.service__mission h2 span.home__copy,
.service__mission h2 .terra-x dl dd ul li .title span.label,
.terra-x dl dd ul li .title .service__mission h2 span.label,
.service__mission h2 .service__scroll--wrap .item span.num,
.service__scroll--wrap .item .service__mission h2 span.num {
  color: #25a1f4;
  font-size: clamp(3.25rem, 2.145rem + 2.12vw, 4rem);
  letter-spacing: 0.02em;
  line-height: 1;
}
.service__mission h2 span.ja {
  color: #143894;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  letter-spacing: 0.1em;
}
.service__mission p {
  text-align: center;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
}
.service__mission figure {
  text-align: center;
  margin: 5em 0 0;
}
.service__mission figure img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.service__field {
  background: #f4f9fd;
  padding: 5em 0 10em;
  margin: 8em 0 -10em;
}
.service__field--card {
  display: grid;
  grid-template-columns: 1fr 40%;
  grid-auto-flow: dense;
  background: #fff;
  min-height: 490px;
}
.service__field--card + .service__field--card {
  margin: 4em 0 0;
}
.service__field--card .description {
  flex: 1;
  padding: 2em 3em 2em 2.5em;
}
.service__field--card .description .ttl {
  display: flex;
  gap: 5px;
  align-items: center;
  margin: 0 0 0.4em;
}
.service__field--card .description .icon-service {
  transform: scale(0.8);
  margin: 0 0 0 -5px;
}
.service__field--card .description h3 {
  flex: 1;
  color: #143894;
  font-size: clamp(1.875rem, 1.322rem + 1.06vw, 2.25rem);
  letter-spacing: 0.15em;
  font-weight: bold;
  line-height: 1;
}
.service__field--card .description h3 small {
  font-size: 0.7em;
}
.service__field--card .description p {
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  text-align: justify;
}
.service__field--card .description p + p {
  margin: 1em 0 0;
}
.service__field--card .description a.btn-more {
  margin: 2.5em 0 0;
}
.service__field--card .thumb {
  position: relative;
  grid-column: 2;
  height: 100%;
  overflow: hidden;
  border-radius: 0 0 0 80px;
}
.service__field--card .thumb-img {
  position: absolute;
  width: 100%;
  height: 100%;
}
.service__field--card .thumb-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.service__field--card .thumb-img img.top {
  -o-object-position: center top;
  object-position: center top;
}
.service-survey__list {
  padding: 0 0 8em;
}
.service-survey__list .container {
  max-width: 1280px;
}
.service-survey__list ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}
.service-survey__list ul li a {
  display: block;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  text-decoration: none;
  height: 100%;
}
.service-survey__list ul li a .thumb {
  height: 350px;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.service-survey__list ul li a .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.2s ease;
}
.service-survey__list ul li a .description {
  padding: 1em 1.5em 1.5em;
}
.service-survey__list ul li a .description h2 {
  font-size: clamp(1.375rem, 0.772rem + 1.16vw, 1.625rem);
  font-weight: bold;
  color: #143894;
  text-align: center;
  margin: 0 0 0.3em;
}
.service-survey__list ul li a .description .btn {
  margin: 1em auto 0;
}
.survey-tl__kv {
  position: relative;
  background: linear-gradient(#0f0f57, #143894);
  padding: 70px 0 0;
  text-align: center;
  margin: 0 0 5em;
}
.survey-tl__kv--bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.survey-tl__kv--bg img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.survey-tl__kv--bg::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(20, 56, 148, 0.4);
}
.survey-tl__kv--frame {
  position: relative;
  z-index: 0;
}
.survey-tl__kv--frame img {
  max-width: 100%;
  height: auto;
}
.survey-tl__kv h1 {
  position: relative;
  margin-top: -30px;
  line-height: 1;
}
.survey-tl__kv h1 span {
  display: inline-block;
  background-image: linear-gradient(90deg, #fff 40%, #25a1f4 60%, transparent 80%);
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(5.625rem, 1.02rem + 8.83vw, 8.75rem);
  letter-spacing: 0.05em;
}
.survey-tl__kv h2 {
  position: relative;
  color: #cce6ff;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  margin: 1rem 0 1.5em;
  line-height: 1.8;
  opacity: 0;
  transition: all 0.5s ease 0.5s;
}
.survey-tl__kv .is-show h1 span {
  animation: 4s textGradient ease forwards;
}
.survey-tl__kv .is-show h2 {
  opacity: 1;
}
.survey-tl__kv--nav {
  position: relative;
}
.survey-tl__kv--nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
}
.survey-tl__kv--nav ul li a {
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  font-weight: bold;
  display: block;
  padding: 0.3em 1.5em;
  border-radius: 40px;
  min-width: 180px;
}
.survey-tl__cv {
  position: relative;
  z-index: 9;
  background: rgba(255, 255, 255, 0.9);
  padding: 30px 0;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.03);
  margin: 50px 0 0;
  /*
  &.reached-end {
      .container {
          display: block;
          text-align: center;
      }
  }
  */
}
.survey-tl__cv .container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
.survey-tl__cv .container p {
  font-weight: bold;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
}
.survey-tl__cv .container a.btn {
  margin: 0;
}
.survey-tl__benefit {
  margin-top: 12em;
}
.survey-tl__benefit .service__benefit--col {
  margin: 0 0 3em;
}
.survey-tl__benefit .service__benefit--col .item {
  position: relative;
  padding-bottom: 2em;
}
.survey-tl__benefit .service__benefit--col .item .img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
}
.survey-tl__benefit .service__benefit--col .item .description {
  padding-top: 400px;
}
.survey-tl__benefit .service__benefit--col .item:nth-child(1) .img {
  top: 70px;
}
.survey-tl__benefit .service__benefit--col .item:nth-child(2) .img {
  top: 20px;
}
.survey-tl__lineup {
  background: #f4f9fd;
  padding: 4em 0;
}
.survey-tl__lineup h2 {
  font-size: clamp(1.875rem, 1.322rem + 1.06vw, 2.25rem);
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 1.5em;
  color: #143894;
}
.survey-tl__lineup--item {
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
  padding: 2em;
}
.survey-tl__lineup--item + .survey-tl__lineup--item {
  margin-top: 4rem;
}
.survey-tl__lineup--item .item-header {
  display: flex;
  gap: 40px;
}
.survey-tl__lineup--item .item-header .thumb {
  flex: 0 0 420px;
}
.survey-tl__lineup--item .item-header .thumb img {
  max-width: 100%;
  height: auto;
}
.survey-tl__lineup--item .item-header .description {
  flex: 1;
}
.survey-tl__lineup--item .item-header .description h3 {
  font-size: clamp(2.25rem, 1.145rem + 2.12vw, 3rem);
  margin: 0 0 0.2em;
  color: #143894;
  line-height: 1.5;
}
.survey-tl__lineup--item .item-header .description ul {
  list-style-type: disc;
  margin-left: 1.2em;
}
.survey-tl__lineup--item .item-spec {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin: 3rem 0 0;
}
.survey-tl__lineup--item .item-spec > dl {
  display: flex;
}
.survey-tl__lineup--item .item-spec > dl > dt {
  flex: 0 0 90px;
  font-size: clamp(0.875rem, 0.599rem + 0.53vw, 1.063rem);
  color: #143894;
  font-weight: bold;
}
.survey-tl__lineup--item .item-spec > dl > dd {
  flex: 1;
}
.survey-tl__lineup--item .item-spec > dl > dd dl {
  border-left: 1px solid #dbdce0;
  margin-left: 20px;
  padding-left: 30px;
}
.survey-tl__lineup--item .item-spec > dl > dd dl + dl {
  margin-top: 20px;
}
.survey-tl__lineup--item .item-spec > dl > dd dl dt {
  font-size: clamp(0.813rem, 0.536rem + 0.53vw, 1rem);
  font-weight: bold;
  color: #63666c;
}
.survey-tl__lineup--item .item-spec > dl > dd dl dd {
  font-weight: bold;
}
.survey-tl__lineup--item.tl-one .item-header h3 {
  color: #25a1f4;
}
.survey-tl__lineup--item.tl-one .item-spec > dl > dt {
  color: #25a1f4;
}
.survey-tl__soft h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1em;
}
.survey-tl__soft h2 .label {
  font-size: clamp(2rem, 1.263rem + 1.41vw, 2.5rem);
  color: #143894;
  margin-left: 0.5em;
}
.survey-tl__soft p {
  font-weight: bold;
  text-align: center;
}
.survey-tl__soft--cloud {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  margin: 2em 0 0;
}
.survey-tl__soft--cloud .item {
  background: #f4f9fd;
  padding: 2em;
}
.survey-tl__soft--cloud .item .icon {
  text-align: center;
}
.survey-tl__soft--cloud .item h3 {
  color: #143894;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  text-align: center;
  margin: 2em 0 1em;
  font-weight: bold;
  line-height: 30px;
}
.survey-tl__soft--cloud .item h3.en,
.survey-tl__soft--cloud .item .lp2404-agree__item--ttl h3.company-name,
.lp2404-agree__item--ttl .survey-tl__soft--cloud .item h3.company-name,
.survey-tl__soft--cloud .item .survey-tl__case .service__case--article .thumb h3.label,
.survey-tl__case .service__case--article .thumb .survey-tl__soft--cloud .item h3.label,
.survey-tl__soft--cloud .item h3.date,
.survey-tl__soft--cloud .item h3.home__copy,
.survey-tl__soft--cloud .item .terra-x dl dd ul li .title h3.label,
.terra-x dl dd ul li .title .survey-tl__soft--cloud .item h3.label,
.survey-tl__soft--cloud .service__scroll--wrap .item h3.num,
.service__scroll--wrap .survey-tl__soft--cloud .item h3.num,
.survey-tl__soft--cloud .item .survey-tl__lineup--item .item-header .description h3,
.survey-tl__lineup--item .item-header .description .survey-tl__soft--cloud .item h3,
.survey-tl__soft--cloud .item .survey-tl__soft h2 h3.label,
.survey-tl__soft h2 .survey-tl__soft--cloud .item h3.label {
  font-size: clamp(1.5rem, 0.947rem + 1.06vw, 1.875rem);
  margin-top: 1.5em;
}
.survey-tl__soft--cloud .item ul {
  list-style: disc;
  margin-left: 1.2em;
}
.survey-tl__soft--mapper {
  margin: 1.5em 0 0;
}
.survey-tl__soft--mapper ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 15px;
}
.survey-tl__soft--mapper ul li {
  background: #f4f9fd;
  padding: 0.5em 1em;
}
.survey-tl__soft--footer {
  margin: 1.5em 0 0;
}
.survey-tl__case {
  background: linear-gradient(88deg, #0f0f57 0%, #143894 100%) !important;
  padding: 3em 0;
}
.survey-tl__case h2 {
  color: #fff;
}
.survey-tl__case--lead {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin: 0 0 4em;
}
.survey-tl__case--lead dl {
  flex: 1;
  max-width: 380px;
  text-align: center;
  border-top: 1px solid #fff;
  padding: 0.5em 0 0;
}
.survey-tl__case--lead dl dt {
  color: #cce6ff;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  font-weight: bold;
}
.survey-tl__case--lead dl dd {
  color: #fff;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
}
.survey-tl__case--lead dl dd span {
  display: block;
  font-weight: bold;
  font-size: clamp(1.75rem, 1.013rem + 1.41vw, 2.25rem);
  line-height: 1.6;
}
.survey-tl__case .service__case--article {
  border-top: 1px solid #6277bf;
  padding: 4em 0;
}
.survey-tl__case .service__case--article + .service__case--article {
  margin: 0;
}
.survey-tl__case .service__case--article .thumb .label {
  position: absolute;
  left: 0;
  top: 25px;
  background: #143894;
  color: #fff;
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  padding: 0 0.7em;
  border-radius: 0 5px 5px 0;
}
.survey-tl__case .service__case--article .thumb .label.tl-one {
  background: #25a1f4;
}
.survey-tl__case .service__case--article .description h3 {
  color: #fff;
}
.survey-tl__case .service__case--article .description .client {
  color: #cce6ff;
}
.survey-tl__case .service__case--article .description .excerpt {
  border-left: 3px solid #dbdce0;
  color: #c9c9c9;
  margin-top: 1em;
  padding-left: 1.5em;
}
.survey-measure__benefit {
  background: #f4f9fd;
  padding: 4em 0;
}
.survey-measure__benefit h3 {
  color: #143894;
  text-align: center;
  font-weight: bold;
  font-size: clamp(1.375rem, 0.638rem + 1.41vw, 1.875rem);
  margin: 0 0 0.5em;
  line-height: 1.65;
}
.survey-measure__benefit p {
  text-align: center;
}
.survey-measure__index--box {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
  background: #fff;
  border-radius: 10px;
}
.survey-measure__index--box + .survey-measure__index--box {
  margin: 3em 0 0;
}
.survey-measure__index--box .item-header {
  border-radius: 10px 10px 0 0;
  background: #63666c;
}
.survey-measure__index--box .item-header h3 {
  font-size: clamp(1.375rem, 0.822rem + 1.06vw, 1.75rem);
  font-weight: bold;
  padding: 0.5em 1em;
  color: #fff;
  text-align: left;
  line-height: 1.5;
  margin: 0;
}
.survey-measure__index--box .item-body {
  padding: 0 1em;
}
.survey-measure__index--box .item-body dl {
  padding: 1.5em 0;
  display: flex;
  align-items: flex-start;
}
.survey-measure__index--box .item-body dl + dl {
  border-top: 1px solid #dbdce0;
}
.survey-measure__index--box .item-body dl dt {
  flex: 0 0 320px;
}
.survey-measure__index--box .item-body dl dt .ttl {
  display: flex;
  align-items: center;
}
.survey-measure__index--box .item-body dl dt .ttl h4 {
  color: #143894;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
  font-weight: bold;
}
.survey-measure__index--box .item-body dl dt a.btn {
  margin-left: 0;
}
.survey-measure__index--box .item-body dl dd {
  flex: 1;
}
.survey-measure__index--box .item-body dl dd ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
}
.survey-measure__index--box .item-body dl dd ul li {
  text-align: center;
}
.survey-measure__index--box .item-body dl dd ul li .thumb {
  margin: 0 0 0.3em;
}
.survey-measure__index--box .item-body dl dd ul li .thumb img {
  border-radius: 10px;
  max-width: 100%;
  height: auto;
}
.survey-measure__index--box .item-body dl dd ul li .label {
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  color: #63666c;
  font-weight: bold;
  line-height: 1.5;
}
.survey-measure__index--box .item-body dl.noimage dd ul li .label {
  background: #f4f9fd;
  padding: 0.6em 0;
  border-radius: 10px;
  max-width: 280px;
  margin: 0 auto;
}
.survey-ict__benefit {
  background: #f4f9fd;
  padding: 3em 0 4em;
}
.survey-ict__benefit ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.survey-ict__benefit ul li {
  background: #fff;
  border-radius: 10px;
}
.survey-ict__benefit ul li .thumb img {
  border-radius: 10px 10px 0 0;
}
.survey-ict__benefit ul li .label {
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  color: #63666c;
  padding: 0.5em 0;
  font-weight: bold;
  text-align: center;
}
.survey-ict__feature h2 {
  font-weight: bold;
  font-size: clamp(1.75rem, 1.197rem + 1.06vw, 2.125rem);
  margin: 0 0 1.2em;
  text-align: center;
}
.survey-ict__feature--wrap {
  display: flex;
  align-items: center;
  gap: 60px;
}
.survey-ict__feature--wrap .thumb {
  flex: 0 0 40%;
  max-width: 580px;
  background: #f7f7f7;
  text-align: center;
  padding: 5em 2em;
}
.survey-ict__feature--wrap .thumb img {
  max-width: 100%;
  height: auto;
}
.survey-ict__feature--wrap .description {
  flex: 1;
  line-height: 1.65;
}
.survey-ict__feature--wrap .description h3 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  line-height: 1.6;
  margin: 0 0 1.2em;
}
.survey-ict__feature--wrap .description h3 + h4 {
  margin-top: -1.2em;
}
.survey-ict__feature--wrap .description p + p {
  margin-top: 0.5em;
}
.survey-ict__feature--support {
  margin: 7em 0 0;
}
.survey-ict__feature--support h3 {
  font-size: clamp(1.5rem, 0.947rem + 1.06vw, 1.875rem);
  text-align: center;
  font-weight: bold;
  color: #143894;
  margin: 0 0 1em;
}
.survey-ict__feature--support--flex {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
.survey-ict__feature--support .support__flow {
  background: linear-gradient(#f7f7f7 70%, transparent 70%);
  border-radius: 15px;
  padding: 15px;
}
.survey-ict__feature--support .support__flow ol li {
  position: relative;
  background: #143894;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  text-align: center;
  font-weight: bold;
  width: 320px;
  padding: 20px 0 0;
}
.survey-ict__feature--support .support__flow ol li + li {
  margin: 35px 0 0;
}
.survey-ict__feature--support .support__flow ol li:first-child {
  border-radius: 10px 10px 0 0;
}
.survey-ict__feature--support .support__flow ol li:first-child::before {
  display: none;
}
.survey-ict__feature--support .support__flow ol li::before {
  content: '';
  position: absolute;
  display: block;
  bottom: 100%;
  left: 0;
  border-width: 30px 160px 0;
  border-color: transparent #143894;
  border-style: solid;
}
.survey-ict__feature--support .support__flow ol li::after {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 30px 160px 0;
  border-color: #143894 transparent;
  display: block;
  width: 0;
  bottom: -30px;
  left: 0;
  z-index: 2;
}
.survey-ict__feature--support .support__flow ol li .badge {
  color: #143894;
  background: #fff;
  border-radius: 30px;
  display: inline-block;
  line-height: 1;
  padding: 0.2em 1em;
}
.survey-ict__feature--support .support__flow ol li .text {
  color: #fff;
  line-height: 1.65;
}
.survey-ict__feature--support .support__job {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
.survey-ict__feature--support .support__job h4 {
  font-weight: bold;
  text-align: center;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
}
.survey-ict__feature--support .support__job ol {
  counter-reset: number 0;
}
.survey-ict__feature--support .support__job ol li {
  background: #f4f9fd;
  padding: 10px 15px;
  border-radius: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1.65;
}
.survey-ict__feature--support .support__job ol li small {
  font-weight: normal;
}
.survey-ict__feature--support .support__job ol li + li {
  margin: 30px 0 0;
}
.survey-ict__feature--support .support__job ol li:last-child::after {
  display: none;
}
.survey-ict__feature--support .support__job ol li::before {
  flex: 0 0 40px;
  counter-increment: number 1;
  content: counter(number);
  color: #143894;
  width: 40px;
  line-height: 36px;
  background: #fff;
  border-radius: 50%;
  border: 2px solid #143894;
  text-align: center;
  display: block;
  font-size: clamp(1.5rem, 1.132rem + 0.71vw, 1.75rem);
  margin: 0 10px 0 0;
  align-self: flex-start;
}
.survey-ict__feature--support .support__job ol li::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translate(-50%, 0);
  background: #143894;
  height: 12.124355653px;
  width: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.survey-ict__ict .service__scroll .service__scroll--wrap .item {
  background: #f7f7f7;
}
.survey-bimcim__benefit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin: 4em 0;
}
.survey-bimcim__benefit .item {
  background: #f7f7f7;
  text-align: center;
  padding: 2em;
}
.survey-bimcim__benefit .item .illust {
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.survey-bimcim__benefit .item .illust img {
  max-width: 100%;
  height: auto;
}
.survey-bimcim__benefit .item .description {
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.survey-bimcim__benefit .item .description h3 {
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  color: #143894;
  font-weight: bold;
}
.survey-bimcim__list ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
.survey-bimcim__list ul li {
  background: #f4f9fd;
  padding: 0.75em 1.5em;
}
.survey-bimcim__part .service__part--body .container {
  display: flex;
  gap: 40px;
}
.survey-bimcim__part .service__part--body .container .thumb {
  flex: 0 0 100%;
  max-width: 580px;
}
.survey-bimcim__part .service__part--body .container .thumb img {
  max-width: 100%;
  height: auto;
  border-radius: 0;
}
.survey-bimcim__part .service__part--body .container .thumb ul {
  border-radius: 15px;
  overflow: hidden;
}
.splide__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 15px 0;
}
.splide__pagination li button {
  width: 10px;
  height: 10px;
  background: #adadad;
  border-radius: 50%;
}
.splide__pagination li button.is-active {
  background: #143894;
}
.survey-bimcim__part .service__part--body .container .description {
  flex: 1;
}
.survey-bimcim__part .service__part--body .container .description ol {
  border-top: 1px solid #dbdce0;
  margin: 1.5em 0 0;
  padding: 1.5em 0 0;
  list-style: decimal;
}
.survey-bimcim__part .service__part--body .container .description ol li {
  margin-left: 1.2em;
}
.survey-bimcim__part .service__part--body .container .description ol li small {
  color: #63666c;
  font-size: 0.85em;
}
.inspection__area {
  background: #f4f9fd;
  padding: 3em 0;
}
.inspection__area h2 {
  color: #143894;
}
.inspection__area ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.inspection__area ul li {
  flex: 0 0 290px;
  text-align: center;
}
.inspection__area ul li .thumb img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
.inspection__area ul li h3 {
  margin: 1em 0;
  color: #63666c;
  font-weight: bold;
}
.inspection__ut--header {
  background: linear-gradient(88deg, #0f0f56 0.15%, #0f0f56 28.34%, #143893 100.41%);
  padding: 4em 0;
}
.inspection__ut--header .container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.inspection__ut--header .container .item {
  flex: 1;
  max-width: 600px;
  text-align: center;
  padding: 0 50px;
}
.inspection__ut--header .container .item + .item {
  border-left: 1px solid #dbdce0;
}
.inspection__ut--header .container .item .label span {
  background: #cce6ff;
  color: #143894;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
  display: inline-block;
  padding: 0.5em 1em 0.4em;
  border-radius: 40px;
  line-height: 1;
}
.inspection__ut--header .container .item .thumb {
  margin: 15px 0 0;
  height: 230px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.inspection__ut--header .container .item .thumb img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.inspection__ut--header .container .item h3 {
  color: #25a1f4;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  margin: 0.5em 0;
  line-height: 1.65;
}
.inspection__ut--header .container .item p {
  color: #fff;
}
.inspection__ut--header .container .item p + p {
  margin: 0.5em 0 0;
}
.inspection__ut--facility {
  margin: 5em 0;
}
.inspection__ut--facility .container {
  display: flex;
  gap: 100px;
}
.inspection__ut--facility .container h3 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.375rem, 0.822rem + 1.06vw, 1.75rem);
}
.inspection__ut--facility .container .facilities {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  row-gap: 80px;
}
.inspection__ut--facility .container .facilities dl {
  display: flex;
  gap: 30px;
}
.inspection__ut--facility .container .facilities dl dt {
  flex: 0 0 230px;
}
.inspection__ut--facility .container .facilities dl dt img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
.inspection__ut--facility .container .facilities dl dd h4 {
  font-weight: bold;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
}
.inspection__ut--facility .container .facilities dl dd ul {
  list-style: disc;
  margin-left: 1.2em;
}
.inspection__type--header {
  text-align: center;
  margin: 0 0 3em;
}
.inspection__type--header h2 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.75rem, 1.013rem + 1.41vw, 2.25rem);
}
.inspection__type--header p {
  font-weight: bold;
  color: #63666c;
}
.inspection__type .service__col {
  margin-top: 0 !important;
  padding: 0 40px;
}
.inspection__type .service__col .container {
  border-top: 1px solid #dbdce0;
  padding: 4em 0;
}
.inspection__type .service__col .container .thumb {
  flex: 0 0 45%;
  max-width: 550px;
}
.inspection__type .service__col .container .description h3 {
  margin: 0 0 0.5em;
}
.inspection__type .service__col:last-child .container {
  border-bottom: 1px solid #dbdce0;
}
.inspection__soft--flow {
  background: #f4f9fd;
  padding: 3em 0;
  margin: 1em 0 0;
}
.inspection__soft--flow .container ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.inspection__soft--flow .container ol li {
  position: relative;
  flex: 0 0 295px;
}
.inspection__soft--flow .container ol li + li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -30px;
  transform: translate(0, -50%);
  background: #143894;
  height: 19.0525588833px;
  width: 18px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.inspection__soft--flow .container ol li dl {
  background: #fff;
  padding: 10px;
}
.inspection__soft--flow .container ol li dl dt {
  font-weight: bold;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  margin: 0 0 0.4em;
}
.inspection__soft--flow .container ol li dl dd img {
  width: 100%;
  height: auto;
}
.agri__lead {
  text-align: center;
}
.agri__benefit {
  padding: 3.5em 0;
  background: #f4f9fd;
}
.agri__benefit h2 {
  color: #143894;
}
.agri__benefit ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.agri__benefit ul li {
  background: #fff;
  padding: 15px 30px 30px;
}
.agri__benefit ul li .illust {
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.agri__benefit ul li .description {
  text-align: center;
}
.agri__benefit ul li .description h3 {
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
  color: #143894;
  font-weight: bold;
}
.agri__benefit ul li .description dl dt {
  font-weight: normal;
}
.agri__benefit ul li .description dl dd {
  position: relative;
  margin-top: 50px;
  background: #f4f9fd;
  padding: 1em;
}
.agri__benefit ul li .description dl dd::before {
  content: '';
  position: absolute;
  top: -40px;
  background: #143894;
  width: 20px;
  left: 50%;
  transform: translate(-50%, 0);
  height: 15.5884572681px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.agri__do {
  margin-bottom: 10em;
}
.agri__do dl {
  display: flex;
  gap: 5vw;
}
.agri__do dl dt {
  white-space: nowrap;
  font-size: clamp(2.375rem, 1.27rem + 2.12vw, 3.125rem);
  color: #143894;
}
.agri__do dl dd {
  flex: 1;
}
.agri__do dl dd .video::before {
  display: none;
}
.agri__do dl dd .video video {
  max-width: 100%;
  height: auto;
}
.agri__col .container .description h3 {
  margin: 0 0 0.5em;
}
.utm__text .container {
  max-width: 1080px;
}
.utm__text .container h2 {
  font-size: clamp(1.5rem, 0.763rem + 1.41vw, 2rem);
  font-weight: bold;
  color: #143894;
  white-space: nowrap;
  text-align: center;
}
.utm__text .container h3 {
  font-weight: bold;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
  text-align: center;
}
.utm__text .container h3 span {
  background: #fff;
  display: inline-block;
  color: #0f0f57;
  border-radius: 40px;
  padding: 0 1em;
  margin: 0 0 0.5em;
}
.utm__text .container .description {
  margin: 0.3em 0 0;
}
.utm__text .container .graphic {
  max-width: 750px;
  padding: 40px;
  border-radius: 40px;
  margin: 2em auto 0;
}
.utm__text .container .graphic img {
  max-width: 100%;
  height: auto;
}
.utm__text.what {
  background: #f4f9fd;
  padding: 3em 0;
}
.utm__what .container {
  display: flex;
  gap: 50px;
}
.utm__what .container .description {
  flex: 1;
}
.utm__what .container .description h2 {
  font-size: clamp(1.5rem, 0.763rem + 1.41vw, 2rem);
  font-weight: bold;
  color: #143894;
  margin: 0 0 1em;
}
.utm__what .container .description h3 {
  font-weight: bold;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
}
.utm__what .container .graphic {
  flex: 1;
  max-width: 750px;
  background: #f4f9fd;
  padding: 40px;
  border-radius: 40px;
}
.utm__what .container .graphic img {
  max-width: 100%;
  height: auto;
}
.utm__world {
  margin: 3em 0 0;
}
.utm__world .container {
  max-width: 1180px;
}
.utm__world h2 {
  color: #25a1f4 !important;
  margin: 0 0 0.2em;
}
.utm__world--cover img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 15px;
}
.utm__bredge {
  width: 100%;
  height: 500px;
  overflow: hidden;
}
.utm__bredge img {
  width: 100%;
  height: auto;
}
.utm__vision h2 {
  font-size: clamp(1.5rem, 0.763rem + 1.41vw, 2rem);
  font-weight: bold;
  text-align: center;
  margin: 0 0 0.2em;
}
.utm__vision p {
  text-align: center;
}
.utm__group {
  padding: 3em 0 4em;
  background: #f7f7f7;
}
.utm__group h2 {
  font-size: clamp(1.5rem, 0.763rem + 1.41vw, 2rem);
  font-weight: bold;
  color: #143894;
  white-space: nowrap;
  text-align: center;
}
.utm__group--item {
  background: #fff;
  padding: 40px;
  margin: 35px 0 0;
  border-radius: 15px;
}
.utm__group--item .item-header {
  display: flex;
  gap: 40px;
}
.utm__group--item .item-header .info {
  flex: 0 0 335px;
}
.utm__group--item .item-header .info h3 {
  margin: 0 0 1em;
  max-width: 280px;
}
.utm__group--item .item-header .info h3 img {
  max-width: 100%;
  height: auto;
}
.utm__group--item .item-header .info a.btn-external {
  line-height: 60px;
}
.utm__group--item .item-header .description {
  flex: 1;
}
.utm__group--item .item-header .description > img {
  margin: 0.75em 0;
  border-radius: 10px;
  max-width: 100%;
  height: auto;
}
.utm__group--item .item-case {
  background: #f7f7f7;
  padding: 40px;
  margin-top: 1em;
}
.utm__group--item .item-case-header {
  margin: -20px 0 20px;
}
.utm__group--item .item-case-header span {
  position: relative;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  color: #143894;
  display: inline-block;
  padding-right: 80px;
}
.utm__group--item .item-case-header span::after {
  content: '';
  width: 70px;
  height: 1px;
  background: #143894;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.utm__group--item .item-case-box {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
.utm__group--item .item-case-box-logo {
  flex: auto;
  flex: 0 0 285px;
  background: #fff;
  text-align: center;
  padding: 10px;
}
.utm__group--item .item-case-box-logo img {
  max-width: 100%;
  height: auto;
}
.utm__group--item .item-case-box-description {
  flex: 1;
  line-height: 1.8;
}
.utm__group--item .item-case-box-description h4 {
  font-weight: bold;
  margin: 0 0 0.5em;
}
.utm__group--item .item-case-box-description h4 span {
  font-weight: normal;
}
.utm__group--item .item-case-box-description a.btn {
  margin: 1em 0 0;
}
.utm__case {
  background: none;
  margin: 3em 0 0;
}
.utm__case h2 {
  margin: 0 0 2em;
}
.utm__case .service__case--article + .service__case--article {
  margin-top: 6em;
}
.utm__case .service__case--article .thumb {
  aspect-ratio: inherit;
}
.oversea__wrap {
  background: #f4f9fd;
  padding: 0 0 6em;
}
.oversea__map {
  position: relative;
}
.oversea__map ul.point {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.oversea__map ul.point li {
  position: absolute;
}
.oversea__map ul.point li dl {
  display: flex;
  gap: 10px;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  padding-left: 30px;
  white-space: nowrap;
  line-height: 1;
  position: absolute;
}
.oversea__map ul.point li dl::before,
.oversea__map ul.point li dl::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 50%;
  transform: translate(0, -50%);
}
.oversea__map ul.point li dl::before {
  width: 14px;
  height: 14px;
  background: #25a1f4;
  left: 4px;
}
.oversea__map ul.point li dl::after {
  width: 22px;
  height: 22px;
  border: 1px solid #25a1f4;
  left: 0;
  animation: fadeInOutScale 2s infinite;
  animation-delay: 1s;
}
.oversea__map ul.point li dl dt {
  letter-spacing: 0.01em;
}
.oversea__map ul.point li dl dd {
  font-weight: bold;
  color: #25a1f4;
}
.oversea__map ul.point li.inspecioneering {
  left: 9.5vw;
  top: 21vw;
}
.oversea__map ul.point li.unifly {
  left: 8vw;
  top: 23vw;
}
.oversea__map ul.point li.unifly dl {
  padding: 0;
}
.oversea__map ul.point li.unifly dl::before,
.oversea__map ul.point li.unifly dl::after {
  top: 0;
}
.oversea__map ul.point li.unifly dl dt,
.oversea__map ul.point li.unifly dl dd {
  padding-top: 15px;
}
.oversea__map ul.point li.japan {
  left: 48.5vw;
  top: 28vw;
}
.oversea__map ul.point li.arabia {
  left: 20vw;
  top: 32vw;
}
.oversea__map ul.point li.indonesia {
  left: 38vw;
  top: 40.5vw;
}
.oversea__map ul.point li.agri {
  left: 41vw;
  top: 38vw;
}
@keyframes fadeInOutScale {
  0% {
    opacity: 0;
    transform: translate(0, -50%) scale(0.8);
  }
  50% {
    opacity: 1;
    transform: translate(0, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(0, -50%) scale(0.8);
  }
}
.oversea__list--item {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
  padding: 2em 2em 1em;
  display: flex;
  gap: 50px;
}
.oversea__list--item + .oversea__list--item {
  margin: 4em 0 0;
}
.oversea__list--item .thumb {
  flex: 0 0 30%;
  max-width: 360px;
}
.oversea__list--item .thumb img {
  width: 100%;
  height: auto;
}
.oversea__list--item .description {
  flex: 1;
}
.oversea__list--item .description h3 {
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 1em;
}
.oversea__list--item .description h3 .en,
.oversea__list--item .description h3 .lp2404-agree__item--ttl .company-name,
.lp2404-agree__item--ttl .oversea__list--item .description h3 .company-name,
.oversea__list--item .description .lp2404-agree__item--ttl .recruit__terraway--pulse ul li h3 span.company-name,
.oversea__list--item .description h3 .recruit__policy--cross dl dt,
.recruit__policy--cross dl .oversea__list--item .description h3 dt,
.oversea__list--item .description h3 .recruit__policy--header h2,
.recruit__policy--header .oversea__list--item .description h3 h2,
.oversea__list--item .description .recruit__terraway--pulse .terra-x dl dd ul li h3 .title span.label,
.recruit__terraway--pulse .terra-x dl dd ul li .oversea__list--item .description h3 .title span.label,
.oversea__list--item .description .terra-x dl dd .recruit__terraway--pulse ul li h3 .title span.label,
.terra-x dl dd .recruit__terraway--pulse ul li .oversea__list--item .description h3 .title span.label,
.oversea__list--item .description .recruit__terraway--pulse .terra-x dl dd ul li .title h3 span.label,
.oversea__list--item .description .terra-x dl dd .recruit__terraway--pulse ul li .title h3 span.label,
.oversea__list--item .description .service__scroll--wrap .item .recruit__terraway--pulse ul li h3 span.num,
.oversea__list--item .description .survey-tl__soft h2 .recruit__terraway--pulse ul li h3 span.label,
.oversea__list--item
  .description
  .survey-tl__case
  .service__case--article
  .thumb
  .recruit__terraway--pulse
  ul
  li
  h3
  span.label,
.oversea__list--item
  .description
  .inspection__ut--header
  .container
  .item
  .label
  .recruit__terraway--pulse
  ul
  li
  h3
  span,
.oversea__list--item .description .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
.oversea__list--item .description h3 .recruit__terraway h2,
.recruit__terraway .oversea__list--item .description h3 h2,
.oversea__list--item .description h3 .date,
.oversea__list--item .description h3 .home__copy,
.oversea__list--item .description h3 .home__biz h2,
.home__biz .oversea__list--item .description h3 h2,
.oversea__list--item .description h3 .terra-x dl dt,
.terra-x dl .oversea__list--item .description h3 dt,
.oversea__list--item .description h3 .terra-x dl dd ul li .title .label,
.terra-x dl dd ul li .title .oversea__list--item .description h3 .label,
.oversea__list--item .description h3 .service__scroll--wrap .item .num,
.service__scroll--wrap .item .oversea__list--item .description h3 .num,
.oversea__list--item .survey-tl__lineup--item .item-header .description h3 h3,
.survey-tl__lineup--item .item-header .oversea__list--item .description h3 h3,
.oversea__list--item .description h3 .survey-tl__soft h2 .label,
.survey-tl__soft h2 .oversea__list--item .description h3 .label,
.oversea__list--item .description h3 .survey-tl__case .service__case--article .thumb .label,
.survey-tl__case .service__case--article .thumb .oversea__list--item .description h3 .label,
.oversea__list--item .description h3 .survey-ict__feature--support .support__job ol li::before,
.survey-ict__feature--support .support__job ol .oversea__list--item .description h3 li::before,
.oversea__list--item .description h3 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .oversea__list--item .description h3 span,
.oversea__list--item .description h3 .agri__do dl dt,
.agri__do dl .oversea__list--item .description h3 dt,
.oversea__list--item .description h3 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .oversea__list--item .description h3 span,
.oversea__list--item .description h3 .oversea__map ul.point li dl dt,
.oversea__map ul.point li dl .oversea__list--item .description h3 dt {
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  color: #143894;
}
.oversea__list--item .description h3 .location {
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  color: #25a1f4;
  font-weight: bold;
  margin-left: 10px;
}
.oversea__list--item .description h3 .founding {
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  color: #fff;
  background: #25a1f4;
  padding: 0.5em 0.75em;
  border-radius: 5px;
}
.oversea__list--item .description .text {
  line-height: 1.65;
}
.oversea__list--item .description dl {
  background: #f7f7f7;
  display: flex;
  gap: 20px;
  padding: 0.5em 1em;
  border-radius: 10px;
  margin: 1em 0 0.5em;
  line-height: 1.65;
}
.oversea__list--item .description dl dt {
  white-space: nowrap;
}
.oversea__list--item .description a.btn {
  line-height: 60px;
  min-width: 240px;
}
.news__col {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 5vw;
}
.news__col--side--filter {
  margin: 0 0 1em;
  display: none;
}
.news__col--side--filter button {
  display: flex;
  align-items: center;
}
.news__col--side--filter button .line {
  border: 1px solid #dbdce0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  position: relative;
  margin-right: 8px;
  transition: all 0.2s ease;
}
.news__col--side--filter button .line span {
  height: 1px;
  background: #dbdce0;
  left: 50%;
  display: block;
  position: absolute;
  transform: translate(-50%, 0);
  transition: all 0.2s ease;
}
.news__col--side--filter button .line span:nth-child(1) {
  width: 22px;
  top: 13px;
}
.news__col--side--filter button .line span:nth-child(2) {
  width: 22px;
  top: 18px;
}
.news__col--side--filter button .line span:nth-child(3) {
  width: 22px;
  top: 23px;
}
.news__col--side--filter button .label {
  font-size: clamp(0.813rem, 0.735rem + 0.39vw, 0.938rem);
  color: #adadad;
  font-weight: bold;
}
.news__col--side--item {
  background: #f7f7f7;
  padding: 1.5em;
}
.news__col--side ul.side-cat li {
  margin: 0 0 10px;
}
.news__col--side ul.side-cat li a {
  position: relative;
  display: block;
  text-decoration: none;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  font-weight: bold;
  line-height: 1.5;
  padding: 5px 5px 5px 20px;
}
.news__col--side ul.side-cat li a::before {
  content: '';
  width: 12px;
  height: 12px;
  border: 1px solid #adadad;
  display: block;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.2s ease;
}
.news__col--side ul.side-cat li.current a::before {
  border-color: #143894;
  background: #143894;
}
.news__col--side .side-month {
  border-top: 1px solid #dbdce0;
  margin: 1em 0 0;
  padding: 0.5em 0 0;
}
.news__col--side .side-month select {
  width: 100%;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
}
.news__col--list {
  margin-top: 0;
}
.news__ranking {
  margin: 2rem 0 0;
}
.news__ranking .tab {
  margin: 0.3em 0 0;
}
.news__ranking .tab ul {
  display: flex;
  position: relative;
}
.news__ranking .tab ul::after {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
  background: #dbdce0;
  position: absolute;
  left: 0;
  bottom: 0;
}
.news__ranking .tab ul li {
  position: relative;
  font-size: clamp(0.75rem, 0.474rem + 0.53vw, 0.938rem);
  padding: 0.5em 1em;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.news__ranking .tab ul li.select {
  border: 1px solid #dbdce0;
  border-bottom: none;
}
.news__ranking .tab ul li.select::after {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.news__ranking .tab-contents ul li {
  border-bottom: 1px solid #dbdce0;
}
.news__ranking .tab-contents ul li a {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  text-decoration: none;
  padding: 0.7em 0;
}
.news__ranking .tab-contents ul li a .img {
  flex: 0 0 75px;
  aspect-ratio: 1/1;
}
.news__ranking .tab-contents ul li a .img img {
  width: 100%;
  height: auto;
}
.news__ranking .tab-contents ul li a .txt {
  line-height: 1.4;
  align-self: center;
}
.news__ranking .tab-contents ul li a .txt .date {
  font-size: clamp(0.688rem, 0.503rem + 0.35vw, 0.813rem);
}
.news__ranking .tab-contents ul li a .txt p {
  font-size: clamp(0.75rem, 0.474rem + 0.53vw, 0.938rem);
}
.post-header {
  margin: 1.5em auto 0;
  line-height: 1.65;
  max-width: 1080px;
}
.post-header .meta {
  display: flex;
  align-items: center;
  gap: 15px;
}
.post-header .meta .date {
  margin: 0.3em 0 0;
}
.post-header .meta .cat a,
.post-header .meta .cat span {
  min-width: auto;
}
.post-header h1 {
  font-size: clamp(1.5rem, 1.132rem + 0.71vw, 1.75rem);
  font-weight: bold;
  line-height: 1.5;
  margin: 0.5em 0;
}
.post-eyecatch {
  text-align: center;
  margin: 0 0 1em;
}
.post-eyecatch img {
  max-width: 100%;
  height: auto;
}
.post-body {
  border-top: 1px solid #dbdce0;
  border-bottom: 1px solid #dbdce0;
  margin: 0 auto 2em;
  padding: 2em 0;
  line-height: 1.65;
  max-width: 1080px;
}
.post-body > * + * {
  margin: 1.5em 0 0;
}
.post-body h2 {
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  background: #143894;
  color: #fff;
  line-height: 1.65;
  padding: 0.2em 0.5em;
  border-radius: 0 0 15px;
}
.post-body h3 {
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  color: #143894;
  line-height: 1.65;
}
.post-body h4 {
  background: #f4f9fd;
  padding: 0.5em 1em;
  font-weight: bold;
  border-radius: 5px;
  color: #0f0f57;
}
.post-body h5 {
  border-bottom: 2px solid #143894;
  color: #143894;
  font-weight: bold;
  padding: 0 0 0.2em;
}
.post-body h6 {
  position: relative;
  color: #143894;
  font-weight: bold;
  padding-left: 16px;
}
.post-body h6::before {
  content: '';
  width: 8px;
  height: 8px;
  background: #143894;
  display: block;
  position: absolute;
  left: 0;
  top: 0.55em;
  border-radius: 50%;
}
.post-body img {
  max-width: 100%;
  height: auto;
}
.post-body img.aligncenter {
  display: block;
  margin: 0 auto;
}
.post-body ul {
  list-style: disc;
  margin-left: 1.2em;
}
.post-body ul li + li {
  margin: 0.3em 0 0;
}
.post-footer {
  margin: 1em 0;
}
.post-footer .content-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.post-footer .content-link a {
  min-width: 30px;
  border-radius: 30px;
  background: #f7f7f7;
  font-size: clamp(0.875rem, 0.574rem + 0.58vw, 1rem);
  text-align: center;
  text-decoration: none;
  padding: 0.3em 1.2em;
  border: 1px solid #dbdce0;
  line-height: 1.65;
}
.post-footer .content-link a span {
  position: relative;
  display: block;
}
.post-footer .content-link a span::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23111' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  background-size: 15px auto;
  width: 15px;
  height: 8px;
  position: absolute;
  top: 50%;
  transition: all 0.3s ease;
}
.post-footer .content-link a span.prev {
  padding-left: 20px;
}
.post-footer .content-link a span.prev::after {
  left: 0;
  transform: translate(0, -50%) scale(-1, 1);
}
.post-footer .content-link a span.next {
  padding-right: 20px;
}
.post-footer .content-link a span.next::after {
  right: 0;
  transform: translate(0, -50%);
}
.company__agree .container {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 60px;
}
.company__agree .container .description {
  flex: 1;
}
.company__agree .container .description h2 {
  font-size: clamp(1.25rem, 0.647rem + 1.16vw, 1.5rem);
  font-weight: bold;
  margin: 0 0 1em;
}
.company__agree .container .description .text {
  font-size: clamp(1rem, 0.397rem + 1.16vw, 1.25rem);
}
.company__agree .container .description .sign {
  text-align: right;
  margin: 1.5em 0 0;
  font-size: clamp(0.875rem, 0.574rem + 0.58vw, 1rem);
  line-height: 1.5;
  font-family: serif;
}
.company__agree .container .thumb {
  flex: 1;
  max-width: 575px;
}
.company__agree .container .thumb img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
.company__article {
  margin: 5em 0 0;
}
.company__article h2 {
  text-align: center;
  color: #143894;
  font-size: clamp(0.875rem, 0.574rem + 0.58vw, 1rem);
  font-size: clamp(1.5rem, 0.897rem + 1.16vw, 1.75rem);
  font-weight: bold;
}
.company__article .container {
  max-width: 1080px;
}
.company__outline table {
  font-size: clamp(1rem, 0.699rem + 0.58vw, 1.125rem);
}
.company__outline table td .info p + p {
  margin: 0.75em 0 0;
}
.company__outline table td .info + .info {
  border-top: 1px solid #dbdce0;
  margin: 1em 0 0;
  padding: 1em 0 0;
}
.company__outline table td .location {
  background: #f7f7f7;
  padding: 1.2em 1.5em;
}
.company__outline table td .location dt {
  font-weight: bold;
  margin: 0 0 0.75em;
}
.company__outline table td .location dt .country {
  margin-left: 0.5em;
  font-weight: normal;
}
.company__director ul {
  margin: 1em 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 40px;
}
.company__director ul li {
  flex: 0 0 280px;
  line-height: 1.6;
  text-align: center;
}
.company__director ul li .thumb {
  margin: 0 0 0.5em;
  position: relative;
}
.company__director ul li .thumb img {
  border-radius: 15px;
  width: 100%;
  max-width: 280px;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.3s ease;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.company__director ul li .thumb .icon {
  position: absolute;
  right: 5px;
  bottom: 5px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  display: block;
  width: 30px;
  height: 30px;
  transition: all 0.3s ease;
}
.company__director ul li .thumb .icon span {
  position: absolute;
  width: 12px;
  height: 2px;
  background: #143894;
  display: block;
  left: 50%;
  top: 50%;
  transition: all 0.3s ease;
}
.company__director ul li .thumb .icon span:nth-child(1) {
  transform: translate(-50%, -50%);
}
.company__director ul li .thumb .icon span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}
.company__director ul li .pos {
  font-size: clamp(0.813rem, 0.511rem + 0.58vw, 0.938rem);
}
.company__director ul li .name {
  font-size: clamp(0.938rem, 0.486rem + 0.87vw, 1.125rem);
  font-weight: bold;
}
.company__director ul li a {
  text-decoration: none;
  display: block;
  cursor: pointer;
}
.company__director ul li a:hover {
  color: #143894;
}
.company__director ul li a:hover .thumb img {
  transform: scale(1.05);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.company__director ul li a:hover .thumb .icon {
  background: rgba(20, 56, 148, 0.8);
}
.company__director ul li a:hover .thumb .icon span {
  background: #fff;
}
.company__history {
  background: #f4f9fd;
  padding: 3em 0;
}
.company__history table.table-history th {
  color: #143894;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(1.625rem, 0.721rem + 1.73vw, 2rem);
  line-height: 1;
  width: 4em;
}
.company__history table.table-history td dl {
  position: relative;
  font-size: clamp(0.938rem, 0.486rem + 0.87vw, 1.125rem);
  display: flex;
}
.company__history table.table-history td dl::before {
  content: '';
  background: #dbdce0;
  width: 2px;
  height: 100%;
  display: block;
  position: absolute;
  left: 5px;
  top: 0;
}
.company__history table.table-history td dl dt {
  position: relative;
  flex: 0 0 120px;
  padding: 0 0 2em 35px;
}
.company__history table.table-history td dl dt::before {
  content: '';
  background: #143894;
  width: 12px;
  height: 12px;
  display: block;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 8px;
}
.company__history table.table-history td dl dd {
  flex: 1;
  padding: 0 0 1em;
}
.company__history table.table-history td dl dd p + p {
  margin: 0.5em 0 0;
}
.company__history table.table-history tr:first-child td dl:first-child::before {
  top: 8px;
}
.company__history table.table-history tr:last-child td dl:last-child::before {
  height: 8px;
}
.media-kv {
  height: 400px;
  background: url('./images/post_kv_bg.svg') right center no-repeat #efefef;
  background-size: auto 100%;
  overflow: hidden;
}
.media-kv-inner {
  display: flex;
  height: 400px;
}
.media-kv-inner .accent {
  flex: 0 0 40%;
}
.media-kv-inner .accent img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.media-kv-inner h1 {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.media-kv-inner h1 img {
  width: 100%;
  max-width: 440px;
  height: auto;
}
.media__list .container {
  max-width: none;
  padding: 0 5vw;
}
.media__list .container > h2 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  margin: 0 0 1em;
}
.media__list ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 40px;
}
.media__list ul a {
  text-decoration: none;
}
.media__list ul a:hover {
  opacity: 0.8;
}
.media__list ul li .thumb {
  margin: 0 0 1em;
}
.media__list ul li .thumb img {
  width: 100%;
  height: auto;
}
.media__list ul li .meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.media__list ul li .meta .cat span {
  min-width: auto;
}
.media__list ul li h3 {
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  line-height: 1.65;
  font-weight: bold;
  margin: 0.5em 0;
}
.media__list ul li p {
  font-size: clamp(0.875rem, 0.599rem + 0.53vw, 1.063rem);
  line-height: 1.65;
  color: #63666c;
}
.media__list--new ul {
  grid-template-columns: 1.5fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 60px;
}
.media__list--new ul li:first-child {
  grid-row: 1/3;
}
.media__category {
  background: #f4f9fd;
  padding: 3.5em 0;
  margin: 6em 0;
}
.media__category ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}
.media__category ul li a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
  color: #143894;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
  padding: 2em 1.8em 2em 1.2em;
  border-radius: 10px;
  font-weight: bold;
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  line-height: 1.65;
}
.media__category ul li a::before {
  content: '';
  background: #143894;
  height: 17.3205080757px;
  width: 16px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.3s ease;
}
.recruit-kv {
  position: relative;
}
.recruit-kv-slide {
  height: 500px;
  overflow: hidden;
}
.recruit-kv-slide img {
  width: 100%;
  height: 500px;
  -o-object-fit: cover;
  object-fit: cover;
}
.recruit-kv-copy {
  position: absolute;
  right: 10vw;
  top: 50%;
  transform: translate(0, -50%);
  width: 40%;
  max-width: 620px;
}
.recruit-kv-copy img {
  width: 100%;
  height: auto;
}
.recruit__lead {
  padding: 3em 0 3em;
}
.recruit__lead .container {
  max-width: 875px;
}
.recruit__lead h2 {
  font-size: clamp(1.875rem, 1.322rem + 1.06vw, 2.25rem);
  font-weight: bold;
  margin: 0 0 0.5em;
}
.recruit__lead p {
  font-weight: bold;
  font-size: clamp(0.938rem, 0.703rem + 0.63vw, 1.25rem);
  text-align: justify;
}
.recruit__open {
  background: #f4f9fd;
  padding: 4em 0;
}
.recruit__open h2 {
  font-size: clamp(1.875rem, 1.322rem + 1.06vw, 2.25rem);
  font-weight: bold;
  margin: 0 0 1em;
  color: #143894;
  text-align: center;
}
.recruit__open ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 60px;
}
.recruit__open ul li a {
  display: block;
  width: 100%;
  max-width: 345px;
  margin: 0 auto;
  text-decoration: none;
}
.recruit__open ul li a .thumb {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
.recruit__open ul li a .thumb img {
  width: 100%;
  max-width: 345px;
  height: auto;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.3s ease;
}
.recruit__open ul li a .thumb::before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 1;
  transition: all 0.3s ease;
}
.recruit__open ul li a .thumb::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23143894' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  display: block;
  position: absolute;
  width: 21px;
  height: 21px;
  right: 22px;
  bottom: 22px;
  z-index: 2;
  transition: all 0.3s ease;
}
.recruit__open ul li a dl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.5em 0 0;
  line-height: 1.65;
}
.recruit__open ul li a dl dt {
  font-weight: bold;
}
.recruit__open ul li a dl dd {
  margin-left: 0.5em;
}
.recruit__open ul li a dl dd span {
  border: 1px solid #dbdce0;
  font-size: clamp(0.75rem, 0.566rem + 0.35vw, 0.875rem);
  display: inline-block;
  color: #737373;
  background: #f7f7f7;
  padding: 0 0.75em;
  border-radius: 30px;
  font-weight: bold;
}
.recruit__cv {
  margin: 0;
}
.recruit__terraway h2 {
  text-align: center;
  margin: 0 0 3em;
}
.recruit__terraway h2 span {
  display: inline-block;
  background-image: linear-gradient(90deg, #143894 40%, #25a1f4 60%, transparent 80%);
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(3.75rem, 1.908rem + 3.53vw, 5rem);
  letter-spacing: 0.03em;
}
.recruit__terraway h2.is-show span {
  animation: 4s textGradient ease forwards;
}
.recruit__terraway--pulse {
  position: relative;
  margin: 0 auto;
  max-width: 1117px;
}
.recruit__terraway--pulse .pulse {
  width: 35vw;
  height: 35vw;
  display: block;
  z-index: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 1;
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(37, 161, 244, 0.3) 0%, rgba(37, 161, 244, 0) 100%);
  animation: pulse-animation 2s infinite ease-in-out;
}
@keyframes pulse-animation {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 0.7;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
.recruit__terraway--pulse ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  position: relative;
}
.recruit__terraway--pulse ul li {
  position: relative;
  z-index: 1;
  opacity: 0;
  transition: all 0.7s ease;
}
.recruit__terraway--pulse ul li h3 {
  margin: 0 0 1em;
}
.recruit__terraway--pulse ul li h3 span {
  display: block;
  line-height: 1.65;
}
.recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .recruit__terraway--pulse ul li h3 span.company-name,
.recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse .terra-x dl dd ul li h3 .title span.label,
.terra-x dl dd .recruit__terraway--pulse ul li h3 .title span.label,
.recruit__terraway--pulse .terra-x dl dd ul li .title h3 span.label,
.terra-x dl dd .recruit__terraway--pulse ul li .title h3 span.label,
.recruit__terraway--pulse ul li h3 .service__scroll--wrap .item span.num,
.service__scroll--wrap .item .recruit__terraway--pulse ul li h3 span.num,
.recruit__terraway--pulse ul li h3 .survey-tl__soft h2 span.label,
.survey-tl__soft h2 .recruit__terraway--pulse ul li h3 span.label,
.recruit__terraway--pulse ul li h3 .survey-tl__case .service__case--article .thumb span.label,
.survey-tl__case .service__case--article .thumb .recruit__terraway--pulse ul li h3 span.label,
.recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
.recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span {
  color: #143894;
  font-size: clamp(2rem, 1.263rem + 1.41vw, 2.5rem);
  background-image: linear-gradient(90deg, #143894 40%, #25a1f4 60%, transparent 80%);
  background-size: 300%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.recruit__terraway--pulse ul li h3 span.ja {
  font-weight: bold;
  color: #25a1f4;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  background-image: linear-gradient(90deg, #25a1f4 40%, #143894 60%, transparent 80%);
  background-size: 300%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.recruit__terraway--pulse ul li.is-show {
  opacity: 1;
}
.recruit__terraway--pulse ul li.is-show h3 span {
  animation: 4s textGradient ease forwards;
}
.recruit__terraway--pulse ul li.is-show h3 span .ja {
  animation-delay: 1s;
}
.recruit__policy {
  margin-top: 10em;
  background: #0f0f57;
  padding: 4em 0;
}
.recruit__policy--header {
  color: #fff;
  display: flex;
  gap: 3vw;
  margin: 0 0 2.5em;
}
.recruit__policy--header h2 {
  font-size: clamp(3.75rem, 2.829rem + 1.77vw, 4.375rem);
  line-height: 1;
}
.recruit__policy--header p {
  flex: 1;
  align-self: center;
}
.recruit__policy--cross {
  text-align: center;
}
.recruit__policy--cross dl dt {
  font-size: clamp(1.5rem, 0.947rem + 1.06vw, 1.875rem);
  color: #143894;
}
.recruit__policy--cross dl dt span {
  display: inline-block;
  background: #fff;
  border-radius: 40px;
  padding: 0 1em;
}
.recruit__policy--cross dl dd {
  position: relative;
  padding-top: 60px;
  font-size: clamp(1.25rem, 0.697rem + 1.06vw, 1.625rem);
  color: #fff;
  font-weight: bold;
}
.recruit__policy--cross dl dd::before {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23fff' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  left: 50%;
  top: 20px;
  transform: translate(-50%, 0) rotate(90deg);
}
.recruit__policy--graphic {
  position: relative;
  text-align: center;
  margin: 2em auto 0;
  max-width: 1000px;
}
.recruit__policy--graphic .graphic {
  margin: 0 auto;
  padding: 0 270px;
}
.recruit__policy--graphic .graphic img {
  width: 100%;
  height: auto;
}
.recruit__policy--graphic ul {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.recruit__policy--graphic ul li {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  width: 250px;
  font-weight: bold;
  color: #fff;
}
.recruit__policy--graphic ul li h3 {
  display: inline-block;
  border-radius: 30px;
  padding: 0 1em;
  margin: 0 0 0.5em;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
}
.recruit__policy--graphic ul li:first-child {
  left: 0;
}
.recruit__policy--graphic ul li:first-child h3 {
  background: #09adb9;
}
.recruit__policy--graphic ul li:last-child {
  right: 0;
}
.recruit__policy--graphic ul li:last-child h3 {
  background: #25a1f4;
}
.recruit__policy--footer {
  margin: 2.5em 0 0;
}
.recruit__people {
  background: #f4f9fd;
  margin: 0;
  padding: 4em 0 0.5em;
}
.recruit__people--header .container {
  display: flex;
  align-items: center;
}
.recruit__people--header h2 {
  flex: 1;
  color: #143894;
  line-height: 1.3;
}
.recruit__people--header h2 span {
  display: block;
}
.recruit__people--header h2 span.en,
.recruit__people--header h2 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .recruit__people--header h2 span.company-name,
.recruit__people--header .lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
.recruit__people--header h2 span.date,
.recruit__people--header h2 span.home__copy,
.recruit__people--header h2 .terra-x dl dd ul li .title span.label,
.terra-x dl dd ul li .title .recruit__people--header h2 span.label,
.recruit__people--header h2 .service__scroll--wrap .item span.num,
.service__scroll--wrap .item .recruit__people--header h2 span.num,
.recruit__people--header .survey-tl__soft h2 span.label,
.survey-tl__soft .recruit__people--header h2 span.label,
.recruit__people--header h2 .survey-tl__case .service__case--article .thumb span.label,
.survey-tl__case .service__case--article .thumb .recruit__people--header h2 span.label,
.recruit__people--header h2 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .recruit__people--header h2 span,
.recruit__people--header h2 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .recruit__people--header h2 span,
.recruit__people--header .utm__group--item .item-case-header .service__faq--header h2 span,
.recruit__people--header h2 .recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .recruit__people--header h2 span.en,
.recruit__people--header h2 .recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 .recruit__people--header h2 span.date,
.recruit__people--header h2 .recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .recruit__people--header h2 span.home__copy {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-weight: 800;
  font-size: clamp(3rem, 1.895rem + 2.12vw, 3.75rem);
}
.recruit__people--header h2 span.ja {
  font-weight: bold;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
}
.recruit__people--header a.btn {
  margin-left: auto;
}
.recruit__people--body {
  overflow: scroll;
  margin: 3em 0;
  padding-bottom: 2em;
}
.recruit__people--body ul {
  display: flex;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
  gap: 60px;
}
.recruit__people--body ul::after {
  content: '';
  flex: 0 0 40px;
  display: block;
}
.recruit__people--body ul li {
  flex: 0 0 380px;
}
.recruit__people--body ul li a {
  text-decoration: none;
  display: block;
}
.recruit__people--body ul li a .thumb {
  margin: 0 0 0.8em;
  overflow: hidden;
  border-radius: 20px;
}
.recruit__people--body ul li a .thumb img {
  width: 100%;
  max-width: 380px;
  height: auto;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 0.3s ease;
}
.recruit__people--body ul li a .description {
  position: relative;
  line-height: 1.5;
}
.recruit__people--body ul li a .description::before {
  content: '';
  width: 45px;
  height: 45px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 1;
  transition: all 0.3s ease;
}
.recruit__people--body ul li a .description::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23143894' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  display: block;
  position: absolute;
  width: 21px;
  height: 21px;
  right: 12px;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 2;
  transition: all 0.3s ease;
}
.recruit__people--body ul li a .description .pos {
  font-size: clamp(0.813rem, 0.536rem + 0.53vw, 1rem);
  color: #63666c;
}
.recruit__people--body ul li a .description .name {
  font-weight: bold;
}
.recruit__people--body ul li a .description .rome {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(0.875rem, 0.507rem + 0.71vw, 1.125rem);
  font-weight: 800;
  color: #143894;
}
.recruit__deck .container {
  max-width: 1080px;
}
.recruit__deck .deck-item + .deck-item {
  margin: 5em 0 0;
}
.recruit__view {
  margin-top: 8em;
}
.recruit__view .splide__slide {
  max-height: none !important;
}
.recruit__view img {
  height: auto;
}
.recruit__faq .container {
  display: block;
  max-width: 1180px;
}
.recruit__faq .service__faq--header {
  margin: 0 0 2em;
}
.recruit__faq--footer {
  margin: 1.5em 0 0;
}
.recruit__faq--footer a.xs {
  font-weight: normal;
}
.recruit__voice .container {
  max-width: 1180px;
}
.recruit__voice--header {
  text-align: center;
  line-height: 1.65;
}
.recruit__voice--header .en,
.recruit__voice--header .lp2404-agree__item--ttl .company-name,
.lp2404-agree__item--ttl .recruit__voice--header .company-name,
.recruit__voice--header .date,
.recruit__voice--header .home__copy,
.recruit__voice--header .home__biz h2,
.home__biz .recruit__voice--header h2,
.recruit__voice--header .terra-x dl dt,
.terra-x dl .recruit__voice--header dt,
.recruit__voice--header .terra-x dl dd ul li .title .label,
.terra-x dl dd ul li .title .recruit__voice--header .label,
.recruit__voice--header .service__faq--header h2 span.en,
.service__faq--header h2 .recruit__voice--header span.en,
.recruit__voice--header .service__faq--header h2 span.date,
.service__faq--header h2 .recruit__voice--header span.date,
.recruit__voice--header .service__faq--header h2 span.home__copy,
.service__faq--header h2 .recruit__voice--header span.home__copy,
.recruit__voice--header .service__scroll--wrap .item .num,
.service__scroll--wrap .item .recruit__voice--header .num,
.recruit__voice--header .survey-tl__lineup--item .item-header .description h3,
.survey-tl__lineup--item .item-header .description .recruit__voice--header h3,
.recruit__voice--header .survey-tl__soft h2 .label,
.survey-tl__soft h2 .recruit__voice--header .label,
.recruit__voice--header .survey-tl__case .service__case--article .thumb .label,
.survey-tl__case .service__case--article .thumb .recruit__voice--header .label,
.recruit__voice--header .survey-ict__feature--support .support__job ol li::before,
.survey-ict__feature--support .support__job ol .recruit__voice--header li::before,
.recruit__voice--header .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .recruit__voice--header span,
.recruit__voice--header .agri__do dl dt,
.agri__do dl .recruit__voice--header dt,
.recruit__voice--header .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .recruit__voice--header span,
.recruit__voice--header .oversea__map ul.point li dl dt,
.oversea__map ul.point li dl .recruit__voice--header dt,
.recruit__voice--header .recruit__terraway h2,
.recruit__terraway .recruit__voice--header h2,
.recruit__voice--header .recruit__terraway--pulse ul li h3 span.en,
.recruit__terraway--pulse ul li h3 .recruit__voice--header span.en,
.recruit__voice--header .recruit__terraway--pulse ul li h3 span.date,
.recruit__terraway--pulse ul li h3 .recruit__voice--header span.date,
.recruit__voice--header .recruit__terraway--pulse ul li h3 span.home__copy,
.recruit__terraway--pulse ul li h3 .recruit__voice--header span.home__copy,
.recruit__voice--header .recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
.recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label .recruit__voice--header span,
.recruit__voice--header .inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
.inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 .recruit__voice--header span,
.recruit__voice--header .recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
.recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header .recruit__voice--header span,
.recruit__voice--header .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
.utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 .recruit__voice--header span,
.recruit__voice--header .recruit__policy--header h2,
.recruit__policy--header .recruit__voice--header h2,
.recruit__voice--header .recruit__policy--cross dl dt,
.recruit__policy--cross dl .recruit__voice--header dt {
  color: #63666c;
}
.recruit__voice--header h2 {
  font-size: clamp(1.875rem, 1.322rem + 1.06vw, 2.25rem);
  font-weight: bold;
  color: #143894;
}
.recruit__voice--body {
  margin: 2em 0 0;
}
.recruit__voice--body .item + .item {
  margin: 3em 0 0;
}
.recruit__voice--body .item a {
  position: relative;
  text-decoration: none;
  border: 1px solid #dbdce0;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 40px;
}
.recruit__voice--body .item a::before {
  content: '';
  width: 100%;
  height: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #143894;
  display: block;
  transition: all 0.5s ease;
}
.recruit__voice--body .item a .thumb {
  position: relative;
  flex: 0 0 40%;
  max-width: 390px;
}
.recruit__voice--body .item a .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.recruit__voice--body .item a .description {
  position: relative;
  padding-right: 40px;
  line-height: 1.65;
}
.recruit__voice--body .item a .description h3 {
  font-size: clamp(1.313rem, 0.944rem + 0.71vw, 1.563rem);
  font-weight: bold;
  transition: all 0.5s ease;
}
.recruit__voice--body .item a .description .info {
  margin: 1.5em 0 0;
}
.recruit__voice--body .item a .description .info .pos {
  font-size: clamp(0.813rem, 0.628rem + 0.35vw, 0.938rem);
  font-weight: bold;
  color: #63666c;
  transition: all 0.5s ease;
}
.recruit__voice--body .item a .description .info .name {
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  font-weight: bold;
  transition: all 0.5s ease;
}
.recruit__voice--body .item a .description .info .rome {
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(0.875rem, 0.507rem + 0.71vw, 1.125rem);
  font-weight: 800;
  color: #25a1f4;
  transition: all 0.5s ease;
}
.privacy .container {
  max-width: 1080px;
}
.privacy-block h2 {
  font-size: clamp(1.125rem, 1.031rem + 0.25vw, 1.25rem);
  font-weight: bold;
  margin: 2em 0 0;
}
.privacy-block ul {
  list-style: disc;
  padding-left: 1.2em;
  margin: 0.5em 0;
}
.privacy-block ul li + li {
  margin: 0.3em 0 0;
}
.privacy-footer {
  margin: 2em 0;
  background: #f7f7f7;
  padding: 1.5em 2em;
  font-size: clamp(0.938rem, 0.844rem + 0.25vw, 1.063rem);
  line-height: 1.8;
}
.privacy-footer h2 {
  font-weight: bold;
}
.contact .page-body .container {
  max-width: 1080px;
}
.contact__tel {
  background: #f4f9fd;
  padding: 2em 0;
  text-align: center;
}
.contact__tel .container {
  max-width: 834px;
}
.contact__tel h2 {
  color: #143894;
  font-weight: bold;
  line-height: 1.5;
}
.contact__tel dl {
  margin: 1em 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  padding: 1em 1.5em;
}
.contact__tel dl dt {
  font-size: clamp(0.938rem, 0.797rem + 0.38vw, 1.125rem);
  color: #737373;
  font-weight: bold;
}
.contact__tel dl dd {
  margin-left: 0.75em;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(1.063rem, 0.828rem + 0.63vw, 1.375rem);
}
.contact__form table {
  width: 100%;
  border-top: 1px solid #dbdce0;
}
.contact__form table th,
.contact__form table td {
  border-bottom: 1px solid #dbdce0;
  padding: 20px 0;
}
.contact__form table th {
  position: relative;
  padding-top: 34px;
  padding-left: 3.4em;
  line-height: 1.5;
  width: 300px;
}
.contact__form table th .label {
  position: absolute;
  left: 0;
  top: 34px;
  font-size: clamp(0.75rem, 0.609rem + 0.38vw, 0.938rem);
  color: #fff;
  background: #adadad;
  padding: 3px 10px;
  border-radius: 4px;
}
.contact__form table th .label.require {
  background: #e85252;
}
.contact__form table td label {
  display: block;
}
.contact__form table td label + label {
  margin-top: 0.5em;
}
.contact__form-agree {
  text-align: center;
  margin: 2em 0 1em;
}
.mw_wp_form_confirm .contact__form-agree {
  display: none;
}
.contact__form-btn {
  text-align: center;
  margin-top: 30px;
  padding: 0 0 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
.contact__form-btn input[type='submit'],
.contact__form-btn button {
  position: relative;
  width: 280px;
  line-height: 70px;
  padding: 0 30px;
  text-decoration: none;
  display: block;
  border-radius: 100px;
  background: #143894;
  color: #fff;
  transition: all 0.3s ease;
  letter-spacing: 0.5em;
  font-weight: bold;
}
.contact__form-btn input[type='submit']:hover,
.contact__form-btn button:hover {
  background: rgb(15.75, 44.1, 116.55);
}
.contact__form-btn input[type='submit'][name='submitBack'],
.contact__form-btn button[name='submitBack'] {
  background: #aaa;
}
.contact__form-btn input[type='submit'][name='submitBack']:hover,
.contact__form-btn button[name='submitBack']:hover {
  background: rgb(152.15, 152.15, 152.15);
}
.cf:after {
  content: '';
  display: block;
  clear: both;
  height: 0;
  overflow: hidden;
}
.member_single {
  text-align: center;
  line-height: 1.4;
}
.member_single .section:nth-child(even) {
  background: #f7f7f7;
}
.member_single .item_top {
  padding: 6em 0 8em;
}
.member_single .item_top .inner {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
}
.member_single .item_top .inner .first_contents .text_block {
  float: right;
  max-width: 540px;
  width: 46%;
  position: relative;
}
.member_single .item_top .inner .first_contents .text_block .text_head {
  border-width: 5px 0;
  border-style: solid;
  border-color: #111;
  padding: 5em 0;
}
.member_single .item_top .inner .first_contents .text_block .text_head h2 {
  font-size: 2em;
  line-height: 1.8;
  font-weight: bold;
  letter-spacing: -0.03em;
}
.member_single .item_top .inner .first_contents .text_block .text_contents {
  text-align: right;
  margin: 3.6em 0 0;
}
.member_single .item_top .inner .first_contents .text_block .text_contents .txt1 span {
  font-weight: bold;
  font-size: 1em;
}
.member_single .item_top .inner .first_contents .text_block .text_contents .txt2 {
  margin: 0.2em 0 0;
  font-weight: bold;
  font-size: 1.5em;
}
.member_single .item_top .inner .first_contents .img_block {
  float: left;
  max-width: 580px;
  width: 50%;
}
.member_single .item_top .inner .first_contents .img_block img {
  width: 100%;
}
.member_single .item_top .inner .second_contents {
  max-width: 80%;
  width: 100%;
  margin: 0 auto;
  padding: 4em 0 0;
  font-size: 1.1em;
  font-weight: bold;
  line-height: 2.4;
  text-align: justify;
}
.member_single .repeat_block.first .inner .first_contents {
  display: table;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
  -moz-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
.member_single .repeat_block.first .inner .first_contents .text_block {
  text-align: left;
}
.member_single .repeat_block.first .inner .second_contents {
  margin-top: 4em;
}
.member_single .repeat_block.last {
  padding-bottom: 0;
}
.member_single .repeat_block {
  padding: 4em 0;
  margin-top: 0 !important;
}
.member_single .repeat_block .inner {
  max-width: 1180px;
  width: 100%;
  margin: 0 auto;
}
.member_single .repeat_block .inner .first_contents .img_block {
  text-align: center;
}
.member_single .repeat_block .inner .first_contents .text_block {
  margin: 4em auto 0;
}
.member_single .repeat_block .inner .first_contents .text_block .interview {
  font-size: 1.2em;
  font-weight: bold;
}
.member_single .repeat_block .inner .first_contents .text_block .title {
  margin: 0.4em 0 0;
  font-size: 2.2em;
  line-height: 1.5;
  font-weight: bold;
}
.member_single .repeat_block .inner .second_contents {
  max-width: 800px;
  width: 100%;
  margin: 1.6em auto 0;
  padding: 0 2em;
  line-height: 2.5;
  font-weight: bold;
  font-size: 1em;
}
.member_single .member_btn {
  position: relative;
  margin: 0 auto;
  margin-top: -12.5em;
  display: inline-block;
  vertical-align: top;
}
.member_single .member_btn a {
  display: inline-block;
  vertical-align: top;
  padding: 0 4em;
  background: #00aae4;
  border: 2px solid #00aae4;
  color: #fff;
  font-size: 1.3em;
  line-height: 60px;
  border-radius: 50em;
  font-weight: bold;
}
.member_single .member_btn a:hover {
  background: #fff;
  color: #00aae4;
}
.member_single .sns_block {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.6em;
}
.case-kv {
  margin: 0;
}
.case .page-body {
  position: relative;
}
.case__cta {
  padding: 25px 0;
}
.case__cta .container {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.case__cta dl {
  text-align: center;
  padding: 0 40px;
}
.case__cta dl + dl {
  border-left: 1px solid #dbdce0;
}
.case__cta dl dt {
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
}
.case__cta dl dd a {
  margin: 0.1em 0 0;
  font-weight: bold;
  font-size: clamp(1.125rem, 0.757rem + 0.71vw, 1.375rem);
  min-width: 300px;
  line-height: 64px;
}
.case__cta.fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}
.case__cta--xs {
  display: none;
}
.case__block--header {
  margin: 0 0 1em;
}
.case__block--header .container {
  display: flex;
  align-items: center;
}
.case__block--header .container h2 {
  flex: 1;
}
.case__block--header .container a {
  margin-left: auto;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  line-height: 50px;
  width: auto;
  padding: 0 40px;
}
.case__block.archive {
  margin: 4em 0 0;
}
.case__list ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
}
.case__list ul li {
  position: relative;
  transition: all 0.2s ease;
  cursor: pointer;
}
.case__list ul li a {
  text-decoration: none;
}
.case__list ul li:hover {
  opacity: 0.8;
}
.case__list ul li .thumb {
  margin: 0 0 0.75em;
}
.case__list ul li .thumb img {
  width: 100%;
  height: auto;
}
.case__list ul li .meta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.case__list ul li h3 {
  font-size: clamp(1rem, 0.816rem + 0.35vw, 1.125rem);
  line-height: 1.65;
  font-weight: bold;
  margin: 0.5em 0;
}
.case__list ul li h3 a::before {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.case__list ul li .tag {
  position: relative;
}
.case__category {
  background: #f4f9fd;
  padding: 30px 0 60px;
}
.case__category h2 {
  color: #143894;
  font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
  font-weight: bold;
  text-align: center;
}
.case__category--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin: 30px 0 0;
}
.case__category--grid dl {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  padding: 20px 30px;
}
.case__category--grid dl dt {
  flex: 0 0 120px;
  color: #143894;
  font-size: clamp(1rem, 0.816rem + 0.35vw, 1.125rem);
  font-weight: bold;
}
.case__category--grid dl dd .cat {
  gap: 10px;
}
.case__event .container {
  display: flex;
}
.case__event--body {
  flex: 1;
  margin-left: 4em;
}
.case__event--item {
  display: flex;
  gap: 30px;
  align-items: center;
}
.case__event--item .thumb {
  flex: 0 0 340px;
  align-self: flex-start;
}
.case__event--item .thumb img {
  width: 100%;
  height: auto;
}
.case__event--item .description {
  flex: 1;
}
.case__event--item .description h3 {
  font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  font-weight: bold;
}
.case__event--item .description .summary {
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  line-height: 1.65;
  color: #737373;
}
.case__event--item .description .entry {
  margin: 1em 0 0;
}
.case__event--item .description .entry a {
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  line-height: 54px;
  margin: 0;
}
.case .post-header .case-cat {
  margin: 0 0 1em;
}
.case .post-header .case-cat a {
  color: #143894;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  font-weight: bold;
  text-decoration: none;
}
.case .post-body {
  border-bottom: none;
}
.case .post-body ol {
  counter-reset: item;
  list-style-type: none;
  list-style-position: inside;
  background: #f4f9fd;
  padding: 3em;
}
.case .post-body ol li {
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.case .post-body ol li::before {
  counter-increment: item;
  content: counter(item) '.';
  color: #143894;
  font-weight: bold;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  padding-right: 0.2em;
}
.case .post-body ol li + li {
  margin: 0.75em 0 0;
}
.case .post-body dl {
  position: relative;
  background: #f4f9fd;
  padding: 3em;
  display: flex;
  align-items: center;
}
.case .post-body dl::before {
  content: '';
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  display: block;
  background: #fff;
  border-radius: 20px;
  position: absolute;
  left: 20px;
  top: 20px;
}
.case .post-body dl dt,
.case .post-body dl dd {
  position: relative;
}
.case .post-body dl dt {
  flex: 0 0 200px;
  color: #143894;
}
.case .post-body dl dd {
  flex: 1;
}
.case .case-client {
  background: #f7f7f7;
  margin: -1em 0 4em;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 2em;
  border-radius: 20px;
}
.case .case-client .thumb {
  flex: 0 0 300px;
}
.case .case-client .thumb img {
  max-width: 100%;
  height: auto;
}
.case .case-client .description {
  flex: 1;
}
.case .case-client .description h3 {
  color: #143894;
  font-weight: bold;
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  margin: 0 0 0.5em;
}
.case .case-client .description dl {
  display: flex;
  align-items: center;
}
.case .case-client .description dl + dl {
  margin: 0.1em 0 0;
}
.case .case-client .description dl dt {
  flex: 0 0 6em;
}
.case .case-client .description dl dd {
  flex: 1;
}
.lp2404-header {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.lp2404-header .page-header-ttl h1 {
  font-size: clamp(1.75rem, 0.645rem + 2.12vw, 2.5rem);
}
.lp2404-mv__video {
  width: 90%;
  margin-left: auto;
}
.lp2404-mv__video video,
.lp2404-mv__video .video-mask {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 16/9;
  clip-path: inset(0 0 0% 0% round 0 0 0 80px);
  vertical-align: top;
}
.lp2404-mv__video video::before,
.lp2404-mv__video .video-mask::before {
  content: '';
  width: 100%;
  height: 100%;
  background: #f7f7f7;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  animation: loadingFade 2s ease-in-out infinite;
}
@keyframes loadingFade {
  0%,
  100% {
    background-color: rgb(239.35, 239.35, 239.35);
  }
  50% {
    background-color: #f7f7f7;
  }
}
.lp2404-lead {
  text-align: center;
}
.lp2404-img img {
  width: 100%;
  height: auto;
}
.lp2404-agree {
  background-color: #f4f9fd;
  padding: 8em 0;
}
.lp2404-agree__item {
  display: flex;
  gap: 40px;
}
.lp2404-agree__item + .lp2404-agree__item {
  margin-top: 8em;
}
.lp2404-agree__item .thumb {
  flex: 0 0 375px;
}
.lp2404-agree__item .thumb img {
  border-radius: 15px;
  width: 100%;
  height: auto;
}
.lp2404-agree__item .description {
  flex: 1;
}
.lp2404-agree__item--ttl {
  display: flex;
  align-items: flex-end;
  gap: 1em;
  color: #143894;
  line-height: 1;
  margin: 0 0 1.5em;
  padding-left: 1.5em;
}
.lp2404-agree__item--ttl .company-name {
  font-size: clamp(2.75rem, 2.38rem + 1.85vw, 4rem);
  font-weight: bold;
  opacity: 0.6;
}
.lp2404-agree__item--ttl .pos-name {
  font-size: clamp(1rem, 0.926rem + 0.37vw, 1.25rem);
  font-weight: bold;
  margin-bottom: 0.5em;
}
.lp2404-agree__item--comment {
  position: relative;
  background: #fff;
  border-radius: 15px;
  padding: 1.5em;
  line-height: 1.65;
}
.lp2404-agree__item--comment::before {
  content: '';
  background: #fff;
  height: 30px;
  width: 50px;
  clip-path: polygon(0 0, 100% 100%, 30% 100%);
  position: absolute;
  left: 10px;
  top: -30px;
}
.lp2404-agree__item:nth-child(even) {
  flex-direction: row-reverse;
}
.lp2404-agree__item:nth-child(even) .lp2404-agree__item--ttl {
  padding-left: 0.5em;
}
.lp2404-agree__item:nth-child(even) .lp2404-agree__item--comment::before {
  left: auto;
  right: 10px;
  clip-path: polygon(100% 0, 70% 100%, 0% 100%);
}
.lp2404-part__header {
  margin: 0 0 2em;
}
.lp2404-part__header h2 {
  color: #143894;
  font-size: clamp(1.5rem, 1.13rem + 1.85vw, 2.75rem);
  line-height: 1.65;
  font-weight: 600;
}
.lp2404-part__body {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 30px;
}
.lp2404-part__body .description a {
  margin-top: 2em;
}
.lp2404-part__body .thumb {
  flex: 0 0 45%;
  max-width: 600px;
}
.lp2404-part__body .thumb img {
  width: 100%;
  height: auto;
}
.lp2404-media__title h3 {
  color: #143894;
  font-size: clamp(1.5rem, 1.125rem + 1vw, 2rem);
  font-weight: bold;
}
.ir-ss__banner {
  margin-bottom: -1.5em;
}
.ir-ss__banner a {
  position: relative;
  display: block;
  text-align: center;
  background: #cce6ff;
  padding: 0.5rem;
  text-decoration: none;
  color: #143894;
  font-weight: bold;
}
.ir-ss__banner a::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(90deg, #143894, rgba(20, 56, 148, 0)) 0 0 no-repeat;
  background-size: 0 auto;
  position: absolute;
  right: 0;
  top: 0;
  transition: background 0.5s ease;
}
.ir-ss__banner a span {
  position: relative;
  display: inline-block;
  padding-right: 20px;
  z-index: 1;
}
.ir-ss__banner a span::after {
  content: '';
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23143894' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
    50% 50%/100% 100% no-repeat;
  display: block;
  position: absolute;
  width: 16px;
  height: 12px;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.2s ease;
}
.ir-ss .page-header {
  margin: 3rem 0 5rem;
}
.ir-ss .page-header h1 {
  font-weight: normal;
  font-size: clamp(1.5rem, 0.027rem + 2.83vw, 2.5rem);
}
.ir-ss h2 {
  text-align: center;
  font-size: clamp(1.75rem, 1.013rem + 1.41vw, 2.25rem);
  color: #143894;
  padding: 0 0 1rem;
  letter-spacing: 0.04em;
  margin: 0 0 2rem;
}
.ir-ss__nav {
  margin: 40px 0 20px;
}
.ir-ss__nav ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.ir-ss__nav ol li a {
  background: #f4f9fd;
  border-radius: 10px;
  padding: 1rem 1.5rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 20px;
}
.ir-ss__nav ol li a .num {
  flex: 0 0 45px;
  height: 45px;
  border: 1px solid #143894;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  border-radius: 50%;
  font-size: clamp(1.25rem, 0.697rem + 1.06vw, 1.625rem);
  line-height: 1;
}
.ir-ss__nav ol li a .label {
  color: #111;
}
.ir-ss__more {
  margin: 0 0 3rem;
  text-align: right;
}
.ir-ss__more a {
  display: inline-block;
  background: #143894;
  color: #fff;
  text-decoration: none;
  padding: 2px 15px;
  border-radius: 5px;
}
.ir-ss__more a:hover {
  background: rgb(16.9642857143, 47.5, 125.5357142857);
}
.ir-ss__story--body .thumb {
  float: left;
  padding: 0 2.5em 2.5em 0;
}
.ir-ss__story--body .description h3 {
  text-align: center;
  font-size: clamp(1.25rem, 0.697rem + 1.06vw, 1.625rem);
  margin: 0 0 1rem;
}
.ir-ss__story--footer {
  margin: 2.5rem 0 0;
}
.ir-ss__story--footer .name {
  font-weight: bold;
  margin: 0 0 0.5rem;
}
.ir-ss__story--footer .name span {
  font-size: 0.85em;
  font-weight: normal;
  margin-left: 10px;
}
.ir-ss__history--timeline {
  overflow-x: scroll;
  margin: 0 0 4rem;
}
.ir-ss__history--timeline .inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 0 40px;
}
.ir-ss__history--market h3 {
  margin: 0 0 2rem;
}
.ir-ss__history--market h3 span {
  display: block;
  background: #6a83b8;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  width: 180px;
}
.ir-ss__history--market-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.ir-ss__history--market-column dl + dl {
  margin: 1rem 0 0;
}
.ir-ss__history--market-column dl dt {
  position: relative;
}
.ir-ss__history--market-column dl dt::before {
  content: '';
  width: 100%;
  height: 1px;
  background: #143894;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.ir-ss__history--market-column dl dt span {
  position: relative;
  background: #fff;
  padding: 0 10px 0 0;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  color: #143894;
  line-height: 1;
}
.ir-ss__biz--lead {
  text-align: center;
  margin-top: -2rem;
}
.ir-ss__biz--body {
  margin: 2rem 0;
  padding: 0 40px;
  text-align: center;
}
.ir-ss__biz--body picture {
  display: block;
  width: 100%;
}
.ir-ss__biz--body img {
  max-width: 100%;
  height: auto;
}
.ir-ss__number--body {
  background: #f4f9fd;
  padding: 40px 0;
}
.ir-ss__number--cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 1行目は3列 */
  grid-template-rows: auto auto; /* 2行の自動サイズ調整 */
  border-radius: 10px;
  gap: 10px;
}
.ir-ss__number--cards [class^='card'] {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
}
.ir-ss__number--cards dl + dl {
  margin: 1rem 0 0;
}
.ir-ss__number--cards dl dt {
  font-weight: normal;
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  margin: 0 0 0.5rem;
  line-height: 1.5;
}
.ir-ss__number--cards dl dd {
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
}
.ir-ss__number--cards dl dd b {
  font-size: clamp(2.25rem, 1.145rem + 2.12vw, 3rem);
  line-height: 1;
  color: #143894;
  margin: 0 0.05em;
}
.ir-ss__number--cards dl dd sup {
  top: -1.5em;
}
.ir-ss__number--cards small {
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
}
.ir-ss__number--cards .thumb img {
  max-width: 100%;
  height: auto;
}
.ir-ss__number--cards .card1 {
  grid-column: 1/2; /* 1行目1列目 */
  grid-row: 1/2;
  display: flex;
  align-items: center;
}
.ir-ss__number--cards .card1 .description {
  flex: 1;
  padding: 0 20px;
}
.ir-ss__number--cards .card1 .thumb {
  flex: 1;
}
.ir-ss__number--cards .card2 {
  grid-column: 2/3; /* 1行目2列目 */
  grid-row: 1/2;
  text-align: center;
}
.ir-ss__number--cards .card2 .description {
  margin: 0 0 1rem;
}
.ir-ss__number--cards .card3 {
  grid-column: 3/4; /* 1行目3列目 */
  grid-row: 1/2;
  text-align: center;
}
.ir-ss__number--cards .card3 .description {
  margin: 0 0 1rem;
}
.ir-ss__number--cards .card4 {
  grid-column: 1/4; /* 2行目全体（1列） */
  grid-row: 2/3;
}
.ir-ss__number--cards .card4 h4 {
  margin: 0 15px 20px;
}
.ir-ss__number--cards .card4 .col {
  display: flex;
  align-items: center;
}
.ir-ss__number--cards .card4 .col .thumb {
  flex: 1;
  text-align: center;
}
.ir-ss__number--cards .card4 .col .description {
  flex: 0 0 240px;
  text-align: center;
}
.ir-ss__number--notes {
  margin: 1rem 0 0;
  font-size: clamp(0.813rem, 0.536rem + 0.53vw, 1rem);
  letter-spacing: 0;
}
.ir-ss__number--notes ul li + li {
  margin: 0.2rem 0 0;
}
.ir-ss__number--notes ul li ul {
  margin: 0.2rem 0 0 1rem;
}
.ir-ss__number--notes ul li dl {
  display: flex;
  gap: 5px;
}
.ir-ss__number--notes ul li dl dt {
  font-weight: normal;
}
.ir-ss__number--notes ul li dl dd {
  flex: 1;
}
.recruit__lead {
  background: url('./images/recruit_message_bg.jpg') center center no-repeat;
  background-size: cover;
}
.recruit__lead h2 {
  margin: 0 0 2em;
}
.recruit__lead h2 span {
  display: inline-block;
  background-image: linear-gradient(90deg, #143894 40%, #25a1f4 60%, transparent 80%);
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(1.5rem, 0.893rem + 2.589vi, 4rem);
  letter-spacing: 0.03em;
  line-height: 1.5;
}
.recruit__lead h2.is-show span {
  animation: 4s textGradient ease forwards;
}
.recruit__lead p {
  font-size: 1.25rem;
}
.message--large {
  font-size: 2rem;
}
.entry {
  padding: 5rem 0 6.25rem;
  background-color: #F4F9FD;
  margin-top: 0!important;
}
.entry__text {
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #143894;
  font-size: 3.75rem;
}

.entry__btn-list {
  margin-top: 3.75rem;
  display: flex;
  justify-content: center;
}

.entry__btn-item {
  width: 100%;
  margin: initial;
  max-width: 28.125rem;
}

.entry__btn-item + .entry__btn-item {
  margin-top: initial;
  margin-left: 3.75rem;

}
.entry__btn-text {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
}

.entry__btn-wrap {
  margin-top: 0.3125rem;
}

.entry__btn {
  position: relative;
  display: inline-block;
  width: 100%;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  border-radius: 5rem;
  padding: 2.375rem 0;
  font-size: 2rem;
  color: #fff;
  text-decoration: none;
}
.entry__btn--green {
  background: #09AEBA;
}
.entry__btn--blue {
  background: #25A1F4;
}

.recruit-people {
  background: url('./images/recruit_people-bg.jpg') center center no-repeat;
  background-size: cover;
}

.recruit-people__inner {
  margin: auto;
  padding: 0 1.25rem 6.25rem;
  width: 100%;
  max-width: 68.75rem;
}

.recruit-people-list {
  display: grid;
  gap: 1.125rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3rem;
}

.recruit-people-list__item {
  display: block;
  height: 100%;
  background-color: #fff;
  box-shadow: 0 0 2.5rem 0 rgba(0, 0, 0, .05);
  border-radius: 5px;
}
.recruit-people-list__item a:hover {
  cursor: pointer;
  opacity: 0.7;
}
.recruit-people-list__item-img {
  width: 100%;
}

.recruit-people-list__item-img img {
  width: 100%;
  aspect-ratio: 345 / 183;
  object-fit: cover;
}

.recruit-people-list__item-content {
  padding: 1.5625rem 1.25rem 1.875rem;
  text-align: center;
}

.recruit-people-list__item-position {
  font-weight: 500;
  line-height: 1;
  font-size: 1rem;
  margin-top: 0.5rem;
}
.recruit-people-list__item-position.recruit-people-list__item-position--mt0 {
  margin-top: 0;
}
.position--middle {
  font-size: 0.75rem;
}
.position--small {
  font-size: 0.5rem;
}

.recruit-people-list__item-name--en {
  font-weight: 400;
  line-height: 1.65;
  margin-top: 1.5rem;
  color: #25A1F4;
  font-size: 1rem;
}
.recruit-people-list__item-name--en.recruit-people-list__item-name--mt16 {
  margin-top: 1rem;
}

.recruit-people-list__item-name--jp {
  line-height: 1.65;
  margin-top: 0!important; 
  font-size: 1.25rem;
  font-weight: 700;
}
.recruit-people-list__item-sns {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
.recruit-people-list__item-x img, .recruit-people-list__item-linkedin img {
  width: 1.5rem;
  height: 1.5rem;
}
.card-wrapper .container {
  max-width: 1080px;
}
.ir-card {
  box-shadow: 0 7px 7px rgba(0, 0, 0, 0.05);
  background: #fff;
  border-radius: 20px;
  padding: 20px;
}
.ir-card > a {
  text-decoration: none;
  margin: -20px;
  padding: 20px;
  border-radius: 20px;
  display: block;
  height: calc(100% + 40px);
}
.ir-card__header {
  position: relative;
  border-bottom: 1px solid #dbdce0;
  text-align: center;
  padding: 0 0 0.5rem;
  margin: -5px 0 1rem;
}
.ir-card__header a.btn {
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
  line-height: 1;
  margin: 0;
  padding: 0.5rem 20px;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
}
.ir-card__body .icon {
  text-align: center;
  margin: 25px 0 20px;
}
.ir-card__body table.ir-table {
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  margin: 0 15px;
}
.ir-card__body table.ir-table th,
.ir-card__body table.ir-table td {
  display: block;
}
.ir-card__body table.ir-table th {
  font-weight: normal;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  margin: 0 0 0.3rem;
  padding-top: 1rem;
}
.ir-card__body table.ir-table td {
  border-bottom: 1px solid #dbdce0;
  padding-bottom: 0.5rem;
}
.ir-card__body table.ir-table tr:first-child th {
  padding-top: 0;
}
.ir-card__grid {
  display: flex;
}
.ir-card__grid .description {
  flex: 1;
}
.ir-card__grid .link {
  flex: 0 0 35%;
  min-width: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ir-card__grid .link a.btn {
  line-height: 1;
  padding: 15px 0;
  width: 240px;
}
.ir-card__grid .update {
  font-size: clamp(0.875rem, 0.599rem + 0.53vw, 1.063rem);
  margin: -5px 0 10px;
  color: #63666c;
}
.ir-footer {
  background: #fafafa;
  margin: 8rem 0 0;
  padding: 4rem 0;
}
.ir-footer__nav {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 50px;
}
.ir-footer__nav .ir-card__body {
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  line-height: 1.8;
}
.ir-footer__nav .ir-card__body ul {
  margin: 0 20px;
}
.ir-footer__nav .ir-card__body ul li a {
  text-decoration: none;
  display: block;
}
.ir-footer__nav .ir-card__body a.btn {
  line-height: 1;
  padding: 1.2rem 0;
  width: auto;
  max-width: 280px;
}
.ir-headline {
  padding: 0 15px;
}
.ir-headline dl {
  display: flex;
  align-items: center;
  padding: 0.3rem 0;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
}
.ir-headline dl dt {
  flex: 0 0 150px;
  font-weight: normal;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
}
.ir-headline dl dd {
  flex: 1;
  line-height: 1.65;
}
.ir-headline dl dd a {
  text-decoration: none;
}
.ir-headline dl dd a img {
  position: relative;
  top: -2px;
  width: 24px;
  height: auto;
  vertical-align: middle;
  margin: 0 0 0 5px;
}
.ir-headline.vertical dl {
  display: block;
  border-bottom: 1px solid #dbdce0;
  padding-bottom: 0.5rem;
}
.ir-headline.vertical dl + dl {
  margin-top: 1rem;
}
.ir-headline.vertical dl dt {
  line-height: 1.5;
  margin: 0 0 0.3rem;
}
.ir-menu {
  position: relative;
  background: #f7f7f7;
  margin: 0 0 1rem;
}
.ir-menu ul.ir-menu__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  padding: 0 55px;
}
.ir-menu ul.ir-menu__nav a,
.ir-menu ul.ir-menu__nav span {
  text-decoration: none;
  display: block;
  padding: 10px;
}
.ir-menu ul.ir-menu__nav > li {
  position: relative;
}
.ir-menu ul.ir-menu__nav > li .dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  box-shadow: 0 0 0 1px #dbdce0 inset;
  list-style: none;
  padding: 0;
  margin: 0;
  white-space: nowrap;
  min-width: 200px;
  width: auto;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.7s linear;
  z-index: 1000;
}
.ir-menu ul.ir-menu__nav > li .dropdown li {
  border-bottom: 1px solid #dbdce0;
}
.ir-menu ul.ir-menu__nav > li.has-dropdown.open > a,
.ir-menu ul.ir-menu__nav > li.has-dropdown.open span {
  color: #143894;
}
.ir-menu ul.ir-menu__nav > li.has-dropdown.open .dropdown {
  max-height: 500px;
}
.ir-menu__toggle {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
}
.news-filter {
  max-width: 90%;
  margin: 0 auto;
}
.news-filter .container {
  background: #f7f7f7;
  max-width: none;
  border-radius: 20px;
  padding: 30px 10%;
}
.news-filter input[type='checkbox'] + span::before,
.news-filter input[type='radio'] + span::before {
  background: #fff;
  border: 1px solid #dbdce0;
  top: 0.3em;
}
.news-filter input[type='checkbox'] + span::after,
.news-filter input[type='radio'] + span::after {
  top: 9px;
}
.news-filter input[type='checkbox']:checked + span::before,
.news-filter input[type='radio']:checked + span::before {
  background: #143894;
}
.news-filter p {
  text-align: center;
  font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
}
.news-filter dl {
  display: flex;
  gap: 20px;
  margin-top: 1rem;
}
.news-filter dl dt {
  flex: 0 0 10rem;
  text-align: right;
}
.news-filter dl dd select {
  background: #fff;
  border: 1px solid #dbdce0;
  padding: 0.5rem 1rem;
  min-width: 200px;
}
.news-filter dl dd label + label {
  margin-left: 20px;
}
.section-ttl {
  position: relative;
  text-align: center;
  padding: 0 0 1em;
  font-size: clamp(2.5rem, 1.579rem + 1.77vw, 3.125rem);
  color: #143894;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin: 0 0 3rem;
}
.section-ttl::after {
  content: '';
  width: 40px;
  height: 1px;
  background: #143894;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.ir-gr h2 {
  font-size: clamp(1.063rem, 0.828rem + 0.63vw, 1.375rem);
  color: #143894;
  font-weight: bold;
  margin: 0 0 1rem;
}
.ir-gr h3 {
  background: #f7f7f7;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  margin: 2rem 0 0.5rem;
}
.ir-gr ul {
  margin: 0.5rem 0;
}
.ir-gr ul.latin {
  list-style-type: lower-latin;
  padding-left: 2rem;
}
.ir-gr .graph {
  text-align: center;
  margin: 0.5rem 0;
}
.ir-gr .graph img {
  max-width: 100%;
  height: auto;
}
.ir-gr table {
  margin: 0 auto 0.75rem;
  border-top: 1px solid #dbdce0;
  border-left: 1px solid #dbdce0;
}
.ir-gr table th,
.ir-gr table td {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #dbdce0;
  border-right: 1px solid #dbdce0;
}
.ir-gr table th {
  width: 360px;
}
.ir-kv {
  position: relative;
  height: 515px;
}
.ir-kv__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.ir-kv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.ir-kv__bg::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(20, 56, 148, 0.5);
}
.ir-kv .container {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.ir-kv .container h1 {
  color: #fff;
}
.ir-kv .container h1 span {
  display: block;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.ir-kv .container h1 span.en,
.ir-kv .container h1 span.date,
.ir-kv .container h1 span.home__copy,
.ir-kv .container h1 .terra-x dl dd ul li .title span.label,
.terra-x dl dd ul li .title .ir-kv .container h1 span.label,
.ir-kv .container h1 .service__scroll--wrap .item span.num,
.service__scroll--wrap .item .ir-kv .container h1 span.num,
.ir-kv .container h1 .survey-tl__soft h2 span.label,
.survey-tl__soft h2 .ir-kv .container h1 span.label,
.ir-kv .container h1 .survey-tl__case .service__case--article .thumb span.label,
.survey-tl__case .service__case--article .thumb .ir-kv .container h1 span.label,
.ir-kv .inspection__ut--header .container h1 .item .label span,
.inspection__ut--header .ir-kv .container h1 .item .label span,
.ir-kv .inspection__ut--header .container .item .label h1 span,
.inspection__ut--header .ir-kv .container .item .label h1 span,
.ir-kv .container h1 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .ir-kv .container h1 span,
.ir-kv .container h1 .lp2404-agree__item--ttl span.company-name,
.lp2404-agree__item--ttl .ir-kv .container h1 span.company-name {
  font-size: clamp(2rem, 1.25rem + 2vw, 3rem);
}
.ir-kv .container h1 span.ja {
  font-size: clamp(1.5rem, 1.125rem + 1vw, 2rem);
}
.ir-grid {
  margin: 4rem 0 0;
}
.ir-grid .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.ir-grid__ceo {
  display: flex;
  gap: 20px;
}
.ir-grid__ceo .thumb {
  flex: 0 0 30%;
  min-width: 120pxx;
}
.ir-grid__ceo .thumb img {
  width: 100%;
  height: auto;
  border-radius: 7px;
}
.ir-grid__ceo .description {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.25rem, 0.513rem + 1.41vw, 1.75rem);
}
.ir-grid__ceo .description::before,
.ir-grid__ceo .description::after {
  content: '';
  background: url('../images/dquote.svg') 0 0 no-repeat;
  background-size: 100% auto;
  width: 21px;
  height: 18px;
  display: block;
  position: absolute;
}
.ir-grid__ceo .description::before {
  left: 10px;
  top: 10px;
}
.ir-grid__ceo .description::after {
  right: 10px;
  bottom: 10px;
  transform: scale(-1, 1);
}
.ir-grid__know {
  height: calc(100% - 60px);
}
.ir-grid__know .description {
  background: url('../images/ir_home_grid_bg.svg') center center no-repeat;
  background-size: auto 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.25rem, 0.513rem + 1.41vw, 1.75rem);
  text-align: center;
  line-height: 1.5;
}
.ir-ir__footer {
  padding: 3rem 0 0;
  margin-bottom: -3rem;
}
.ir-ir__footer ul {
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.ir-ir__footer ul li a {
  width: 240px;
  line-height: 1;
  padding: 1.2rem 0;
  margin: 0;
}
.ir-news .news-list {
  max-width: 1080px;
  margin: 0 auto;
}
.ir-news .news-list__footer {
  margin: 2rem 0 0;
}
.finance-block h2 {
  margin: 0 0 1rem;
  font-weight: bold;
}
.finance-block__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.finance-block__grid .item h3 {
  color: #143894;
  font-size: clamp(1.25rem, 1.063rem + 0.5vw, 1.5rem);
  font-weight: bold;
  margin: 0 0 0.75rem;
}
.finance-block__grid .item img {
  width: 100%;
  height: auto;
}
.ir-library__latest--header {
  position: relative;
  padding: 0 0 0.5rem;
  margin: -5px 0 1rem;
}
.ir-library__latest--header h2 {
  color: #143894;
  font-size: clamp(1.5rem, 1.125rem + 1vw, 2rem);
  border-bottom: 1px solid #dbdce0;
}
.ir-library__latest--header a.btn {
  position: absolute;
  right: 0;
  top: 50%;
  width: auto;
  line-height: 1;
  margin: 0;
  padding: 0.5rem 20px;
  font-size: clamp(0.875rem, 0.691rem + 0.35vw, 1rem);
  transform: translate(0, -50%);
}
.ir-library__latest--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1080px;
  margin: 30px auto 0;
}
.ir-library__latest--grid .ir-card {
  background: #f4f9fd;
}
.ir-library__latest--grid .ir-card__header h3 {
  color: #143894;
  font-weight: 600;
}
.ir-library__latest--grid .ir-card__body a.btn {
  margin: 10px auto 0;
  line-height: 1;
  padding: 1rem 20px;
  font-size: clamp(1rem, 0.816rem + 0.35vw, 1.125rem);
}
.ir-library__report .container {
  max-width: 1180px;
}
.ir-library__report--filter {
  background: #f4f9fd;
  padding: 1rem;
  border-radius: 10px;
  margin: 0 0 2rem;
}
.ir-library__report--filter select {
  border: 1px solid #dbdce0;
  padding: 0.5rem 1rem;
  background: #fff;
}
.ir-library__report--list + .ir-library__report--list {
  margin-top: 4rem;
}
.ir-library__report--list h2 {
  font-size: clamp(1.063rem, 0.828rem + 0.63vw, 1.375rem);
  color: #143894;
  font-weight: bold;
}
.ir-library__report--list dl {
  border-bottom: 1px solid #dbdce0;
}
.ir-library__report--list dl dt,
.ir-library__report--list dl dd {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.ir-investor__nav {
  margin: 40px 0 20px;
}
.ir-investor__nav ol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.ir-investor__nav ol li a {
  background: #f4f9fd;
  border-radius: 10px;
  padding: 1rem 1.5rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 20px;
}
.ir-investor__nav ol li a .num {
  flex: 0 0 45px;
  height: 45px;
  border: 1px solid #143894;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  border-radius: 50%;
  font-size: clamp(1.25rem, 0.697rem + 1.06vw, 1.625rem);
  line-height: 1;
}
.ir-investor__nav ol li a .label {
  color: #111;
}
.ir-investor__more {
  margin: 0 0 3rem;
  text-align: right;
}
.ir-investor__more a {
  display: inline-block;
  background: #143894;
  color: #fff;
  text-decoration: none;
  padding: 2px 15px;
  border-radius: 5px;
}
.ir-investor__more a:hover {
  background: rgb(16.9642857143, 47.5, 125.5357142857);
}
.ir-investor__story--body {
  display: flex;
  align-items: center;
  gap: 60px;
}
.ir-investor__story--body .thumb {
  flex: 0 0 50%;
  max-width: 560px;
}
.ir-investor__story--body .description {
  flex: 1;
}
.ir-investor__story--body .description h3 .en,
.ir-investor__story--body .description h3 .date,
.ir-investor__story--body .description h3 .home__copy,
.ir-investor__story--body .description h3 .home__biz h2,
.home__biz .ir-investor__story--body .description h3 h2,
.ir-investor__story--body .description h3 .terra-x dl dt,
.terra-x dl .ir-investor__story--body .description h3 dt,
.ir-investor__story--body .description h3 .terra-x dl dd ul li .title .label,
.terra-x dl dd ul li .title .ir-investor__story--body .description h3 .label,
.ir-investor__story--body .description h3 .service__scroll--wrap .item .num,
.service__scroll--wrap .item .ir-investor__story--body .description h3 .num,
.ir-investor__story--body .survey-tl__lineup--item .item-header .description h3 h3,
.survey-tl__lineup--item .item-header .ir-investor__story--body .description h3 h3,
.ir-investor__story--body .description h3 .survey-tl__soft h2 .label,
.survey-tl__soft h2 .ir-investor__story--body .description h3 .label,
.ir-investor__story--body .description h3 .survey-tl__case .service__case--article .thumb .label,
.survey-tl__case .service__case--article .thumb .ir-investor__story--body .description h3 .label,
.ir-investor__story--body .description h3 .survey-ict__feature--support .support__job ol li::before,
.survey-ict__feature--support .support__job ol .ir-investor__story--body .description h3 li::before,
.ir-investor__story--body .description h3 .inspection__ut--header .container .item .label span,
.inspection__ut--header .container .item .label .ir-investor__story--body .description h3 span,
.ir-investor__story--body .description h3 .agri__do dl dt,
.agri__do dl .ir-investor__story--body .description h3 dt,
.ir-investor__story--body .description h3 .utm__group--item .item-case-header span,
.utm__group--item .item-case-header .ir-investor__story--body .description h3 span,
.ir-investor__story--body .description h3 .oversea__map ul.point li dl dt,
.oversea__map ul.point li dl .ir-investor__story--body .description h3 dt,
.ir-investor__story--body .description h3 .recruit__terraway h2,
.recruit__terraway .ir-investor__story--body .description h3 h2,
.ir-investor__story--body .description .recruit__terraway--pulse .terra-x dl dd ul li h3 .title span.label,
.recruit__terraway--pulse .terra-x dl dd ul li .ir-investor__story--body .description h3 .title span.label,
.ir-investor__story--body .description .terra-x dl dd .recruit__terraway--pulse ul li h3 .title span.label,
.terra-x dl dd .recruit__terraway--pulse ul li .ir-investor__story--body .description h3 .title span.label,
.ir-investor__story--body .description .recruit__terraway--pulse .terra-x dl dd ul li .title h3 span.label,
.ir-investor__story--body .description .terra-x dl dd .recruit__terraway--pulse ul li .title h3 span.label,
.ir-investor__story--body .description .service__scroll--wrap .item .recruit__terraway--pulse ul li h3 span.num,
.ir-investor__story--body .description .survey-tl__soft h2 .recruit__terraway--pulse ul li h3 span.label,
.ir-investor__story--body
  .description
  .survey-tl__case
  .service__case--article
  .thumb
  .recruit__terraway--pulse
  ul
  li
  h3
  span.label,
.ir-investor__story--body
  .description
  .inspection__ut--header
  .container
  .item
  .label
  .recruit__terraway--pulse
  ul
  li
  h3
  span,
.ir-investor__story--body .description .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
.ir-investor__story--body .description h3 .recruit__policy--header h2,
.recruit__policy--header .ir-investor__story--body .description h3 h2,
.ir-investor__story--body .description h3 .recruit__policy--cross dl dt,
.recruit__policy--cross dl .ir-investor__story--body .description h3 dt,
.ir-investor__story--body .description h3 .lp2404-agree__item--ttl .company-name,
.lp2404-agree__item--ttl .ir-investor__story--body .description h3 .company-name,
.ir-investor__story--body .description .lp2404-agree__item--ttl .recruit__terraway--pulse ul li h3 span.company-name {
  display: block;
  color: #143894;
  font-size: clamp(2.25rem, 1.145rem + 2.12vw, 3rem);
}
.ir-investor__story--body .description h3 .ja {
  display: block;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
}
.ir-investor__story--footer {
  margin: 2.5rem 0 0;
}
.ir-investor__story--footer .name {
  font-weight: bold;
  margin: 0 0 0.5rem;
}
.ir-investor__story--footer .name span {
  font-size: 0.85em;
  font-weight: normal;
  margin-left: 10px;
}
.ir-investor__history--timeline {
  overflow-x: scroll;
  margin: 0 0 4rem;
}
.ir-investor__history--timeline .inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 0 40px;
}
.ir-investor__history--market h3 {
  margin: 0 0 2rem;
}
.ir-investor__history--market h3 span {
  display: block;
  background: #6a83b8;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  width: 180px;
}
.ir-investor__history--market-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.ir-investor__history--market-column dl + dl {
  margin: 1rem 0 0;
}
.ir-investor__history--market-column dl dt {
  position: relative;
}
.ir-investor__history--market-column dl dt::before {
  content: '';
  width: 100%;
  height: 1px;
  background: #143894;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.ir-investor__history--market-column dl dt span {
  position: relative;
  background: #fff;
  padding: 0 10px 0 0;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  color: #143894;
  line-height: 1;
}
.ir-investor__biz--lead {
  text-align: center;
  margin-top: -2rem;
}
.ir-investor__biz--body {
  margin: 2rem 0;
  padding: 0 40px;
  text-align: center;
}
.ir-investor__biz--body picture {
  display: block;
  width: 100%;
}
.ir-investor__biz--body img {
  max-width: 100%;
  height: auto;
}
.ir-investor__number--body {
  background: #f4f9fd;
  padding: 40px 0;
}
.ir-investor__number--cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 1行目は3列 */
  grid-template-rows: auto auto; /* 2行の自動サイズ調整 */
  border-radius: 10px;
  gap: 10px;
}
.ir-investor__number--cards [class^='card'] {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
}
.ir-investor__number--cards dl + dl {
  margin: 1rem 0 0;
}
.ir-investor__number--cards dl dt {
  font-weight: normal;
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
  margin: 0 0 0.5rem;
  line-height: 1.5;
}
.ir-investor__number--cards dl dd {
  font-size: clamp(1rem, 0.632rem + 0.71vw, 1.25rem);
}
.ir-investor__number--cards dl dd b {
  font-size: clamp(2.25rem, 1.145rem + 2.12vw, 3rem);
  line-height: 1;
  color: #143894;
  margin: 0 0.05em;
}
.ir-investor__number--cards dl dd sup {
  top: -1.5em;
}
.ir-investor__number--cards small {
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
}
.ir-investor__number--cards .thumb img {
  max-width: 100%;
  height: auto;
}
.ir-investor__number--cards .card1 {
  grid-column: 1/2; /* 1行目1列目 */
  grid-row: 1/2;
  display: flex;
  align-items: center;
}
.ir-investor__number--cards .card1 .description {
  flex: 1;
  padding: 0 20px;
}
.ir-investor__number--cards .card1 .thumb {
  flex: 1;
}
.ir-investor__number--cards .card2 {
  grid-column: 2/3; /* 1行目2列目 */
  grid-row: 1/2;
  text-align: center;
}
.ir-investor__number--cards .card2 .description {
  margin: 0 0 1rem;
}
.ir-investor__number--cards .card3 {
  grid-column: 3/4; /* 1行目3列目 */
  grid-row: 1/2;
  text-align: center;
}
.ir-investor__number--cards .card3 .description {
  margin: 0 0 1rem;
}
.ir-investor__number--cards .card4 {
  grid-column: 1/4; /* 2行目全体（1列） */
  grid-row: 2/3;
}
.ir-investor__number--cards .card4 h4 {
  margin: 0 15px 20px;
}
.ir-investor__number--cards .card4 .col {
  display: flex;
  align-items: center;
}
.ir-investor__number--cards .card4 .col .thumb {
  flex: 1;
  text-align: center;
}
.ir-investor__number--cards .card4 .col .description {
  flex: 0 0 240px;
  text-align: center;
}
.ir-investor__number--notes {
  margin: 1rem 0 0;
  font-size: clamp(0.813rem, 0.536rem + 0.53vw, 1rem);
  letter-spacing: 0;
}
.ir-investor__number--notes ul li + li {
  margin: 0.2rem 0 0;
}
.ir-investor__number--notes ul li ul {
  margin: 0.2rem 0 0 1rem;
}
.ir-investor__number--notes ul li dl {
  display: flex;
  gap: 5px;
}
.ir-investor__number--notes ul li dl dt {
  font-weight: normal;
}
.ir-investor__number--notes ul li dl dd {
  flex: 1;
}
.ir-investor__market p,
.ir-investor__growth p {
  text-align: center;
}
.ir-investor__market article,
.ir-investor__growth article {
  margin-top: 5rem;
}
.ir-investor__market article:first-of-type,
.ir-investor__growth article:first-of-type {
  margin-top: 3rem;
}
.ir-investor__market article h3,
.ir-investor__growth article h3 {
  position: relative;
  color: #143894;
  font-weight: bold;
  font-size: clamp(1.25rem, 0.697rem + 1.06vw, 1.625rem);
  text-align: center;
  margin: 0 0 2rem;
}
.ir-investor__market article h3::after,
.ir-investor__growth article h3::after {
  content: '';
  width: 50px;
  height: 2px;
  display: block;
  background: #143894;
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translate(-50%, 0);
}
.ir-investor__market article p,
.ir-investor__growth article p {
  color: #143894;
  font-weight: bold;
}
.ir-investor__market article .graph,
.ir-investor__growth article .graph {
  text-align: center;
  margin: 1rem 0 0;
}
.ir-message {
  background: #f4f9fd;
  padding: 4rem 0;
}
.ir-message .container {
  /*
  display: flex;
  align-items: center;
  gap: 60px;
  */
}
.ir-message .container .thumb {
  float: left;
  margin: 0 60px 60px 0;
}
.ir-message .container .thumb img {
  width: 100%;
  max-width: 390px;
  height: auto;
  border-radius: 20px;
}
.ir-message .container .description {
  flex: 1;
}
.ir-message .container .description h2 {
  font-size: clamp(1.125rem, 0.572rem + 1.06vw, 1.5rem);
  font-weight: bold;
  color: #143894;
  line-height: 1.8;
  margin: 0 0 2rem;
}
.ir-message__footer {
  margin: 2rem 0 0;
  font-size: clamp(0.813rem, 0.352rem + 0.88vw, 1.125rem);
  background: #fff;
  padding: 2rem;
}
.ir-message__footer .sign {
  font-weight: bold;
}
.ir-message__footer .sign small {
  margin-left: 1rem;
  font-weight: normal;
}
.ir-faq .container {
  max-width: 1080px;
}
.ir-faq dl {
  border-bottom: 1px solid #dbdce0;
}
.ir-faq dl:first-of-type {
  border-top: 1px solid #dbdce0;
}
.ir-faq dl dt {
  position: relative;
  padding: 1rem 2rem 0;
}
.ir-faq dl dt::before {
  content: 'Q';
  color: #143894;
  font-family: avenir, 'Roboto', helvetica, arial, sans-serif;
  font-size: 1.1em;
  position: absolute;
  left: 0;
}
.ir-faq dl dd {
  padding: 0.3rem 0.3rem 1rem;
}
@media screen and (min-width: 600px) and (max-width: 833px) {
  .br-xs {
    display: block;
  }
}
@media screen and (min-width: 834px) and (max-width: 1079px) {
  .br-sm {
    display: block;
  }
}
@media screen and (min-width: 1080px) and (max-width: 1179px) {
  .br-md {
    display: block;
  }
}
@media screen and (min-width: 1081px) {
  .co-header__menu {
    display: flex !important;
  }
}
@media screen and (min-width: 1180px) and (max-width: 1399px) {
  .br-lg {
    display: block;
  }
}
@media screen and (min-width: 1400px) {
  .br-xl {
    display: block;
  }
}
@media screen and (max-width: 1400px) {
  .survey-measure__index--box .item-body dl {
    display: block;
  }
  .survey-measure__index--box .item-body dl dt {
    display: flex;
    gap: 30px;
  }
  .survey-measure__index--box .item-body dl dd {
    margin: 1em 0 0;
  }
  .survey-measure__index--box .item-body dl dd ul {
    display: flex;
    justify-content: center;
  }
  .survey-measure__index--box .item-body dl dd ul li {
    flex: 1;
    max-width: 280px;
  }
  .media__list--new ul {
    gap: 40px;
  }
  .ir-menu ul.ir-menu__nav {
    gap: 10px;
    padding: 0 30px;
  }
}
@media screen and (min-width: 600px) and (max-width: 833px) {
  .br-xs {
    display: block;
  }
}
@media screen and (min-width: 834px) and (max-width: 1079px) {
  .br-sm {
    display: block;
  }
}
@media screen and (min-width: 1080px) and (max-width: 1179px) {
  .br-md {
    display: block;
  }
}
@media screen and (min-width: 1081px) {
  .co-header__menu {
    display: flex !important;
  }
}
@media screen and (min-width: 1180px) and (max-width: 1399px) {
  .br-lg {
    display: block;
  }
}
@media screen and (min-width: 1400px) {
  .br-xl {
    display: block;
  }
}
@media screen and (max-width: 1400px) {
  .survey-measure__index--box .item-body dl {
    display: block;
  }
  .survey-measure__index--box .item-body dl dt {
    display: flex;
    gap: 30px;
  }
  .survey-measure__index--box .item-body dl dd {
    margin: 1em 0 0;
  }
  .survey-measure__index--box .item-body dl dd ul {
    display: flex;
    justify-content: center;
  }
  .survey-measure__index--box .item-body dl dd ul li {
    flex: 1;
    max-width: 280px;
  }
  .media__list--new ul {
    gap: 40px;
  }
}
@media screen and (max-width: 1180px) {
  .co-header {
    padding: 0 30px;
  }
  .co-header__logo img {
    width: 220px;
  }
  .co-footer {
    padding: 3em 3em 10em;
  }
  .co-footer__box {
    display: block;
  }
  .co-footer__contact {
    max-width: 260px;
    margin: 3em auto 0;
    text-align: center;
  }
  .page-kv {
    height: 400px;
  }
  .breadcrumb {
    padding-left: 30px;
    padding-right: 30px;
  }
  .home__primary--bg img {
    bottom: -200px;
  }
  .terra-x dl dd ul li {
    padding: 20px;
  }
  .home__install dl {
    display: block;
  }
  .home__install dl dt {
    text-align: center;
    margin: 0 0 2em;
  }
  .home__install dl dt br {
    display: none;
  }
  .home__install dl dd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .service__scroll--wrap {
    gap: 50px;
  }
  .service__scroll--wrap .item {
    flex: 0 0 480px;
    padding: 3.5em;
  }
  .service-survey__list .container {
    max-width: 1180px;
  }
  .service-survey__list ul {
    gap: 70px;
  }
  .survey-ict__feature--support--flex {
    gap: 30px;
  }
  .survey-ict__feature--support .support__flow ol li {
    width: 300px;
  }
  .survey-ict__feature--support .support__flow ol li::before {
    border-width: 30px 150px 0;
  }
  .survey-ict__feature--support .support__flow ol li::after {
    border-width: 30px 150px 0;
  }
  .survey-ict__feature--support .support__job {
    gap: 30px;
  }
  .inspection__ut--facility {
    margin: 4em 0;
  }
  .inspection__ut--facility .container {
    display: block;
  }
  .inspection__ut--facility .container h3 {
    text-align: center;
    margin: 0 0 1.5em;
  }
  .agri__benefit ul {
    gap: 35px;
  }
  .agri__benefit ul li {
    padding: 10px 20px 20px;
  }
  .media__list .container {
    padding: 0 3vw;
  }
  .ir-ss__history--timeline .inner {
    max-width: 1100px;
  }
}
@media screen and (max-width: 1180px) {
  .co-header {
    padding: 0 30px;
  }
  .co-header__logo img {
    width: 220px;
  }
  .co-footer {
    padding: 3em 3em 10em;
  }
  .co-footer__box {
    display: block;
  }
  .co-footer__contact {
    max-width: 260px;
    margin: 3em auto 0;
    text-align: center;
  }
  .page-kv {
    height: 400px;
  }
  .breadcrumb {
    padding-left: 30px;
    padding-right: 30px;
  }
  .home__primary--bg img {
    bottom: -200px;
  }
  .terra-x dl dd ul li {
    padding: 20px;
  }
  .home__install dl {
    display: block;
  }
  .home__install dl dt {
    text-align: center;
    margin: 0 0 2em;
  }
  .home__install dl dt br {
    display: none;
  }
  .home__install dl dd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .service__scroll--wrap {
    gap: 50px;
  }
  .service__scroll--wrap .item {
    flex: 0 0 480px;
    padding: 3.5em;
  }
  .service-survey__list .container {
    max-width: 1180px;
  }
  .service-survey__list ul {
    gap: 70px;
  }
  .survey-ict__feature--support--flex {
    gap: 30px;
  }
  .survey-ict__feature--support .support__flow ol li {
    width: 300px;
  }
  .survey-ict__feature--support .support__flow ol li::before {
    border-width: 30px 150px 0;
  }
  .survey-ict__feature--support .support__flow ol li::after {
    border-width: 30px 150px 0;
  }
  .survey-ict__feature--support .support__job {
    gap: 30px;
  }
  .inspection__ut--facility {
    margin: 4em 0;
  }
  .inspection__ut--facility .container {
    display: block;
  }
  .inspection__ut--facility .container h3 {
    text-align: center;
    margin: 0 0 1.5em;
  }
  .agri__benefit ul {
    gap: 35px;
  }
  .agri__benefit ul li {
    padding: 10px 20px 20px;
  }
  .media__list .container {
    padding: 0 3vw;
  }
  .ir-ss__history--timeline .inner {
    max-width: 1100px;
  }
  .ir-investor__history--timeline .inner {
    max-width: 1100px;
  }
}
@media (max-width: 1100px) {
  .member_single .item_top .inner .first_contents .text_block .text_head {
    padding: 4em 0;
  }
  .member_single .item_top .inner .first_contents .text_block .text_head h2 {
    font-size: 3em;
  }
  .member_single .item_top .inner .first_contents .img_block {
    max-width: 480px;
  }
  .recruit-kv-copy {
    right: 17vw;
  }
}
@media screen and (max-width: 1080px) {
  #wrapper {
    width: 1080px;
  }
  .co-header {
    height: 100px;
  }
  .co-header__logo {
    position: relative;
    z-index: 1;
    margin-right: auto;
  }
  .co-header__menu {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #fff;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    height: 100vh;
    justify-content: center;
    align-items: flex-start;
    padding-top: 120px;
    display: none;
    overflow: scroll;
  }
  .co-header__menu .inner {
    height: auto;
    margin: 0 auto;
    background: #fff;
    width: clamp(335px, 80vw, 80vw);
  }
  .co-header__menu .inner > ul {
    height: auto;
    display: block;
    border-top: 1px solid #dbdce0;
  }
  .co-header__menu .inner > ul > li {
    border-bottom: 1px solid #dbdce0;
    padding: 0;
  }
  .co-header__menu .inner > ul > li.has-mega-menu > a {
    position: relative;
  }
  .co-header__menu .inner > ul > li.has-mega-menu > a::before,
  .co-header__menu .inner > ul > li.has-mega-menu > a::after {
    content: '';
    width: 20px;
    height: 1px;
    background: #737373;
    display: block;
    position: absolute;
  }
  .co-header__menu .inner > ul > li.has-mega-menu > a::before {
    right: 10px;
    transform: rotate(90deg);
    opacity: 1;
    transition: all 0.2s ease;
  }
  .co-header__menu .inner > ul > li.has-mega-menu > a::after {
    right: 10px;
  }
  .co-header__menu .inner > ul > li.has-mega-menu > a.open::before {
    opacity: 0;
  }
  .co-header__menu .inner > ul > li > a {
    font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
    padding: 3rem 0;
  }
  .co-header__menu .inner > ul > li > a span::after {
    display: none;
  }
  .co-header__menu__mega {
    position: relative;
    padding: 20px 0;
  }
  .co-header__menu__mega dl {
    display: block;
  }
  .co-header__menu__mega dl dt {
    font-size: clamp(1.125rem, 0.941rem + 0.35vw, 1.25rem);
    margin: 0 0 10px;
  }
  .co-header__menu__mega dl dd ul {
    grid-template-columns: 1fr 1fr;
  }
  .co-header .nav-toggle {
    display: flex;
  }
  .home__cross {
    padding: 4em 0;
    display: block;
  }
  .home__cross--img {
    max-width: none;
    margin: 5rem 0;
    text-align: center;
  }
  .terra-x dl {
    display: block;
    border: none;
  }
  .terra-x dl dt {
    text-align: center;
    border-bottom: 1px solid #cce6ff;
    padding: 0;
    max-width: none;
  }
  .icon-service {
    transform: scale(0.9);
  }
  .home__service {
    padding: 15px 10px;
  }
  .service__col .container {
    gap: 30px;
  }
  .service__case--article {
    gap: 40px;
  }
  .service__case--article a {
    gap: 40px;
  }
  .service__faq .container {
    gap: 60px;
  }
  .service__scroll--wrap {
    gap: 40px;
  }
  .service__scroll--wrap .item {
    padding: 3em;
  }
  .service__field {
    margin-top: 6em;
  }
  .service__field--card {
    grid-template-columns: 1fr 45%;
  }
  .service-survey__list ul {
    gap: 50px;
  }
  .service-survey__list ul li a .thumb {
    height: 280px;
  }
  .survey-tl__kv--nav ul {
    gap: 20px;
  }
  .survey-tl__kv--nav ul li a {
    min-width: 160px;
  }
  .survey-tl__lineup--item .item-header {
    display: block;
  }
  .survey-tl__lineup--item .item-header .thumb {
    text-align: center;
  }
  .survey-tl__lineup--item .item-header .description h3 {
    text-align: center;
  }
  .survey-tl__lineup--item .item-spec > dl > dt {
    flex: 0 0 70px;
  }
  .survey-tl__soft--cloud {
    gap: 25px;
  }
  .survey-tl__soft--cloud .item {
    padding: 1.5em;
  }
  .utm__bredge img {
    width: auto;
    height: 130%;
  }
  .news__col {
    grid-template-columns: 240px 1fr;
  }
  .news__col--list .news-list__item a {
    display: block;
  }
  .news__col--list .news-list__item a .headline {
    margin: 1em 0 0;
  }
  .media__list--new ul {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    row-gap: 60px;
  }
  .media__list--new ul li:first-child {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .media__category ul {
    gap: 30px;
  }
  .recruit-kv-slide {
    height: 400px;
  }
  .recruit-kv-slide img {
    height: 400px;
  }
  .recruit__open ul {
    gap: 30px;
  }
  .case__list ul {
    gap: 30px;
  }
  .lp2404-mv__video {
    width: 95%;
  }
  .ir-ss__history--timeline .inner {
    max-width: 1000px;
  }
  .ir-menu {
    min-height: 40px;
  }
  .ir-menu ul.ir-menu__nav {
    display: none;
    opacity: 0;
    transition: all 0.4s ease;
  }
  .ir-menu ul.ir-menu__nav.active {
    display: block;
    position: absolute;
    z-index: 9;
    left: 0;
    top: 40px;
    background: #f7f7f7;
    width: 100%;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
    padding: 0;
    opacity: 1;
  }
  .ir-menu ul.ir-menu__nav.active > li {
    border-top: 1px solid #fff;
  }
  .ir-menu ul.ir-menu__nav.active a,
  .ir-menu ul.ir-menu__nav.active span {
    padding-left: 20px;
    padding-right: 20px;
  }
  .ir-menu ul.ir-menu__nav.active .dropdown {
    position: static;
    height: auto;
    max-height: none;
    background: #fff;
    margin: 0 20px;
  }
  .ir-menu ul.ir-menu__nav.active + .ir-menu__toggle button::before {
    transform: translate(calc(-50% - 6px), -50%) rotate(-40deg);
  }
  .ir-menu ul.ir-menu__nav.active + .ir-menu__toggle button::after {
    transform: translate(calc(-50% + 6px), -50%) rotate(40deg);
  }
  .ir-menu__toggle {
    display: block;
    width: 100%;
  }
  .ir-menu__toggle button {
    position: relative;
    width: 100%;
    height: 40px;
  }
  .ir-menu__toggle button::before,
  .ir-menu__toggle button::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 1px;
    transition: all 0.3s ease;
    border-radius: 1px;
    background-color: #727171;
    position: absolute;
    top: 50%;
    left: 50%;
  }
  .ir-menu__toggle button::before {
    transform: translate(calc(-50% - 6px), -50%) rotate(40deg);
  }
  .ir-menu__toggle button::after {
    transform: translate(calc(-50% + 6px), -50%) rotate(-40deg);
  }
  .ir-library__latest--grid .ir-headline dl {
    display: block;
  }
  .ir-investor__history--timeline .inner {
    max-width: 1000px;
  }


  .entry__btn-item {
    max-width: 20.125rem;
  }
  .entry__btn-item + .entry__btn-item {
    margin-left: 1.75rem;

  }
  .entry__btn {
    font-size: 1.25rem;
  }
  .recruit-people-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 834px) {
  #app {
    min-width: auto;
  }
  #wrapper {
    width: auto;
  }
  .br-pc {
    display: none;
  }
  .co-header {
    height: 80px;
    padding: 0 20px;
  }
  .co-footer {
    margin-top: 7em;
    padding-top: 2em;
  }
  .co-footer__logo {
    margin-bottom: 2em;
  }
  .co-footer__logo img {
    width: 250px;
  }
  .co-footer__nav {
    grid-template-columns: 1fr;
    margin: 0 -3em;
    gap: 0;
  }
  .co-footer__nav--col {
    border-top: 1px solid #0f0f57;
    padding: 1.5em 3em;
  }
  .co-footer__nav--col dl {
    display: grid;
    grid-template-columns: 10rem 1fr;
  }
  .co-footer__nav--col dl + dl {
    margin-top: 15px;
  }
  .co-footer__nav--col dl dt {
    margin: 0;
  }
  .co-footer__nav--col dl dd ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .page-kv {
    height: 330px;
  }
  .breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
  }
  .breadcrumb {
    font-size: 1.1rem;
    padding-left: 15px;
    padding-right: 15px;
  }
  .recruit-banner .container {
    display: block;
  }
  .recruit-banner__cover {
    margin: 0 -40px 2em;
  }
  .recruit-banner__cover img {
    height: 340px;
    border-radius: 0;
  }
  .recruit-banner__copy {
    padding: 0 0 1em;
  }
  .recruit-banner a.btn {
    margin-left: auto;
  }
  .modal__director .container {
    display: block;
  }
  .modal__director--pic {
    text-align: center;
  }
  .modal__director--info {
    margin: 2rem 0 0;
  }
  .modal__director--info .kana,
  .modal__director--info h3,
  .modal__director--info .pos {
    text-align: center;
  }
  .modal__director--info .description {
    margin: 1.5rem 0 0;
  }
  .mv__main--video .video-mask {
    height: auto !important;
  }
  .mv__copy {
    padding-right: 40px;
  }
  .mv__scroll {
    display: none;
  }
  .terra-x dl dd ul {
    grid-template-columns: 1fr 1fr;
  }
  .home__result {
    height: auto;
    padding-bottom: 50px;
  }
  .home__result .container {
    margin: 0 0 40px;
    grid-template-columns: 1fr;
  }
  .home__result--item {
    margin-top: 40px;
  }
  .home-title {
    margin: 0 0 2em;
  }
  .home__news .container {
    display: block;
  }
  .home__news--body {
    margin: 0;
  }
  .home__news--more a.btn {
    margin: 0 auto;
  }
  .home__ir {
    padding: 2.5em 0;
  }
  .home__ir .container {
    display: block;
  }
  .home__ir--header {
    display: flex;
    margin: 0;
  }
  .home__ir--link {
    margin: 0 0 0 40px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .home__ir--link a {
    margin: 10px;
  }
  .home__media--body ul li:first-child {
    padding-left: 30px;
  }
  .home__media--body ul li:last-child {
    padding-right: 30px;
  }
  .home__media--footer a.btn {
    margin: 0 auto;
  }
  .service__problem--col {
    margin: 0 -20px;
  }
  .service__problem--col .item .icon img {
    width: 130px;
    height: auto;
  }
  .service__col .container .thumb {
    flex: 0 0 40%;
  }
  .service__case {
    padding: 2em 0 4em;
  }
  .service__case--article {
    gap: 30px;
  }
  .service__case--article + .service__case--article {
    margin: 4em 0 0;
  }
  .service__case--article a {
    gap: 30px;
  }
  .service__faq .container {
    gap: 40px;
  }
  .service__scroll--wrap {
    gap: 30px;
  }
  .service__scroll--wrap .item {
    flex: 0 0 400px;
    padding: 2.5em;
  }
  .service__mission h2 span.en,
  .service__mission h2 .lp2404-agree__item--ttl span.company-name,
  .lp2404-agree__item--ttl .service__mission h2 span.company-name,
  .service__mission .lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
  .service__mission h2 .recruit__terraway--pulse ul li h3 span.en,
  .recruit__terraway--pulse ul li h3 .service__mission h2 span.en,
  .service__mission h2 .recruit__terraway--pulse ul li h3 span.date,
  .recruit__terraway--pulse ul li h3 .service__mission h2 span.date,
  .service__mission h2 .recruit__terraway--pulse ul li h3 span.home__copy,
  .recruit__terraway--pulse ul li h3 .service__mission h2 span.home__copy,
  .service__mission h2 .utm__group--item .item-case-header span,
  .utm__group--item .item-case-header .service__mission h2 span,
  .service__mission .utm__group--item .item-case-header .service__faq--header h2 span,
  .service__mission h2 .inspection__ut--header .container .item .label span,
  .inspection__ut--header .container .item .label .service__mission h2 span,
  .service__mission h2 .survey-tl__case .service__case--article .thumb span.label,
  .survey-tl__case .service__case--article .thumb .service__mission h2 span.label,
  .service__mission .survey-tl__soft h2 span.label,
  .survey-tl__soft .service__mission h2 span.label,
  .service__mission h2 span.date,
  .service__mission h2 span.home__copy,
  .service__mission h2 .terra-x dl dd ul li .title span.label,
  .terra-x dl dd ul li .title .service__mission h2 span.label,
  .service__mission h2 .service__scroll--wrap .item span.num,
  .service__scroll--wrap .item .service__mission h2 span.num {
    font-size: clamp(2.25rem, 1.679rem + 2.86vw, 2.75rem);
    margin: 0 0 0.1em;
  }
  .service__mission p {
    text-align: justify;
  }
  .service__mission figure {
    margin: 3em 0 0;
  }
  .service__field {
    margin-top: 4em;
    margin-bottom: -7em;
  }
  .service__field--card {
    display: block;
    min-height: auto;
  }
  .service__field--card + .service__field--card {
    margin: 4em 0 0;
  }
  .service__field--card .thumb {
    height: auto;
    border-radius: 0;
  }
  .service__field--card .thumb-img {
    position: relative;
    height: 440px;
  }
  .service__field--card .description {
    padding: 1.5em 3em 3em 2em;
  }
  .service__field--card .description .icon-service {
    margin: 0 auto;
  }
  .service__field--card .description h3 {
    margin: 0 0 0.5em;
    text-align: center;
  }
  .service__field--card .description h3 small {
    display: block;
  }
  .service__field--card .description a.btn-more {
    margin: 1.5em auto 0;
  }
  .service-survey__list ul {
    grid-template-columns: 1fr;
  }
  .service-survey__list ul li a {
    max-width: 600px;
    margin: 0 auto;
  }
  .survey-tl__kv {
    padding: 30px 0 0;
    margin: 0 0 3em;
  }
  .survey-tl__kv--nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 40px;
  }
  .survey-tl__cv .container {
    display: block;
  }
  .survey-tl__cv .container p {
    text-align: center;
  }
  .survey-tl__cv .container a.btn {
    margin: 15px auto 0;
  }
  .survey-tl__benefit {
    margin-top: 6em;
  }
  .survey-tl__benefit .service__benefit--col .item {
    padding: 0 20px 2em;
  }
  .survey-tl__benefit .service__benefit--col .item .img img {
    width: 100%;
    height: auto;
  }
  .survey-tl__benefit .service__benefit--col .item .description {
    padding-top: 300px;
  }
  .survey-tl__benefit .service__benefit--col .item:nth-child(1) .img {
    top: 50px;
    left: 50px;
    right: 50px;
    width: calc(100% - 100px);
  }
  .survey-tl__benefit .service__benefit--col .item:nth-child(2) .img {
    top: 10px;
    left: 30px;
    right: 30px;
    width: calc(100% - 60px);
  }
  .survey-tl__soft--cloud {
    grid-template-columns: 1fr;
  }
  .survey-tl__soft--cloud .item {
    padding: 2em 1.5em;
    display: flex;
    align-items: center;
  }
  .survey-tl__soft--cloud .item .icon {
    flex: 0 0 240px;
    text-align: center;
  }
  .survey-tl__soft--cloud .item .description {
    flex: 1;
  }
  .survey-tl__soft--cloud .item .description h3 {
    margin: 0 0 0.25em;
    text-align: left;
  }
  .survey-tl__soft--mapper ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .survey-tl__case {
    padding: 2em 0;
  }
  .survey-tl__case .service__case--article {
    padding: 3em 0;
  }
  .survey-ict__feature--support--flex {
    display: block;
  }
  .survey-ict__feature--support .support__flow {
    overflow-x: scroll;
    margin-bottom: 1em;
  }
  .survey-ict__feature--support .support__flow ol {
    display: flex;
    gap: 25px;
  }
  .survey-ict__feature--support .support__flow ol li {
    flex: 0 0 140px;
    height: 100px;
  }
  .survey-ict__feature--support .support__flow ol li:first-child {
    border-radius: 10px 0 0 10px;
  }
  .survey-ict__feature--support .support__flow ol li:first-child::before {
    display: block;
  }
  .survey-ict__feature--support .support__flow ol li:first-child::after {
    display: none;
  }
  .survey-ict__feature--support .support__flow ol li + li {
    margin: 0;
  }
  .survey-ict__feature--support .support__flow ol li::before {
    top: 0;
    left: 100%;
    border-width: 50px 0 50px 20px;
    border-color: transparent #143894;
  }
  .survey-ict__feature--support .support__flow ol li::after {
    border-width: 50px 0 50px 20px;
    border-color: #143894 transparent;
    top: 0;
    bottom: auto;
    left: auto;
    right: 100%;
  }
  .survey-ict__feature--support .support__job--item {
    margin: 1em 0 0;
  }
  .survey-ict__feature--support .support__job--item + .support__job--item {
    padding: 2em 0 0;
    border-top: 1px solid #dbdce0;
  }
  .survey-bimcim__benefit {
    gap: 30px;
  }
  .survey-bimcim__benefit .item .illust {
    height: 200px;
  }
  .survey-bimcim__list ul {
    grid-template-columns: 1fr 1fr;
  }
  .survey-bimcim__part .service__part--body .container {
    display: block;
  }
  .survey-bimcim__part .service__part--body .container .thumb {
    margin: 0 auto 1em;
  }
  .inspection__ut--facility .container .facilities {
    gap: 60px;
  }
  .inspection__ut--facility .container .facilities dl {
    display: block;
    max-width: 335px;
  }
  .inspection__ut--facility .container .facilities dl dt {
    margin: 0 0 0.5em;
  }
  .inspection__type .service__col .container {
    padding: 3em 0;
  }
  .agri__benefit ul {
    grid-template-columns: 1fr;
  }
  .agri__benefit ul li {
    display: flex;
    gap: 40px;
    padding: 20px 40px;
  }
  .agri__benefit ul li .illust {
    flex: 1;
    max-width: 140px;
    height: auto;
  }
  .agri__benefit ul li .illust img {
    max-width: 100%;
    height: auto;
  }
  .agri__benefit ul li .description {
    flex: 1;
  }
  .agri__do dl {
    display: block;
  }
  .agri__do dl dt {
    text-align: center;
  }
  .utm__bredge {
    height: 350px;
  }
  .utm__group--item .item-header {
    display: block;
    margin: 0 0 1rem;
  }
  .utm__group--item .item-header .info h3 {
    margin-left: auto;
    margin-right: auto;
  }
  .utm__group--item .item-header .description a.btn {
    width: 200px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .utm__group--item .item-case-box {
    display: block;
  }
  .utm__group--item .item-case-box-logo {
    text-align: center;
    margin: 0 0 1em;
  }
  .news__col {
    display: block;
  }
  .news__col--side {
    margin: 0 0 1em;
  }
  .news__col--side--filter {
    display: block;
  }
  .news__col--side--item {
    display: none;
  }
  .company__agree .container {
    display: block;
  }
  .company__agree .container .thumb {
    max-width: 400px;
    margin: 2em auto 0;
  }
  .company__director ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
  }
  .media-kv {
    height: 300px;
  }
  .media-kv-inner {
    height: 300px;
  }
  .media-kv-inner h1 img {
    max-width: 320px;
  }
  .media__category ul {
    grid-template-columns: 1fr 1fr;
  }
  .recruit-kv-slide {
    height: 320px;
  }
  .recruit-kv-slide img {
    height: 320px;
  }
  .recruit-kv-copy {
    right: 17vw;
  }
  .recruit__open {
    padding: 2em 0 4em;
  }
  .recruit__open ul {
    grid-template-columns: 1fr 1fr;
  }
  .recruit__terraway--pulse ul {
    gap: 50px;
  }
  .recruit__policy--header {
    display: block;
  }
  .recruit__policy--header h2 {
    margin: 0 0 0.5em;
    text-align: center;
  }
  .recruit__policy--graphic .graphic {
    padding: 0;
    max-width: 400px;
    margin-bottom: 2em;
  }
  .recruit__policy--graphic ul {
    position: static;
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  .recruit__policy--graphic ul li {
    position: static;
    transform: translate(0, 0);
  }
  .case__cta {
    padding: 15px 0;
  }
  .case__list ul {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    row-gap: 50px;
  }
  .case__category--grid {
    grid-template-columns: 1fr;
  }
  .case__event .container {
    display: block;
  }
  .case__event--body {
    margin: 1em 0 0;
  }
  .case__event--item .thumb {
    flex: 0 0 300px;
  }
  .lp2404-mv__video {
    width: 100%;
  }
  .lp2404-mv__video video,
  .lp2404-mv__video .video-mask {
    clip-path: inset(0 0 0% 0% round 0 0 0 0);
  }
  .lp2404-agree {
    padding: 4em 0;
  }
  .lp2404-agree__item {
    display: block;
  }
  .lp2404-agree__item + .lp2404-agree__item {
    margin-top: 4em;
  }
  .lp2404-agree__item .thumb {
    text-align: center;
    margin: 0 0 1.5em;
  }
  .lp2404-agree__item--ttl {
    display: block;
    text-align: center;
    margin: 0 0 2em;
    padding-left: 0 !important;
  }
  .lp2404-agree__item--ttl .pos-name {
    margin-top: 0.5em;
  }
  .lp2404-agree__item--comment::before {
    height: 20px;
    width: 40px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%) !important;
    top: -20px !important;
    left: 50% !important;
    transform: translate(-50%, 0);
  }
  .lp2404-part__header {
    text-align: center;
  }
  .lp2404-part__body {
    display: block;
  }
  .lp2404-part__body .thumb {
    margin: 0 auto 1.5em;
  }
  .ir-ss__nav ol {
    gap: 15px;
  }
  .ir-ss__nav ol li a {
    padding: 1rem;
    gap: 10px;
  }
  .ir-ss__story--body .thumb {
    float: none;
    text-align: center;
    padding: 0 0 2rem;
  }
  .ir-ss__story--body .thumb img {
    width: 100%;
    max-width: 300px;
    height: auto;
  }
  .ir-ss__history--timeline .inner {
    max-width: none;
    padding: 0 40px 40px;
  }
  .ir-ss__number--cards .card1 {
    display: block;
    text-align: center;
  }
  .ir-ss__number--cards .card1 .description {
    margin: 0 0 1rem;
  }
  .ir-ss__number--cards {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .ir-ss__number--cards [class^='card'] {
    padding: 15px;
  }
  .ir-ss__number--cards .card1,
  .ir-ss__number--cards .card2,
  .ir-ss__number--cards .card3 {
    grid-column: 1/2;
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .ir-ss__number--cards .card1 .description,
  .ir-ss__number--cards .card2 .description,
  .ir-ss__number--cards .card3 .description {
    flex: 1;
    text-align: left;
    margin: 0;
  }
  .ir-ss__number--cards .card1 .thumb,
  .ir-ss__number--cards .card2 .thumb,
  .ir-ss__number--cards .card3 .thumb {
    flex: 0 0 35%;
  }
  .ir-ss__number--cards .card1 {
    grid-row: 1/2;
  }
  .ir-ss__number--cards .card2 {
    grid-row: 2/3;
  }
  .ir-ss__number--cards .card3 {
    grid-row: 3/4;
  }
  .ir-ss__number--cards .card4 {
    grid-column: 1/2;
    grid-row: 4/5;
  }
  .ir-ss__number--cards .card4 h4 {
    margin: 0;
  }
  .ir-ss__number--cards .card4 .col {
    display: block;
  }
  .ir-ss__number--cards .card4 .col .thumb {
    margin: 10px 0;
  }
  .ir-card__grid {
    display: block;
  }
  .ir-card__grid .link {
    margin-top: 1rem;
  }
  .ir-footer {
    margin-top: 5rem;
  }
  .ir-footer__nav {
    grid-template-columns: 1fr 1fr;
  }
  .news-filter {
    max-width: none;
  }
  .news-filter dl dt {
    flex: 0 0 7rem;
  }
  .ir-kv {
    height: 360px;
  }
  .ir-grid .container {
    grid-template-columns: 1fr;
  }
  .ir-grid__ceo .thumb img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .ir-grid__know .description {
    padding: 40px 0;
  }
  .ir-ir__footer {
    padding: 2rem 0;
  }
  .ir-ir__footer ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
  }
  .ir-ir__footer ul li a {
    width: auto;
    max-width: 240px;
    margin: 0 auto;
  }
  .finance-block__grid {
    gap: 40px;
  }
  .ir-library__latest--grid {
    margin: 0;
    gap: 25px;
  }
  .ir-library__latest--grid .ir-card__body a.btn {
    width: auto;
  }
  .ir-investor__nav ol {
    gap: 15px;
  }
  .ir-investor__nav ol li a {
    padding: 1rem;
    gap: 10px;
  }
  .ir-investor__story--body .thumb {
    float: none;
    text-align: center;
    padding: 0 0 2rem;
  }
  .ir-investor__story--body .thumb img {
    width: 100%;
    max-width: 300px;
    height: auto;
  }
  .ir-investor__history--timeline .inner {
    max-width: none;
    padding: 0 40px 40px;
  }
  .ir-investor__number--cards .card1 {
    display: block;
    text-align: center;
  }
  .ir-investor__number--cards .card1 .description {
    margin: 0 0 1rem;
  }
  .ir-investor__number--cards {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .ir-investor__number--cards [class^='card'] {
    padding: 15px;
  }
  .ir-investor__number--cards .card1,
  .ir-investor__number--cards .card2,
  .ir-investor__number--cards .card3 {
    grid-column: 1/2;
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .ir-investor__number--cards .card1 .description,
  .ir-investor__number--cards .card2 .description,
  .ir-investor__number--cards .card3 .description {
    flex: 1;
    text-align: left;
    margin: 0;
  }
  .ir-investor__number--cards .card1 .thumb,
  .ir-investor__number--cards .card2 .thumb,
  .ir-investor__number--cards .card3 .thumb {
    flex: 0 0 35%;
  }
  .ir-investor__number--cards .card1 {
    grid-row: 1/2;
  }
  .ir-investor__number--cards .card2 {
    grid-row: 2/3;
  }
  .ir-investor__number--cards .card3 {
    grid-row: 3/4;
  }
  .ir-investor__number--cards .card4 {
    grid-column: 1/2;
    grid-row: 4/5;
  }
  .ir-investor__number--cards .card4 h4 {
    margin: 0;
  }
  .ir-investor__number--cards .card4 .col {
    display: block;
  }
  .ir-investor__number--cards .card4 .col .thumb {
    margin: 10px 0;
  }
  .ir-message .container .thumb {
    margin: 0 30px 30px 0;
  }
  .ir-message .container .thumb img {
    max-width: 280px;
  }
}
@media (max-width: 768px) {
  .member_single .section:nth-child(even) {
    background: #f7f7f7;
  }
  .member_single .item_top {
    padding: 0 0 4em;
  }
  .member_single .item_top .inner {
    max-width: none;
    width: 100%;
    padding: 0;
  }
  .member_single .item_top .inner .first_contents .text_block {
    float: none;
    max-width: none;
    width: auto;
  }
  .member_single .item_top .inner .first_contents .text_block .text_head {
    padding: 1.6em 1em 0;
    margin-top: -4em;
    background: #fff;
    border-width: 4px 0 0;
  }
  .member_single .item_top .inner .first_contents .text_block .text_head h2 {
    font-size: 1.6em;
    line-height: 1.6;
  }
  .member_single .item_top .inner .first_contents .text_block .text_contents {
    margin: 0;
    padding: 0.8em 1.6em 1.6em;
    border-bottom: 4px solid #111;
    text-align: center;
  }
  .member_single .item_top .inner .first_contents .text_block .text_contents .txt2 {
    font-size: 1.3em;
  }
  .member_single .item_top .inner .first_contents .img_block {
    width: 100%;
    max-width: none;
    display: block;
    float: none;
    position: relative;
    overflow: hidden;
  }
  .member_single .item_top .inner .first_contents .img_block img {
    position: relative;
    top: -2em;
  }
  .member_single .item_top .inner .second_contents {
    max-width: none;
    width: auto;
    padding: 0 1.6em;
    margin-top: 1.6em;
    line-height: 1.8;
    font-size: 1em;
    font-weight: normal;
  }
  .member_single .repeat_block {
    padding: 0 0 4em;
  }
  .member_single .repeat_block.first .inner .second_contents {
    margin-top: 1em;
  }
  .member_single .repeat_block.last {
    padding-bottom: 10em;
  }
  .member_single .repeat_block .inner .first_contents {
    display: block !important;
  }
  .member_single .repeat_block .inner .first_contents .text_block {
    margin: 2em auto 0;
    padding: 0 1.6em;
  }
  .member_single .repeat_block .inner .first_contents .text_block .interview {
    font-size: 0.9em;
  }
  .member_single .repeat_block .inner .first_contents .text_block .title {
    font-size: 1.7em;
    line-height: 1.4;
  }
  .member_single .repeat_block .inner .second_contents {
    margin: 1em auto 0;
    padding: 0 1.6em;
    font-size: 1em;
    line-height: 2;
    text-align: justify;
  }
  .member_single .member_btn {
    margin-top: -8em;
  }
  .member_single .member_btn a {
    padding: 0 3em;
    font-size: 1.1em;
    line-height: 50px;
  }
  .entry__btn-list {
    display: block;
  }
  .entry__btn-item {
    max-width: 24.125rem;
    margin: auto;
  }

  .entry__btn-item + .entry__btn-item {
    margin:  1.5rem auto 0;
  }

  .entry__btn {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 600px) {
  body {
    font-size: clamp(0.938rem, 0.723rem + 1.07vw, 1.125rem);
  }
  .container {
    padding: 0 20px;
  }
  section + section {
    margin-top: 2.5em;
  }
  .co-header {
    height: 65px;
    padding: 0 15px;
  }
  .co-header__logo img {
    width: 160px;
  }
  .co-header__menu {
    padding-top: 80px;
  }
  .co-header__menu .inner > ul > li > a {
    padding: 1.5rem 0;
  }
  .co-header__menu__mega dl dd ul {
    grid-template-columns: 1fr;
  }
  .co-footer {
    margin-top: 4em;
    padding: 2em 30px 10em;
  }
  .co-footer__logo {
    margin-bottom: 2em;
  }
  .co-footer__logo img {
    width: 220px;
  }
  .co-footer__nav {
    margin: 0 -30px;
  }
  .co-footer__nav--col {
    padding: 15px 0 15px 25px;
  }
  .co-footer__nav--col dl {
    grid-template-columns: 7rem 1fr;
  }
  .co-footer__nav--col dl dd ul {
    grid-template-columns: 1fr;
    margin: -15px 0;
  }
  .co-footer__nav--col dl dd ul li {
    border-bottom: 1px solid #0f0f57;
  }
  .co-footer__nav--col dl dd ul li:last-child {
    border: none;
  }
  .co-footer__nav--col dl dd ul li a {
    display: block;
    padding: 10px;
  }
  .co-footer__contact {
    margin: 1.5em auto 0;
  }
  .page-header {
    padding: 0;
    margin-bottom: 2em;
  }
  .page-header-ttl h1 {
    font-size: clamp(1.75rem, 0.893rem + 4.29vw, 2.5rem);
  }
  .page-header-lead {
    font-size: clamp(0.875rem, 0.732rem + 0.71vw, 1rem);
  }
  .page-kv {
    height: 250px;
    /*
    img {
        width: auto;
        height: 120%;
    }
    */
  }
  .agri .page-kv {
    height: 140px;
  }
  .btn {
    line-height: 55px;
  }
  .btn.large {
    width: 100%;
    line-height: 70px;
  }
  .btn.xs {
    width: 100%;
    line-height: 40px;
  }
  .btn-external {
    line-height: 55px;
    padding-right: 10px;
  }
  .btn-external span::before {
    width: 35px;
    height: 35px;
  }
  .btn-external span::after {
    right: 8px;
  }
  .table-outline {
    margin: 0 -20px;
    width: 100vw;
  }
  .table-outline th,
  .table-outline td {
    display: block;
    border: none;
    padding: 1em;
  }
  .table-outline th {
    padding-bottom: 0.5em;
  }
  .table-outline td {
    padding-top: 0;
    border-bottom: 1px solid #dbdce0;
  }
  input[type='checkbox'],
  input[type='radio'] {
    margin-top: 3px;
  }
  .news-list__item a {
    display: block;
  }
  .news-list__item a .headline {
    margin: 1em 0 0;
  }
  .share-sns {
    margin: 10px 0;
  }
  .share-sns ul {
    gap: 10px;
  }
  .share-sns ul li a img {
    width: auto;
    height: 22px;
  }
  .recruit-banner {
    margin: 5em 0;
  }
  .recruit-banner__cover {
    margin: 0 -20px 2em;
  }
  .recruit-banner__cover img {
    height: 240px;
  }
  .modal__btn {
    right: 10px;
    top: 10px;
  }
  .modal__director {
    padding: 40px 20px;
  }
  .modal__director--pic img {
    max-width: 280px;
  }
  .modal__director--info {
    margin: 1rem 0 0;
  }
  .modal__director--info .kana {
    font-size: clamp(0.875rem, 0.732rem + 0.71vw, 1rem);
  }
  .modal__director--info h3 {
    font-size: clamp(1.5rem, 1.214rem + 1.43vw, 1.75rem);
    line-height: 1;
    margin: 0.3rem 0 0.6rem;
  }
  .modal__director--info .pos {
    margin: 0;
    font-size: clamp(0.938rem, 0.723rem + 1.07vw, 1.125rem);
  }
  .modal__director--info .description {
    margin: 1rem 0 0;
    font-size: clamp(0.875rem, 0.732rem + 0.71vw, 1rem);
  }
  .mv {
    margin: 0;
  }
  .mv__main--video .video-mask {
    clip-path: inset(0 0 0 0 round 0 0 0 0) !important;
  }
  .mv__copy {
    position: static;
    width: 100%;
    padding: 2em 1.5em 2.5em;
  }
  .home__copy {
    margin: 0;
    position: relative;
    padding-left: 0;
  }
  .home__copy--shoulder {
    font-size: clamp(1.25rem, 0.536rem + 3.57vw, 1.875rem);
  }
  .home__copy h1 {
    margin: 1em 0;
    line-height: 1.1;
  }
  .home__copy h1 span {
    font-size: 50px;
    font-size: clamp(2.5rem, 1.786rem + 3.57vw, 3.125rem);
  }
  .home__copy-ja {
    font-size: clamp(0.938rem, 0.438rem + 2.5vw, 1.375rem);
    padding-left: 0;
  }
  .home__primary--bg img {
    height: 800px;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .home__cross.container {
    padding: 3em 20px;
  }
  .home__cross--text {
    font-size: clamp(0.938rem, 0.457rem + 1.28vw, 1.125rem);
    line-height: 2;
  }
  .home__cross--img {
    margin: 2.5rem 0;
  }
  .home__biz h2 {
    font-size: clamp(2rem, 1.143rem + 4.29vw, 2.75rem);
    margin: 0;
  }
  .terra-x dl dd ul {
    grid-template-columns: 1fr;
  }
  .terra-x dl dd ul li::before,
  .terra-x dl dd ul li::after {
    display: none;
  }
  .terra-x dl dd ul li .title {
    justify-content: center;
  }
  .terra-x dl dd ul li .subtitle {
    text-align: center;
  }
  .terra-x dl dd ul li .thumb {
    text-align: center;
  }
  .terra-x dl dd ul li .thumb img {
    width: 60%;
  }
  .icon-service {
    height: 80px;
    transform: scale(0.7);
  }
  .home__service.container {
    padding: 10px;
    margin: 0 15px;
  }
  .home__service--link {
    padding: 0;
  }
  .home__service--link ul {
    display: block;
  }
  .home__service--link ul li {
    border-bottom: 1px solid #dbdce0;
  }
  .home__service--link ul li + li {
    border-left: none;
  }
  .home__service--link ul li a {
    position: relative;
    display: flex;
    align-items: center;
  }
  .home__service--link ul li a::after {
    content: '';
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23143894' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
    background-size: 16px auto;
    width: 20px;
    height: 12px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translate(0, -50%);
    transition: all 0.3s ease;
  }
  .home__service--link ul li a .icon {
    flex: 0 0 100px;
  }
  .home__service--link ul li a h3 {
    flex: 1;
    text-align: left;
    margin-left: 10px;
  }
  .home-title {
    margin: 0 0 1em;
  }
  .home-title .en,
  .home-title .lp2404-agree__item--ttl .company-name,
  .lp2404-agree__item--ttl .home-title .company-name,
  .home-title .recruit__policy--cross dl dt,
  .recruit__policy--cross dl .home-title dt,
  .home-title .recruit__policy--header h2,
  .recruit__policy--header .home-title h2,
  .home-title .recruit__terraway--pulse ul li h3 span.en,
  .recruit__terraway--pulse ul li h3 .home-title span.en,
  .home-title .recruit__terraway--pulse ul li h3 span.date,
  .recruit__terraway--pulse ul li h3 .home-title span.date,
  .home-title .recruit__terraway--pulse ul li h3 span.home__copy,
  .recruit__terraway--pulse ul li h3 .home-title span.home__copy,
  .home-title .recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
  .recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label .home-title span,
  .home-title .inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
  .inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 .home-title span,
  .home-title .recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
  .recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header .home-title span,
  .home-title .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span,
  .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 .home-title span,
  .home-title .recruit__terraway h2,
  .recruit__terraway .home-title h2,
  .home-title .oversea__map ul.point li dl dt,
  .oversea__map ul.point li dl .home-title dt,
  .home-title .utm__group--item .item-case-header span,
  .utm__group--item .item-case-header .home-title span,
  .home-title .agri__do dl dt,
  .agri__do dl .home-title dt,
  .home-title .inspection__ut--header .container .item .label span,
  .inspection__ut--header .container .item .label .home-title span,
  .home-title .survey-ict__feature--support .support__job ol li::before,
  .survey-ict__feature--support .support__job ol .home-title li::before,
  .home-title .survey-tl__case .service__case--article .thumb .label,
  .survey-tl__case .service__case--article .thumb .home-title .label,
  .home-title .survey-tl__soft h2 .label,
  .survey-tl__soft h2 .home-title .label,
  .survey-tl__soft .home-title .service__faq--header h2 span.label,
  .home-title .survey-tl__lineup--item .item-header .description h3,
  .survey-tl__lineup--item .item-header .description .home-title h3,
  .home-title .service__scroll--wrap .item .num,
  .service__scroll--wrap .item .home-title .num,
  .home-title .service__faq--header h2 span.en,
  .service__faq--header h2 .home-title span.en,
  .home-title .service__faq--header h2 span.date,
  .service__faq--header h2 .home-title span.date,
  .home-title .service__faq--header h2 span.home__copy,
  .service__faq--header h2 .home-title span.home__copy,
  .home-title .date,
  .home-title .home__copy,
  .home-title .home__biz h2,
  .home__biz .home-title h2,
  .home-title .terra-x dl dt,
  .terra-x dl .home-title dt,
  .home-title .terra-x dl dd ul li .title .label,
  .terra-x dl dd ul li .title .home-title .label {
    font-size: clamp(1.875rem, 1.161rem + 3.57vw, 2.5rem);
  }
  .home__news {
    margin: 5em 0;
  }
  .home__ir {
    margin: 5em 0;
  }
  .home__ir--header {
    display: block;
  }
  .home__ir--link {
    margin: 0 0 30px;
    display: block;
  }
  .home__ir--link a {
    display: block;
  }
  .home__media {
    margin: 5em 0 0;
  }
  .home__media--body ul li {
    flex: 0 0 335px;
  }
  .home__media--body ul li:first-child {
    padding-left: 20px;
  }
  .home__media--body ul li:last-child {
    padding-right: 20px;
  }
  .service__problem h2 {
    font-size: clamp(1.25rem, 0.964rem + 1.43vw, 1.5rem);
  }
  .service__problem--col {
    display: block;
    padding: 0 20px;
  }
  .service__problem--col .item {
    padding: 1em 0 2em;
  }
  .service__problem--col .item + .item {
    border: none;
    border-top: 1px solid #dbdce0;
  }
  .service__problem--col .item .icon img {
    width: 100px;
  }
  .service__benefit h2 {
    font-size: clamp(1.375rem, 0.946rem + 2.14vw, 1.75rem);
    margin: 0 0 0.75em;
  }
  .service__benefit--col {
    grid-template-columns: 1fr;
  }
  .service__col .container {
    display: block;
  }
  .service__col .container .thumb {
    margin: 0 0 1em;
  }
  .service__case h2 {
    font-size: clamp(1.375rem, 0.946rem + 2.14vw, 1.75rem);
  }
  .service__case--article {
    display: block;
  }
  .service__case--article > a {
    display: block !important;
  }
  .service__case--article + .service__case--article {
    margin: 2.5em 0 0;
  }
  .service__case--article .thumb {
    margin: 0 0 0.75em;
  }
  .service__case--footer {
    margin: 2em 0 0;
  }
  .service__faq .container {
    display: block;
  }
  .service__faq--header {
    margin: 0 0 1em;
  }
  .service__faq--header h2 span.en,
  .service__faq--header h2 .lp2404-agree__item--ttl span.company-name,
  .lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
  .service__faq--header h2 .recruit__terraway--pulse ul li h3 span.en,
  .recruit__terraway--pulse ul li h3 .service__faq--header h2 span.en,
  .service__faq--header h2 .recruit__terraway--pulse ul li h3 span.date,
  .recruit__terraway--pulse ul li h3 .service__faq--header h2 span.date,
  .service__faq--header h2 .recruit__terraway--pulse ul li h3 span.home__copy,
  .recruit__terraway--pulse ul li h3 .service__faq--header h2 span.home__copy,
  .service__faq--header h2 .utm__group--item .item-case-header span,
  .utm__group--item .item-case-header .service__faq--header h2 span,
  .service__faq--header h2 .inspection__ut--header .container .item .label span,
  .inspection__ut--header .container .item .label .service__faq--header h2 span,
  .service__faq--header h2 .survey-tl__case .service__case--article .thumb span.label,
  .survey-tl__case .service__case--article .thumb .service__faq--header h2 span.label,
  .service__faq--header .survey-tl__soft h2 span.label,
  .survey-tl__soft .service__faq--header h2 span.label,
  .service__faq--header h2 .service__scroll--wrap .item span.num,
  .service__scroll--wrap .item .service__faq--header h2 span.num,
  .service__faq--header h2 span.date,
  .service__faq--header h2 span.home__copy,
  .service__faq--header h2 .terra-x dl dd ul li .title span.label,
  .terra-x dl dd ul li .title .service__faq--header h2 span.label {
    font-size: clamp(1.875rem, 1.175rem + 3.5vw, 3rem);
  }
  .service__scroll--wrap {
    gap: 20px;
  }
  .service__scroll--wrap .item {
    flex: 0 0 300px;
    padding: 2em;
  }
  .service__scroll--wrap .item h3 {
    font-size: clamp(0.875rem, 0.589rem + 1.43vw, 1.125rem);
    margin: 1.5em 0;
  }
  .service__scroll--wrap .item p {
    font-size: clamp(0.813rem, 0.527rem + 1.43vw, 1.063rem);
  }
  .service__part--body p {
    line-height: 1.65;
  }
  .service__part--body div.row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .service__part--body .description .caption {
    font-size: clamp(0.875rem, 0.732rem + 0.71vw, 1rem);
  }
  .service__part--body div.one-col {
    display: block;
  }
  .service__part--body div.one-col .thumb {
    width: 100%;
    max-width: none;
  }
  .service__field {
    padding: 3em 0 4em;
    margin-bottom: -4em;
  }
  .service__field--card + .service__field--card {
    margin: 3em 0 0;
  }
  .service__field--card .thumb-img {
    height: 220px;
  }
  .service__field--card .description {
    padding: 1em 1.5em 2em;
  }
  .service__field--card .description .ttl {
    display: block;
    margin: 0 0 1em;
  }
  .service__field--card .description .icon-service {
    margin: 0 auto;
    transform: scale(0.6);
  }
  .service__field--card .description h3 {
    margin: 0 0 0.25em;
    font-size: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
  }
  .service__field--card .description h3 small {
    margin: 0.5em 0 0;
  }
  .service__field--card .description p {
    font-size: clamp(0.938rem, 0.723rem + 1.07vw, 1.125rem);
    line-height: 1.65;
  }
  .service__field--card .description a.btn-more {
    margin: 1.5em auto 0;
  }
  .service-survey__list {
    padding: 0 0 5em;
  }
  .service-survey__list ul {
    gap: 50px;
  }
  .service-survey__list ul li a .thumb {
    height: 220px;
  }
  .survey-tl__kv h1 {
    margin-top: 0;
  }
  .survey-tl__kv h1 span {
    font-size: clamp(3.125rem, 0.982rem + 10.71vw, 5rem);
  }
  .survey-tl__kv h2 {
    font-size: clamp(1rem, 0.714rem + 1.43vw, 1.25rem);
    margin: 0.75rem 0 1em;
  }
  .survey-tl__kv--nav ul {
    padding: 0 20px;
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .survey-tl__kv--nav ul li a {
    font-size: clamp(0.938rem, 0.723rem + 1.07vw, 1.125rem);
  }
  .survey-tl__cv {
    padding: 20px 0;
  }
  .survey-tl__benefit {
    margin-top: 3em;
  }
  .survey-tl__lineup {
    padding: 2em 0;
  }
  .survey-tl__lineup h2 {
    font-size: clamp(1.375rem, 1.064rem + 1.56vw, 1.875rem);
    margin: 0 0 1em;
  }
  .survey-tl__lineup--item .item-header .description h3 {
    font-size: clamp(1.75rem, 1.439rem + 1.56vw, 2.25rem);
  }
  .survey-tl__lineup--item .item-spec {
    display: block;
  }
  .survey-tl__lineup--item .item-spec > dl {
    display: block;
  }
  .survey-tl__lineup--item .item-spec > dl + dl {
    margin: 20px 0 0;
  }
  .survey-tl__lineup--item .item-spec > dl > dt {
    margin: 0 0 0.3em;
  }
  .survey-tl__lineup--item .item-spec > dl > dd dl {
    margin: 0;
    padding-left: 15px;
  }
  .survey-tl__soft h2 {
    display: block;
    margin: 0 0 0.5em;
    text-align: center;
  }
  .survey-tl__soft h2 .label {
    display: block;
    font-size: clamp(1.625rem, 1.196rem + 2.14vw, 2rem);
    margin: 0.3em 0 0;
  }
  .survey-tl__soft--cloud .item {
    display: block;
  }
  .survey-tl__soft--cloud .item .icon {
    margin: 0 0 1em;
  }
  .survey-tl__soft--cloud .item .icon img {
    transform: scale(0.8);
  }
  .survey-tl__soft--cloud .item .description h3 {
    text-align: center;
  }
  .survey-tl__soft--mapper ul {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .survey-tl__soft--mapper ul li {
    padding: 0.25em 0.5em;
  }
  .survey-tl__case--lead {
    display: block;
  }
  .survey-tl__case--lead dl + dl {
    margin: 20px 0 0;
  }
  .survey-tl__case .service__case--article {
    padding: 2em 0;
  }
  .survey-measure__index--box .item-body dl {
    padding: 0.5em 0;
  }
  .survey-measure__index--box .item-body dl dt {
    display: block;
  }
  .survey-measure__index--box .item-body dl dt a.btn {
    margin: 0 0 1em;
  }
  .survey-measure__index--box .item-body dl dd {
    margin: 0.5em 0 1em;
  }
  .survey-measure__index--box .item-body dl dd ul {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
  }
  .survey-ict__feature h2 {
    font-size: clamp(1.375rem, 0.413rem + 2.56vw, 1.75rem);
  }
  .survey-ict__feature--wrap {
    display: block;
  }
  .survey-ict__feature--wrap .description {
    margin: 1em 0 0;
  }
  .survey-ict__feature--wrap .description h3 {
    text-align: center;
    margin: 0 0 0.5em;
  }
  .survey-ict__feature--support .support__flow ol li {
    font-size: clamp(0.875rem, 0.589rem + 1.43vw, 1.125rem);
    flex: 0 0 120px;
    height: 80px;
    padding: 15px 0 0;
  }
  .survey-ict__feature--support .support__flow ol li::before {
    border-width: 40px 0 40px 20px;
  }
  .survey-ict__feature--support .support__flow ol li::after {
    border-width: 40px 0 40px 20px;
  }
  .survey-ict__feature--support .support__job {
    grid-template-columns: 1fr;
  }
  .survey-bimcim__benefit {
    grid-template-columns: 1fr;
  }
  .survey-bimcim__list ul {
    grid-template-columns: 1fr;
  }
  .inspection__area ul {
    gap: 20px;
  }
  .inspection__area ul li {
    flex: 0 0 220px;
  }
  .inspection__ut--header {
    padding: 1em 0;
  }
  .inspection__ut--header .container {
    display: block;
  }
  .inspection__ut--header .container .item {
    padding: 2em 0;
  }
  .inspection__ut--header .container .item + .item {
    border: none;
    border-top: 1px solid #dbdce0;
  }
  .inspection__ut--header .container .item .label span {
    font-size: clamp(1rem, 0.714rem + 1.43vw, 1.25rem);
  }
  .inspection__ut--header .container .item .thumb {
    height: auto;
  }
  .inspection__ut--facility {
    margin: 2em 0;
  }
  .inspection__ut--facility .container h3 {
    margin: 0 0 0.5em;
  }
  .inspection__ut--facility .container .facilities {
    gap: 30px;
  }
  .inspection__ut--facility .container .facilities dl {
    display: block;
    max-width: 335px;
    line-height: 1.65;
  }
  .inspection__ut--facility .container .facilities dl dd h4 {
    font-size: clamp(0.938rem, 0.661rem + 0.53vw, 1.125rem);
  }
  .inspection__type--header {
    margin: 0 0 2em;
  }
  .inspection__type--header h2 {
    font-size: clamp(1.375rem, 0.822rem + 1.06vw, 1.75rem);
  }
  .inspection__type .service__col {
    padding: 0 30px;
  }
  .inspection__soft--flow .container ol li + li::before {
    top: -35px;
    left: 50%;
    transform: translate(-50%, 0);
    height: 15.5884572681px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .agri__benefit ul li {
    display: block;
    padding: 20px;
  }
  .agri__benefit ul li .illust {
    margin: 20px auto;
  }
  .utm__text .container {
    display: block;
  }
  .utm__text .container h2 {
    text-align: center;
    font-size: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
    padding-right: 0;
  }
  .utm__text .container h3 {
    font-size: clamp(1rem, 0.857rem + 0.71vw, 1.125rem);
  }
  .utm__text .container h3 span {
    line-height: 1.5;
    padding: 1em;
  }
  .utm__text .container .description {
    text-align: justify;
  }
  .utm__text .container .graphic {
    padding: 0;
  }
  .utm__what {
    margin-top: 4em;
  }
  .utm__what .container {
    display: block;
  }
  .utm__what .container .description {
    margin: 0 0 1em;
  }
  .utm__what .container .description h2 {
    margin: 0 0 0.5em;
    text-align: center;
    font-size: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
  }
  .utm__what .container .graphic {
    padding: 15px;
  }
  .utm__world h2 {
    font-size: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
  }
  .utm__bredge {
    height: 200px;
  }
  .utm__vision h2 {
    font-size: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
  }
  .utm__group {
    padding: 2em 0;
  }
  .utm__group h2 {
    font-size: clamp(1.25rem, 1.107rem + 0.71vw, 1.375rem);
  }
  .utm__group--item {
    margin: 1em 0 0;
    padding: 1em 1.5em 1.5em;
  }
  .utm__group--item .item-header .info {
    display: block;
  }
  .utm__group--item .item-header .info h3 {
    text-align: center;
  }
  .utm__group--item .item-header .info h3 img {
    max-width: 220px;
  }
  .utm__group--item .item-header .description a.btn {
    display: block;
    line-height: 55px;
  }
  .utm__group--item .item-case {
    display: block;
    margin: 15px -10px -10px;
    padding: 10px;
  }
  .utm__group--item .item-case-header {
    text-align: center;
    padding: 20px 0 0;
    margin: -15px 0 5px;
  }
  .utm__group--item .item-case-header span {
    padding: 0 0 5px;
  }
  .utm__group--item .item-case-header span::after {
    left: 50%;
    top: auto;
    bottom: 0;
    transform: translate(-50%, 0);
  }
  .utm__group--item .item-case-box {
    margin: 0 0 1em;
    padding: 1em;
  }
  .utm__case .service__case--article + .service__case--article {
    margin-top: 3em;
  }
  .utm__case .service__case--article .description a.btn {
    margin-left: auto;
    margin-right: auto;
  }
  .oversea__map .world {
    overflow: hidden;
  }
  .oversea__map .world img {
    width: 120%;
    height: auto;
  }
  .oversea__map ul.point li dl {
    font-size: 13px;
    padding-left: 15px;
  }
  .oversea__map ul.point li dl::before {
    width: 6px;
    height: 6px;
    left: 2px;
  }
  .oversea__map ul.point li dl::after {
    width: 10px;
    height: 10px;
  }
  .oversea__map ul.point li.inspecioneering {
    left: 10.5vw;
    top: 24vw;
  }
  .oversea__map ul.point li.unifly {
    left: 9vw;
    top: 28vw;
  }
  .oversea__map ul.point li.unifly dl dt,
  .oversea__map ul.point li.unifly dl dd {
    padding-top: 8px;
  }
  .oversea__map ul.point li.japan {
    left: 57.5vw;
    top: 32.5vw;
  }
  .oversea__map ul.point li.arabia {
    left: 23.5vw;
    top: 37.5vw;
  }
  .oversea__map ul.point li.indonesia {
    left: 46.5vw;
    top: 49vw;
  }
  .oversea__map ul.point li.indonesia dl {
    position: absolute;
    right: 0;
    padding: 0;
    display: block;
    text-align: right;
  }
  .oversea__map ul.point li.indonesia dl::before,
  .oversea__map ul.point li.indonesia dl::after {
    top: 0;
    left: auto;
    right: 0;
  }
  .oversea__map ul.point li.indonesia dl::before {
    right: 2px;
  }
  .oversea__map ul.point li.indonesia dl dt {
    padding-top: 8px;
  }
  .oversea__map ul.point li.agri {
    left: 48vw;
    top: 43vw;
  }
  .oversea__map ul.point li.agri dl {
    display: block;
  }
  .oversea__list--item {
    display: block;
  }
  .oversea__list--item + .oversea__list--item {
    margin: 2em 0 0;
  }
  .oversea__list--item .thumb {
    text-align: center;
  }
  .oversea__list--item .thumb img {
    width: 200px;
  }
  .oversea__list--item .description {
    margin: 1em 0 0;
  }
  .oversea__list--item .description h3 {
    justify-content: center;
  }
  .oversea__list--item .description dl {
    display: block;
  }
  .oversea__list--item .description dl dt {
    text-align: center;
  }
  .oversea__list--item .description a.btn {
    margin: 1em auto 0;
    display: block;
  }
  .post-header {
    margin: 0;
  }
  .post-header .meta {
    display: block;
  }
  .post-header .meta .cat {
    margin: 0.3em 0 0;
  }
  .post-header h1 {
    font-size: clamp(1.125rem, 0.839rem + 1.43vw, 1.375rem);
  }
  .post-body {
    margin: 1em 0;
    padding: 1em 0;
  }
  .post-body h3 {
    font-size: clamp(1.125rem, 0.982rem + 0.71vw, 1.25rem);
  }
  .post-footer .content-link a span.prev,
  .post-footer .content-link a span.next {
    text-indent: -9999px;
    padding: 0;
  }
  .post-footer .content-link a span.prev::after,
  .post-footer .content-link a span.next::after {
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .post-footer .content-link a span.prev::after {
    transform: translate(-50%, -50%) scale(-1, 1);
  }
  .company__agree .container .description {
    flex: 1;
  }
  .company__agree .container .description h2 {
    font-size: clamp(1.125rem, 0.982rem + 0.71vw, 1.25rem);
    line-height: 1.7;
  }
  .company__agree .container .thumb {
    max-width: 280px;
  }
  .company__director ul {
    grid-template-columns: 1fr 1fr;
  }
  .company__history table.table-history th,
  .company__history table.table-history td {
    display: block;
  }
  .company__history table.table-history th {
    padding-bottom: 0.5em;
    width: auto;
  }
  .company__history table.table-history td dl:first-child::before {
    top: 6px;
  }
  .company__history table.table-history td dl:last-child::before {
    height: 6px;
  }
  .company__history table.table-history td dl dt {
    flex: 0 0 100px;
    padding-left: 30px;
  }
  .company__history table.table-history td dl dt::before {
    top: 6px;
  }
  .media-kv {
    height: 200px;
    margin-top: -20px;
  }
  .media-kv-inner {
    height: 200px;
  }
  .media-kv-inner .accent img {
    -o-object-position: right center;
    object-position: right center;
  }
  .media-kv-inner h1 img {
    max-width: 200px;
  }
  .media__list--new ul {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 30px;
  }
  .media__list--new ul li:first-child {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .media__category {
    margin: 4em 0;
    padding: 2.5em 0;
  }
  .media__category ul {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .media__category ul li a {
    padding: 1.5em 1.8em 1.5em 1em;
    font-size: clamp(0.938rem, 0.795rem + 0.71vw, 1.063rem);
  }
  .recruit-kv-slide {
    height: 200px;
  }
  .recruit-kv-slide img {
    height: 200px;
  }
  .recruit-kv-copy {
    width: 50%;
  }
  .recruit__lead {
    padding: 2em 0 0;
  }
  .recruit__lead h2 {
    font-size: clamp(1.125rem, 0.839rem + 1.43vw, 1.375rem);
  }
  .recruit__open h2 {
    font-size: clamp(1.25rem, 0.964rem + 1.43vw, 1.5rem);
  }
  .recruit__open ul {
    grid-template-columns: 1fr;
  }
  .recruit__cv a.btn {
    line-height: 55px;
  }
  .recruit__terraway h2 {
    margin: 0 0 1.5em;
  }
  .recruit__terraway h2 span {
    font-size: clamp(2.5rem, 1.786rem + 3.57vw, 3.125rem);
  }
  .recruit__terraway--pulse .pulse {
    width: 60vw;
    height: 60vw;
  }
  .recruit__terraway--pulse ul {
    grid-template-columns: 1fr;
    padding: 0 20px;
  }
  .recruit__terraway--pulse ul li h3 span.en,
  .recruit__terraway--pulse ul li h3 .lp2404-agree__item--ttl span.company-name,
  .lp2404-agree__item--ttl .recruit__terraway--pulse ul li h3 span.company-name,
  .recruit__terraway--pulse ul li h3 span.date,
  .recruit__terraway--pulse ul li h3 span.home__copy,
  .recruit__terraway--pulse .terra-x dl dd ul li h3 .title span.label,
  .terra-x dl dd .recruit__terraway--pulse ul li h3 .title span.label,
  .recruit__terraway--pulse .terra-x dl dd ul li .title h3 span.label,
  .terra-x dl dd .recruit__terraway--pulse ul li .title h3 span.label,
  .recruit__terraway--pulse ul li h3 .service__scroll--wrap .item span.num,
  .service__scroll--wrap .item .recruit__terraway--pulse ul li h3 span.num,
  .recruit__terraway--pulse ul li h3 .survey-tl__soft h2 span.label,
  .survey-tl__soft h2 .recruit__terraway--pulse ul li h3 span.label,
  .recruit__terraway--pulse ul li h3 .survey-tl__case .service__case--article .thumb span.label,
  .survey-tl__case .service__case--article .thumb .recruit__terraway--pulse ul li h3 span.label,
  .recruit__terraway--pulse ul li h3 .inspection__ut--header .container .item .label span,
  .inspection__ut--header .container .item .label .recruit__terraway--pulse ul li h3 span,
  .recruit__terraway--pulse ul li h3 .utm__group--item .item-case-header span,
  .utm__group--item .item-case-header .recruit__terraway--pulse ul li h3 span {
    font-size: clamp(1.75rem, 1.321rem + 2.14vw, 2.125rem);
    line-height: 1.3;
  }
  .recruit__policy {
    margin-top: 4em;
    padding: 3em 0 2em;
  }
  .recruit__policy--header h2 {
    font-size: clamp(2.5rem, 1.786rem + 3.57vw, 3.125rem);
  }
  .recruit__policy--graphic ul {
    display: block;
  }
  .recruit__policy--graphic ul li {
    width: auto;
  }
  .recruit__policy--graphic ul li + li {
    margin-top: 20px;
  }
  .recruit__people {
    padding: 3em 0 0;
  }
  .recruit__people--header .container {
    display: block;
  }
  .recruit__people--header h2 {
    text-align: center;
  }
  .recruit__people--header h2 span.en,
  .recruit__people--header h2 .lp2404-agree__item--ttl span.company-name,
  .lp2404-agree__item--ttl .recruit__people--header h2 span.company-name,
  .recruit__people--header .lp2404-agree__item--ttl .service__faq--header h2 span.company-name,
  .recruit__people--header h2 span.date,
  .recruit__people--header h2 span.home__copy,
  .recruit__people--header h2 .terra-x dl dd ul li .title span.label,
  .terra-x dl dd ul li .title .recruit__people--header h2 span.label,
  .recruit__people--header h2 .service__scroll--wrap .item span.num,
  .service__scroll--wrap .item .recruit__people--header h2 span.num,
  .recruit__people--header .survey-tl__soft h2 span.label,
  .survey-tl__soft .recruit__people--header h2 span.label,
  .recruit__people--header h2 .survey-tl__case .service__case--article .thumb span.label,
  .survey-tl__case .service__case--article .thumb .recruit__people--header h2 span.label,
  .recruit__people--header h2 .inspection__ut--header .container .item .label span,
  .inspection__ut--header .container .item .label .recruit__people--header h2 span,
  .recruit__people--header h2 .utm__group--item .item-case-header span,
  .utm__group--item .item-case-header .recruit__people--header h2 span,
  .recruit__people--header .utm__group--item .item-case-header .service__faq--header h2 span,
  .recruit__people--header h2 .recruit__terraway--pulse ul li h3 span.en,
  .recruit__terraway--pulse ul li h3 .recruit__people--header h2 span.en,
  .recruit__people--header h2 .recruit__terraway--pulse ul li h3 span.date,
  .recruit__terraway--pulse ul li h3 .recruit__people--header h2 span.date,
  .recruit__people--header h2 .recruit__terraway--pulse ul li h3 span.home__copy,
  .recruit__terraway--pulse ul li h3 .recruit__people--header h2 span.home__copy {
    font-size: clamp(2.25rem, 1.393rem + 4.29vw, 3rem);
  }
  .recruit__people--header h2 span.ja {
    font-size: clamp(1.063rem, 0.786rem + 0.53vw, 1.25rem);
  }
  .recruit__people--header a.btn {
    line-height: 50px;
  }
  .recruit__people--body {
    margin: 2em 0;
  }
  .recruit__people--body ul {
    gap: 40px;
  }
  .recruit__people--body ul li {
    flex: 0 0 280px;
  }
  .recruit__deck .deck-item + .deck-item {
    margin: 3em 0 0;
  }
  .recruit__view {
    margin-top: 4em;
  }
  .recruit__view img {
    max-width: 200px;
  }
  .recruit__voice--body .item + .item {
    margin: 2em 0 0;
  }
  .recruit__voice--body .item a {
    display: block;
  }
  .recruit__voice--body .item a .thumb {
    height: 220px;
  }
  .recruit__voice--body .item a .description {
    padding: 1em 1.5em;
  }
  .recruit__voice--body .item a .description h3 {
    font-size: clamp(1.188rem, 0.973rem + 1.07vw, 1.375rem);
  }
  .recruit__voice--body .item a .description .info {
    margin: 0.5em 0 0;
  }
  .contact__tel {
    padding: 1.2em 0;
  }
  .contact__tel dl {
    margin-top: 0.7em;
    padding: 0.75em 1em;
  }
  .contact__form table th,
  .contact__form table td {
    display: block;
    padding: 0;
  }
  .contact__form table th {
    border-bottom: none;
    padding: 1em 0 0;
    text-align: center;
    width: auto;
  }
  .contact__form table th .label {
    top: 10px;
    right: 0;
    left: auto;
  }
  .contact__form table td {
    padding: 0.5em 0 1em;
  }
  .contact__form-btn {
    margin-top: 20px;
  }
  .contact__form-btn input[type='submit'],
  .contact__form-btn button {
    line-height: 55px;
  }
  .case__cta {
    display: none;
  }
  .case__cta--xs {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 10px 0;
  }
  .case__cta--xs .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .case__cta--xs dl {
    padding: 0;
  }
  .case__cta--xs dl dt {
    font-size: clamp(0.813rem, 0.67rem + 0.71vw, 0.938rem);
    text-align: center;
  }
  .case__cta--xs dl dd a {
    font-size: clamp(0.875rem, 0.661rem + 1.07vw, 1.063rem);
    margin: 0 auto;
    min-width: auto;
    width: auto;
    line-height: 40px;
  }
  .case__block--header .container {
    display: block;
  }
  .case__block--header .container a {
    line-height: 48px;
  }
  .case__block.archive {
    margin: 2.5em 0 0;
  }
  .case__list ul {
    grid-template-columns: 1fr;
    gap: 30px;
    row-gap: 30px;
  }
  .case__category {
    padding: 20px 0 40px;
  }
  .case__category h2 {
    font-size: clamp(1.125rem, 0.839rem + 1.43vw, 1.375rem);
  }
  .case__category--grid dl {
    display: block;
  }
  .case__category--grid dl dt {
    font-size: clamp(0.938rem, 0.795rem + 0.71vw, 1.063rem);
    text-align: center;
    margin: 0 0 1em;
  }
  .case__event--item {
    display: block;
  }
  .case__event--item .thumb {
    margin: 0 0 1em;
  }
  .case__event--item .description .entry a {
    width: 100%;
  }
  .case .post-header .case-cat {
    margin: 0 0 0.2em;
  }
  .case .post-body ol {
    padding: 2em;
  }
  .case .post-body dl {
    display: block;
  }
  .case .post-body dl::before {
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    left: 15px;
    top: 15px;
  }
  .case .post-body dl dt {
    text-align: center;
    margin: 0 0 0.5em;
  }
  .case .case-client {
    margin: 0 0 3em;
    display: block;
    padding: 1.5em;
  }
  .case .case-client .thumb {
    margin: 0 0 0.7em;
  }
  .case .case-client .description h3 {
    text-align: center;
  }
  .lp2404-header .page-header-ttl h1 {
    font-size: clamp(1.25rem, 0.964rem + 1.43vw, 1.5rem);
  }
  .ir-ss .page-header {
    margin: 1.5rem 0 2rem;
  }
  .ir-ss h2 {
    font-size: clamp(1.25rem, 0.882rem + 0.71vw, 1.5rem);
    margin: 0 0 1rem;
  }
  .ir-ss__nav ol {
    grid-template-columns: 1fr;
  }
  .ir-ss__history--timeline .inner {
    padding-bottom: 10px;
  }
  .ir-ss__history--timeline .inner img {
    width: auto;
    height: 480px;
  }
  .ir-ss__history--market-column {
    grid-template-columns: 1fr;
  }
  .ir-ss__biz--body {
    padding: 0 20px;
  }
  .ir-card__header a.btn {
    position: static;
    margin: 5px 0;
  }
  .ir-card__body table.ir-table {
    margin: 0;
  }
  .ir-footer {
    margin-top: 3rem;
    padding: 2rem 0;
  }
  .ir-footer__nav {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .ir-headline {
    padding: 0;
  }
  .ir-headline dl {
    display: block;
    border-bottom: 1px solid #dbdce0;
    padding-bottom: 0.75rem;
  }
  .ir-headline dl + dl {
    margin-top: 1rem;
  }
  .ir-headline dl dt {
    line-height: 1.5;
    margin: 0 0 0.3rem;
  }
  .news-filter dl {
    display: block;
  }
  .news-filter dl dt {
    text-align: center;
    border-bottom: 1px solid #dbdce0;
    padding: 0 0 0.3rem;
    margin: 0 0 0.7rem;
  }
  .news-filter dl dd select {
    width: 100%;
  }
  .news-filter dl.news-filter__cat dd {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .news-filter dl.news-filter__cat dd label + label {
    margin-left: 0;
  }
  .ir-gr table th,
  .ir-gr table td {
    display: block;
    padding: 1rem;
  }
  .ir-gr table th {
    border-bottom: none;
    padding-bottom: 0;
    width: auto;
  }
  .ir-gr table td {
    padding-top: 0.5rem;
  }
  .ir-kv {
    height: 260px;
  }
  .ir-kv .container h1 span.en,
  .ir-kv .container h1 span.date,
  .ir-kv .container h1 span.home__copy,
  .ir-kv .container h1 .terra-x dl dd ul li .title span.label,
  .terra-x dl dd ul li .title .ir-kv .container h1 span.label,
  .ir-kv .container h1 .service__scroll--wrap .item span.num,
  .service__scroll--wrap .item .ir-kv .container h1 span.num,
  .ir-kv .container h1 .survey-tl__soft h2 span.label,
  .survey-tl__soft h2 .ir-kv .container h1 span.label,
  .ir-kv .container h1 .survey-tl__case .service__case--article .thumb span.label,
  .survey-tl__case .service__case--article .thumb .ir-kv .container h1 span.label,
  .ir-kv .inspection__ut--header .container h1 .item .label span,
  .inspection__ut--header .ir-kv .container h1 .item .label span,
  .ir-kv .inspection__ut--header .container .item .label h1 span,
  .inspection__ut--header .ir-kv .container .item .label h1 span,
  .ir-kv .container h1 .utm__group--item .item-case-header span,
  .utm__group--item .item-case-header .ir-kv .container h1 span,
  .ir-kv .container h1 .lp2404-agree__item--ttl span.company-name,
  .lp2404-agree__item--ttl .ir-kv .container h1 span.company-name {
    font-size: clamp(1.25rem, 0.964rem + 1.43vw, 1.5rem);
  }
  .ir-kv .container h1 span.ja {
    font-size: clamp(1rem, 0.714rem + 1.43vw, 1.25rem);
  }
  .ir-grid {
    margin-top: 2rem;
  }
  .ir-grid__ceo {
    display: block;
  }
  .ir-grid__ceo .thumb {
    width: 200px;
    margin: 0 auto 15px;
  }
  .ir-ir__footer ul {
    grid-template-columns: 1fr;
  }
  .finance-block__grid {
    grid-template-columns: 1fr;
  }
  .finance-block__grid .item h3 {
    font-size: clamp(1.063rem, 0.848rem + 1.07vw, 1.25rem);
    margin: 0 0 0.5rem;
  }
  .ir-library__latest--header h2 {
    text-align: center;
    margin: 0 0 1rem;
  }
  .ir-library__latest--header a.btn {
    position: static;
    margin: 5px 0;
  }
  .ir-library__latest--grid {
    grid-template-columns: 1fr;
  }
  .ir-library__report--list + .ir-library__report--list {
    margin-top: 2.5rem;
  }
  .ir-library__report--list dl dt,
  .ir-library__report--list dl dd {
    padding-top: 0;
    padding-bottom: 0;
  }
  .ir-investor__nav ol {
    grid-template-columns: 1fr;
  }
  .ir-investor__history--timeline .inner {
    padding-bottom: 10px;
  }
  .ir-investor__history--timeline .inner img {
    width: auto;
    height: 480px;
  }
  .ir-investor__history--market-column {
    grid-template-columns: 1fr;
  }
  .ir-investor__biz--body {
    padding: 0 20px;
  }
  .ir-message .container .thumb {
    float: none;
    margin: 0 auto 30px;
    text-align: center;
  }
  .ir-message__footer {
    padding: 1.5rem;
  }
  .max-600 {
    display: none;
  }
  .message--large {
    font-size: 1.5rem;
  }
  .recruit-people-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .recruit__lead p {
    font-size: 0.875rem;
  }
  .entry__btn-item {
    max-width: 20.125rem;
  }

  .entry__btn-item + .entry__btn-item {
    margin-left: 1.75rem;

  }

  .entry__btn {
    font-size: 1.25rem;
  }
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  .co-footer {
    background-image: url('./images/footer_bg@2x.png');
    background-size: auto auto;
  }
}
@media (hover: hover) {
  .co-header__menu .inner > ul > li > a:where(:-moz-any-link, :enabled, summary):hover {
    color: #143894;
  }
  .co-header__menu .inner > ul > li > a:where(:any-link, :enabled, summary):hover {
    color: #143894;
  }
  .co-header__menu__mega dl dt a:where(:-moz-any-link, :enabled, summary):hover {
    color: #0f0f57;
  }
  .co-header__menu__mega dl dt a:where(:any-link, :enabled, summary):hover {
    color: #0f0f57;
  }
  .co-header__menu__mega dl dd ul li a:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
  }
  .co-header__menu__mega dl dd ul li a:where(:any-link, :enabled, summary):hover {
    color: #fff;
  }
  .co-header__menu__mega dl dd ul li a:where(:-moz-any-link, :enabled, summary):hover::before {
    width: 100%;
    opacity: 1;
  }
  .co-header__menu__mega dl dd ul li a:where(:any-link, :enabled, summary):hover::before {
    width: 100%;
    opacity: 1;
  }
  .co-header .nav-lang dl dt:where(:-moz-any-link, :enabled, summary):hover svg {
    fill: #143894;
  }
  .co-header .nav-lang dl dt:where(:any-link, :enabled, summary):hover svg {
    fill: #143894;
  }
  .co-header .nav-lang dl dd ul li a:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
  }
  .co-header .nav-lang dl dd ul li a:where(:any-link, :enabled, summary):hover {
    color: #fff;
  }
  .co-header .nav-lang dl dd ul li a:where(:-moz-any-link, :enabled, summary):hover::before {
    width: 100%;
  }
  .co-header .nav-lang dl dd ul li a:where(:any-link, :enabled, summary):hover::before {
    width: 100%;
  }
  .co-header .nav-lang a:where(:-moz-any-link, :enabled, summary):hover svg {
    fill: #143894;
  }
  .co-header .nav-lang a:where(:any-link, :enabled, summary):hover svg {
    fill: #143894;
  }
  .co-header .nav-toggle button:where(:-moz-any-link, :enabled, summary):hover span:nth-child(1) {
    top: 13px;
  }
  .co-header .nav-toggle button:where(:any-link, :enabled, summary):hover span:nth-child(1) {
    top: 13px;
  }
  .co-header .nav-toggle button:where(:-moz-any-link, :enabled, summary):hover span:nth-child(3) {
    top: 27px;
  }
  .co-header .nav-toggle button:where(:any-link, :enabled, summary):hover span:nth-child(3) {
    top: 27px;
  }
  .co-footer__nav--col a:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
  .co-footer__nav--col a:where(:any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
  .co-footer__contact a:where(:-moz-any-link, :enabled, summary):hover {
    background: rgba(255, 255, 255, 0.3);
  }
  .co-footer__contact a:where(:any-link, :enabled, summary):hover {
    background: rgba(255, 255, 255, 0.3);
  }
  .co-footer__sns ul li a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .co-footer__sns ul li a:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .btn:where(:-moz-any-link, :enabled, summary):hover::before {
    width: 320px;
    height: 320px;
    opacity: 1;
  }
  .btn:where(:any-link, :enabled, summary):hover::before {
    width: 320px;
    height: 320px;
    opacity: 1;
  }
  .btn.large:where(:-moz-any-link, :enabled, summary):hover::before {
    width: 420px;
    height: 420px;
  }
  .btn.large:where(:any-link, :enabled, summary):hover::before {
    width: 420px;
    height: 420px;
  }
  .btn-outline:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
  }
  .btn-outline:where(:any-link, :enabled, summary):hover {
    color: #fff;
  }
  .btn-external.inverse:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
  }
  .btn-external.inverse:where(:any-link, :enabled, summary):hover {
    color: #fff;
  }
  .btn-external.inverse:where(:-moz-any-link, :enabled, summary):hover::before {
    background: #143894;
  }
  .btn-external.inverse:where(:any-link, :enabled, summary):hover::before {
    background: #143894;
  }
  .breadcrumb ol li a:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
  .breadcrumb ol li a:where(:any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
  .cat a:where(:-moz-any-link, :enabled, summary):hover {
    border-color: #adadad;
  }
  .cat a:where(:any-link, :enabled, summary):hover {
    border-color: #adadad;
  }
  .news-list__item a:where(:-moz-any-link, :enabled, summary):hover {
    padding-left: 1em;
  }
  .news-list__item a:where(:any-link, :enabled, summary):hover {
    padding-left: 1em;
  }
  .news-list__item a:where(:-moz-any-link, :enabled, summary):hover::before {
    width: 100%;
  }
  .news-list__item a:where(:any-link, :enabled, summary):hover::before {
    width: 100%;
  }
  .wp-pagenavi span:where(:-moz-any-link, :enabled, summary):hover,
  .wp-pagenavi a:where(:-moz-any-link, :enabled, summary):hover {
    background: rgb(229.15, 229.15, 229.15);
  }
  .wp-pagenavi span:where(:any-link, :enabled, summary):hover,
  .wp-pagenavi a:where(:any-link, :enabled, summary):hover {
    background: rgb(229.15, 229.15, 229.15);
  }
  .share-sns ul li a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .share-sns ul li a:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .modal__btn:where(:-moz-any-link, :enabled, summary):hover span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .modal__btn:where(:any-link, :enabled, summary):hover span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .modal__btn:where(:-moz-any-link, :enabled, summary):hover span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .modal__btn:where(:any-link, :enabled, summary):hover span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .home__service--link ul li a:where(:-moz-any-link, :enabled, summary):hover .icon-service {
    background: #25a1f4;
  }
  .home__service--link ul li a:where(:any-link, :enabled, summary):hover .icon-service {
    background: #25a1f4;
  }
  .home__service--link ul li a:where(:-moz-any-link, :enabled, summary):hover h3 {
    color: #143894;
  }
  .home__service--link ul li a:where(:any-link, :enabled, summary):hover h3 {
    color: #143894;
  }
  .home-title a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.75;
  }
  .home-title a:where(:any-link, :enabled, summary):hover {
    opacity: 0.75;
  }
  .home__ir--link a:where(:-moz-any-link, :enabled, summary):hover {
    color: #143894;
  }
  .home__ir--link a:where(:any-link, :enabled, summary):hover {
    color: #143894;
  }
  .home__ir--news .news-list__item a:where(:-moz-any-link, :enabled, summary):hover {
    padding-left: 2.5rem;
  }
  .home__ir--news .news-list__item a:where(:any-link, :enabled, summary):hover {
    padding-left: 2.5rem;
  }
  .home__media--body ul li a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .home__media--body ul li a:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .service__case--article a:not(.btn):where(:-moz-any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.15);
  }
  .service__case--article a:not(.btn):where(:any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.15);
  }
  .service-survey__list ul li a:where(:-moz-any-link, :enabled, summary):hover {
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.12);
  }
  .service-survey__list ul li a:where(:any-link, :enabled, summary):hover {
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.12);
  }
  .service-survey__list ul li a:where(:-moz-any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.1);
  }
  .service-survey__list ul li a:where(:any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.1);
  }
  .survey-tl__kv--nav ul li a:where(:-moz-any-link, :enabled, summary):hover {
    background: rgba(255, 255, 255, 0.1);
  }
  .survey-tl__kv--nav ul li a:where(:any-link, :enabled, summary):hover {
    background: rgba(255, 255, 255, 0.1);
  }
  .news__col--side--filter button:where(:-moz-any-link, :enabled, summary):hover .line {
    background: #f7f7f7;
  }
  .news__col--side--filter button:where(:any-link, :enabled, summary):hover .line {
    background: #f7f7f7;
  }
  .news__col--side--filter button:where(:-moz-any-link, :enabled, summary):hover .line span:nth-child(2) {
    width: 17px;
  }
  .news__col--side--filter button:where(:any-link, :enabled, summary):hover .line span:nth-child(2) {
    width: 17px;
  }
  .news__col--side--filter button:where(:-moz-any-link, :enabled, summary):hover .line span:nth-child(3) {
    width: 12px;
  }
  .news__col--side--filter button:where(:any-link, :enabled, summary):hover .line span:nth-child(3) {
    width: 12px;
  }
  .news__col--side ul.side-cat li a:where(:-moz-any-link, :enabled, summary):hover::before {
    background: #adadad;
  }
  .news__col--side ul.side-cat li a:where(:any-link, :enabled, summary):hover::before {
    background: #adadad;
  }
  .news__ranking .tab-contents ul li a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .news__ranking .tab-contents ul li a:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .post-footer .content-link a:where(:-moz-any-link, :enabled, summary):hover {
    background: rgb(229.15, 229.15, 229.15);
  }
  .post-footer .content-link a:where(:any-link, :enabled, summary):hover {
    background: rgb(229.15, 229.15, 229.15);
  }
  .media__category ul li a:where(:-moz-any-link, :enabled, summary):hover {
    background: #143894;
    color: #fff;
  }
  .media__category ul li a:where(:any-link, :enabled, summary):hover {
    background: #143894;
    color: #fff;
  }
  .media__category ul li a:where(:-moz-any-link, :enabled, summary):hover::before {
    right: 15px;
    background: #fff;
  }
  .media__category ul li a:where(:any-link, :enabled, summary):hover::before {
    right: 15px;
    background: #fff;
  }
  .recruit__open ul li a:where(:-moz-any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.15);
  }
  .recruit__open ul li a:where(:any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.15);
  }
  .recruit__open ul li a:where(:-moz-any-link, :enabled, summary):hover .thumb::before {
    background: #143894;
  }
  .recruit__open ul li a:where(:any-link, :enabled, summary):hover .thumb::before {
    background: #143894;
  }
  .recruit__open ul li a:where(:-moz-any-link, :enabled, summary):hover .thumb::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
  }
  .recruit__open ul li a:where(:any-link, :enabled, summary):hover .thumb::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
  }
  .recruit__people--body ul li a:where(:-moz-any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.15);
  }
  .recruit__people--body ul li a:where(:any-link, :enabled, summary):hover .thumb img {
    transform: scale(1.15);
  }
  .recruit__people--body ul li a:where(:-moz-any-link, :enabled, summary):hover .description::before {
    background: #143894;
  }
  .recruit__people--body ul li a:where(:any-link, :enabled, summary):hover .description::before {
    background: #143894;
  }
  .recruit__people--body ul li a:where(:-moz-any-link, :enabled, summary):hover .description::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
  }
  .recruit__people--body ul li a:where(:any-link, :enabled, summary):hover .description::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox=' 0 0 21 21'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M2.4.6A1.8 1.8 0 0 0 .6 2.4v16.2a1.8 1.8 0 0 0 1.8 1.8h16.2a1.8 1.8 0 0 0 1.8-1.8v-6.3a.9.9 0 1 0-1.8 0v6.3H2.4V2.4h6.3a.9.9 0 0 0 0-1.8H2.4Zm17.737.263a.9.9 0 0 1 .263.632V6.9a.9.9 0 1 1-1.8 0V3.673l-9.263 9.264a.9.9 0 0 1-1.275-1.274L17.327 2.4H14.1a.9.9 0 0 1 0-1.8h5.4a.898.898 0 0 1 .637.263Z' clip-rule='evenodd'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
  }
  .recruit__voice--body .item a:where(:-moz-any-link, :enabled, summary):hover::before {
    height: 100%;
  }
  .recruit__voice--body .item a:where(:any-link, :enabled, summary):hover::before {
    height: 100%;
  }
  .recruit__voice--body .item a:where(:-moz-any-link, :enabled, summary):hover .description h3 {
    color: #fff;
  }
  .recruit__voice--body .item a:where(:any-link, :enabled, summary):hover .description h3 {
    color: #fff;
  }
  .recruit__voice--body .item a:where(:-moz-any-link, :enabled, summary):hover .description .info > * {
    color: #fff;
  }
  .recruit__voice--body .item a:where(:any-link, :enabled, summary):hover .description .info > * {
    color: #fff;
  }
  .ir-ss__banner a:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
  }
  .ir-ss__banner a:where(:any-link, :enabled, summary):hover {
    color: #fff;
  }
  .ir-ss__banner a:where(:-moz-any-link, :enabled, summary):hover::after {
    background-size: 100% auto;
  }
  .ir-ss__banner a:where(:any-link, :enabled, summary):hover::after {
    background-size: 100% auto;
  }
  .ir-ss__banner a:where(:-moz-any-link, :enabled, summary):hover span::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23fff' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
  }
  .ir-ss__banner a:where(:any-link, :enabled, summary):hover span::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 13'%3E%3Cpath fill='%23fff' d='M19.694.755a1 1 0 0 0-1.388 1.44l3.515 3.388H1a1 1 0 0 0 0 2h20.82l-3.514 3.387a1 1 0 0 0 1.388 1.44l5.3-5.107a1 1 0 0 0 0-1.44l-5.3-5.108Z'/%3E%3C/svg%3E")
      50% 50%/100% 100% no-repeat;
  }
  .ir-ss__nav ol li a:where(:-moz-any-link, :enabled, summary):hover {
    background: rgb(222.4230769231, 237.2307692308, 249.0769230769);
  }
  .ir-ss__nav ol li a:where(:any-link, :enabled, summary):hover {
    background: rgb(222.4230769231, 237.2307692308, 249.0769230769);
  }
  .ir-card > a:where(:-moz-any-link, :enabled, summary):hover {
    box-shadow: 0 0 0 2px #143894 inset;
  }
  .ir-card > a:where(:any-link, :enabled, summary):hover {
    box-shadow: 0 0 0 2px #143894 inset;
  }
  .ir-footer__nav .ir-card__body ul li a:where(:-moz-any-link, :enabled, summary):hover {
    color: #143894;
    text-decoration: underline;
  }
  .ir-footer__nav .ir-card__body ul li a:where(:any-link, :enabled, summary):hover {
    color: #143894;
    text-decoration: underline;
  }
  .ir-headline dl dd a:where(:-moz-any-link, :enabled, summary):hover {
    color: #143894;
    text-decoration: underline;
  }
  .ir-headline dl dd a:where(:any-link, :enabled, summary):hover {
    color: #143894;
    text-decoration: underline;
  }
  .ir-menu ul.ir-menu__nav a:where(:-moz-any-link, :enabled, summary):hover,
  .ir-menu ul.ir-menu__nav span:where(:-moz-any-link, :enabled, summary):hover {
    color: #143894;
  }
  .ir-menu ul.ir-menu__nav a:where(:any-link, :enabled, summary):hover,
  .ir-menu ul.ir-menu__nav span:where(:any-link, :enabled, summary):hover {
    color: #143894;
  }
  .ir-investor__nav ol li a:where(:-moz-any-link, :enabled, summary):hover {
    background: rgb(222.4230769231, 237.2307692308, 249.0769230769);
  }
  .ir-investor__nav ol li a:where(:any-link, :enabled, summary):hover {
    background: rgb(222.4230769231, 237.2307692308, 249.0769230769);
  }
}
