@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@600&family=Roboto:wght@700&display=swap";
@import "https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp-narrow.min.css";
@import "https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanmp-narrow.min.css";

[data-simplebar] {
  position: relative;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: " ";
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  -ms-flex-positive: inherit;
  flex-grow: inherit;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  background: black;
  border-radius: 7px;
  left: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 0.5;
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 2px;
  height: 7px;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

[data-simplebar-direction="rtl"] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@keyframes swing1 {
  0% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  35% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(5deg) translateY(-10px);
  }

  50% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  85% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-5deg) translateY(-10px);
  }

  100% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }
}

@keyframes swing2 {
  0% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  35% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-5deg) translateY(-10px);
  }

  50% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  85% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(5deg) translateY(-10px);
  }

  100% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }
}

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -4px, 0);
  }
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
input,
textarea,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
main,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

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

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

img,
svg,
iframe {
  vertical-align: top;
}

button {
  font-family: inherit;
}

html {
  font-size: 10px;
}

@media screen and (max-width: 1366px) {
  html {
    font-size: 0.73206vw;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 1.30208vw;
  }
}

body {
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
  position: relative;
  color: #000;
  background: #fff;
  font-family: YakuHanJP_Narrow, "游ゴシック体", YuGothic, "游ゴシック Medium",
    Yu Gothic Medium, "游ゴシック", Yu Gothic, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  line-height: 1.75;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.125vw;
  }
}

body.is-show-nav,
body.is-show-modal {
  overflow: hidden;
}

a {
  outline: none;
  color: #000;
  text-decoration: underline;
  -webkit-tap-highlight-color: transparent;
}

@media screen and (min-width: 769px) {
  a:hover,
  a:active {
    text-decoration: none;
  }
}

img {
  max-width: 100%;
  height: auto;
}

::selection {
  background: #000;
  color: #fff;
}

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

@media screen and (min-width: 769px) {
  .only-sp {
    display: none !important;
  }
}

.js-fit-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.js-disabled {
  pointer-events: none;
  opacity: 0.15;
}

.text-align-right {
  text-align: right;
}

.layout-container {
  overflow: hidden;
}

.layout-footer {
  position: relative;
  margin-top: 12rem;
  color: #fff;
}

.layout-footer:before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 15rem);
  content: "";
  display: block;
  background: #000;
}

.layout-footer__1st,
.layout-footer__2nd,
.layout-footer__3rd {
  position: relative;
  z-index: 9;
}

.layout-footer__1st {
  padding: 0 4rem;
}

@media screen and (max-width: 768px) {
  .layout-footer__1st {
    padding: 0 3rem;
  }
}

.layout-footer__2nd {
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .layout-footer__2nd {
    display: none;
  }
}

.layout-footer__3rd {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 1rem;
  padding: 4rem;
}

@media screen and (max-width: 768px) {
  .layout-footer__3rd {
    display: block;
    padding: 6rem 3rem;
    text-align: center;
  }
}

.layout-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 10rem;
  z-index: 999;
  transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
  .layout-header {
    height: 10rem;
    padding: 0 10rem 0 4rem;
  }
}

.is-scrolled .layout-header {
  top: 2rem;
  left: 2rem;
  width: calc(100% - 4rem);
  height: 8rem;
  background: #fff;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
  .is-scrolled .layout-header {
    height: 10rem;
  }
}

.layout-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 99999;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.is-loaded .layout-loading {
  opacity: 0;
  pointer-events: none;
}

.animation-slide-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: transform;
}

.animation-slide-up.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.archive-works {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .archive-works {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.archive-works__item {
  width: 34.6rem;
  margin-right: 8rem;
}

@media screen and (max-width: 768px) {
  .archive-works__item {
    width: calc(50% - 1rem);
    margin-right: 0;
  }
}

.archive-works__item:nth-of-type(3n) {
  margin-right: 0;
}

.archive-works__item:nth-of-type(n + 4) {
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .archive-works__item:nth-of-type(n + 3) {
    margin-top: 6rem;
  }
}

.archive-works__item > span {
  display: block;
  cursor: pointer;
}

.archive-works__item > span:hover .archive-works__image img,
.archive-works__item > span:active .archive-works__image img {
  transform: scale(1.05);
}

.archive-works__image {
  overflow: hidden;
  height: 23rem;
}

.archive-works__image img {
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.archive-works__body {
  margin-top: 1.5rem;
}

.archive-works__heading {
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .archive-works__heading {
    line-height: 1.4;
  }
}

.article-works {
  padding: 4rem 0;
}

.article-works__title {
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .article-works__title {
    font-size: 3.2rem;
  }
}

.article-works__body {
  margin-top: 2rem;
  padding: 5rem;
  border-top: 0.5rem solid #e87701;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .article-works__body {
    padding: 4rem;
  }
}

.article-works__image {
  padding-bottom: 6rem;
}

.article-works__data {
  width: 100%;
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .article-works__data {
    display: block;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .article-works__data tbody,
  .article-works__data tr {
    display: block;
  }
}

.article-works__data th {
  width: 20%;
  padding: 1.5rem;
  border-top: 0.1rem solid #e87701;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .article-works__data th {
    display: block;
    width: auto;
    padding: 2rem 2rem 1rem;
    border-top: 0.2rem solid #d7d4d1;
  }
}

.article-works__data td {
  width: 80%;
  padding: 1.5rem;
  border-top: 0.1rem solid #d7d4d1;
}

@media screen and (max-width: 768px) {
  .article-works__data td {
    display: block;
    width: auto;
    padding: 0 2rem 2rem;
    border-top: none;
  }
}

.button-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 10rem;
}

.button {
  position: relative;
  display: block;
  min-width: 30rem;
  padding: 0;
  color: #fff;
  outline: none;
  border: none;
  background: #000;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .button {
    min-width: 40rem;
  }
}

.button > span {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 8rem;
}

@media screen and (max-width: 768px) {
  .button > span {
    height: 10rem;
  }
}

.button > span:after {
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 2rem;
  width: 0.9rem;
  height: 1.5rem;
  content: "";
  display: block;
  background: url(../img/common/arw_button.svg) no-repeat center center;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .button > span:after {
    position: absolute;
    top: calc(50% - 1.1rem);
    right: 2rem;
    width: 3.8rem;
    height: 2.2rem;
  }
}

.button > span:hover:after,
.button > span:active:after {
  animation: arrow 0.6s cubic-bezier(0.39, 0.575, 0.565, 1) 1;
}

@keyframes arrow {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  30% {
    transform: translateX(100%);
    opacity: 0;
  }

  50% {
    transform: translateX(-100%);
    opacity: 0;
  }

  70% {
    transform: translateX(-100%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.button--bg-white {
  color: #000;
  background: #fff;
}

.button--low {
  min-width: 26rem;
}

@media screen and (max-width: 768px) {
  .button--low {
    min-width: 40rem;
  }
}

.button--low > span {
  height: 5.6rem;
}

@media screen and (max-width: 768px) {
  .button--low > span {
    height: 10rem;
  }
}

.button-privacy {
  font-size: 1.2rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .button-privacy {
    font-size: 2rem;
  }
}

.button-privacy a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.button-privacy a:hover,
.button-privacy a:active {
  color: #e87701;
}

.button-contact {
  position: absolute;
  top: 0;
  right: 0;
  width: 20rem;
  height: 100%;
  z-index: 9;
  background: #000;
}

@media screen and (max-width: 768px) {
  .button-contact {
    width: 40rem;
    height: 10rem;
    position: static;
    margin-top: 8rem;
  }
}

.button-contact a {
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.button-contact a:hover,
.button-contact a:active {
  color: #e87701;
}

.button-hamburger {
  position: absolute;
  top: 0;
  right: 0;
  width: 10rem;
  height: 100%;
  padding: 0;
  outline: none;
  border: none;
  background: #000;
  display: none;
  z-index: 99;
}

@media screen and (max-width: 768px) {
  .button-hamburger {
    display: block;
  }
}

.button-hamburger__line {
  position: absolute;
  top: 50%;
  left: calc(50% - 2rem);
  width: 4rem;
  height: 1px;
  background: #fff;
  transition: top 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s,
    transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1),
    opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s;
}

.button-hamburger__line:nth-of-type(1) {
  top: calc(50% - 1.6rem);
}

.button-hamburger__line:nth-of-type(3) {
  top: calc(50% + 1.4rem);
}

.is-show-nav .button-hamburger__line {
  transition: top 0.2s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1) 0.2s,
    opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.is-show-nav .button-hamburger__line:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}

.is-show-nav .button-hamburger__line:nth-of-type(2) {
  opacity: 0;
}

.is-show-nav .button-hamburger__line:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
}

.gallery-works__item {
  vertical-align: top;
}

.gallery-works__item img {
  width: 100%;
}

.gallery-works .slick-track {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.gallery-works .slick-slide {
  float: none;
}

.gallery-works .slick-arrow {
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: calc(50% - 3rem);
  padding: 0;
  outline: none;
  border: none;
  background: #e87701 url(../img/common/arw_button_white.svg) no-repeat center
    center;
  background-size: 1.2rem auto;
  font-size: 0;
  line-height: 0;
  z-index: 9;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .gallery-works .slick-arrow {
    background-size: 1.6rem auto;
  }
}

.gallery-works .slick-prev {
  left: -8rem;
  transform: rotate(180deg);
}

.gallery-works .slick-next {
  right: -8rem;
}

.gallery-works .slick-dots {
  position: absolute;
  bottom: -3rem;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .gallery-works .slick-dots {
    bottom: -4.6rem;
  }
}

.gallery-works .slick-dots li {
  padding: 0 1rem;
  line-height: 0;
  font-size: 0;
}

.gallery-works .slick-dots li.slick-active button {
  background: #e87701;
}

.gallery-works .slick-dots button {
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
  color: #fff;
  outline: none;
  border: none;
  background: #ccc;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
  .gallery-works .slick-dots button {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 100%;
  }
}

.heading {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
}

.hero {
  position: relative;
  height: 100vh;
  min-height: 65rem;
}

@media screen and (max-width: 768px) {
  .hero {
    height: calc(var(--vh, 1vh) * 100);
  }
}

.hero__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero__background:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 3rem);
  content: "";
  display: block;
  background: #000;
}

@media screen and (max-width: 768px) {
  .hero__background:before {
    width: calc(100% - 3rem);
    height: calc(100% - 3rem);
    left: 3rem;
  }
}

.hero__background:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background: url(../img/home/img_hero.png) no-repeat center center;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .hero__background:after {
    background-image: url(../img/home/img_hero@sp.png);
    background-position: center center;
    background-size: cover;
  }
}

.hero__background--factory:after {
  background-image: url(../img/factory/img_hero.png);
}

.hero__background--warehouse:after {
  background-image: url(../img/warehouse/img_hero.png);
}

.hero__background--office:after {
  background-image: url(../img/office/img_hero.png);
}

.hero__background--medical:after {
  background-image: url(../img/medical/img_hero.png);
}
.hero__background--welfare:after {
  background-image: url(../img/welfare/img_hero.png);
}

.hero__background--technology:after {
  background-image: url(../img/technology/img_hero.png);
}

.hero__background--caregiving:after {
  background-image: url(../img/caregiving/img_hero.png);
}

/*------ /technology/ detail background ------*/

.hero__background--technology--detail01:after {
  background-image: url(../img/technology/detail01/detail_img_hero.png);
}

/* ------------------------------------------ */

.hero__foreground {
  position: relative;
  z-index: 9;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  padding-left: 12rem;
}

@media screen and (max-width: 768px) {
  .hero__foreground {
    -ms-flex-align: end;
    align-items: flex-end;
    padding-left: 8rem;
    padding-bottom: 20rem;
  }
}

.hero__foreground--2nd {
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .hero__foreground--2nd {
    -ms-flex-align: center;
    align-items: center;
    padding-left: 0;
    padding-bottom: 0;
  }
}

.hero__heading {
  color: #e87701;
  font-size: 2.4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .hero__heading {
    font-size: 2.8rem;
  }
}

.hero__text {
  width: 69.6rem;
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .hero__text {
    width: 62.8rem;
    margin-top: 4rem;
  }
}

.hero__lead {
  letter-spacing: 0.1em;
}

.hero__lead p {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 1rem 1rem 0.7rem;
  color: #fff;
  background: #000;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .hero__lead p {
    padding: 1.6rem;
  }
}

.hero__lead p:before {
  position: absolute;
  top: 50%;
  left: -3rem;
  width: 6rem;
  height: 0.1rem;
  content: "";
  display: block;
  background: #fff;
}

.hero__lead p:after {
  position: absolute;
  top: 50%;
  right: -3rem;
  width: 6rem;
  height: 0.1rem;
  content: "";
  display: block;
  background: #fff;
}

.hero__title {
  margin-top: 3rem;
  color: #fff;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.hero__scroll {
  position: absolute;
  bottom: 0;
  left: 5.5rem;
  padding-bottom: 8rem;
  color: #fff;
  font-family: Cinzel, serif;
  font-size: 1rem;
  line-height: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 9;
}

@media screen and (max-width: 768px) {
  .hero__scroll {
    left: auto;
    right: 8rem;
    padding-bottom: 10rem;
    font-size: 2rem;
  }
}

.hero__scroll:before {
  position: absolute;
  top: 0;
  left: -1.5rem;
  width: 0.1rem;
  height: 100%;
  content: "";
  display: block;
  background: #ccc;
}

@media screen and (max-width: 768px) {
  .hero__scroll:before {
    width: 0.2rem;
  }
}

.hero__scroll:after {
  position: absolute;
  top: 0;
  left: -1.5rem;
  width: 0.1rem;
  height: 0;
  content: "";
  display: block;
  background: #e87701;
  animation: scroll_down 2s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
}

@media screen and (max-width: 768px) {
  .hero__scroll:after {
    width: 0.2rem;
  }
}

@keyframes scroll_down {
  0% {
    top: 0;
    bottom: auto;
    height: 0;
  }

  40% {
    top: 0;
    bottom: auto;
    height: 100%;
  }

  50% {
    top: auto;
    bottom: 0;
    height: 100%;
  }

  90% {
    top: auto;
    bottom: 0;
    height: 0;
  }
}

.list-service {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .list-service {
    display: block;
  }
}

.list-service__item {
  width: 56rem;
}

@media screen and (max-width: 768px) {
  .list-service__item {
    width: auto;
  }
}

.list-service__item:nth-of-type(2n) {
  margin-left: 8rem;
}

@media screen and (max-width: 768px) {
  .list-service__item:nth-of-type(2n) {
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .list-service__item:nth-of-type(n + 2) {
    margin-top: 6rem;
  }
}

.list-service__item:nth-of-type(n + 3) {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .list-service__item:nth-of-type(n + 3) {
    margin-top: 6rem;
  }
}

.list-service__item a {
  display: block;
  text-decoration: none;
}

.list-service__item a:hover .list-service__image img,
.list-service__item a:active .list-service__image img {
  transform: scale(1.05);
}

.list-service__image {
  position: relative;
  overflow: hidden;
  height: 28rem;
}

@media screen and (max-width: 768px) {
  .list-service__image {
    height: 35.4rem;
  }
}

.list-service__image:after {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 5rem;
  height: 5rem;
  border-radius: 100%;
  content: "";
  display: block;
  background: #e87701 url(../img/common/arw_button_white.svg) no-repeat center
    center;
  background-size: 0.8rem auto;
}

@media screen and (max-width: 768px) {
  .list-service__image:after {
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    width: 7rem;
    height: 7rem;
    border-radius: 100%;
    background-size: 1.2rem auto;
  }
}

.list-service__image img {
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.list-service__body {
  margin-top: 2.5rem;
}

@media screen and (max-width: 768px) {
  .list-service__body {
    margin-top: 3rem;
  }
}

.list-service__heading {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .list-service__heading {
    font-size: 4.16667vw;
  }
}

.list-service__text {
  margin-top: 2rem;
}

.list-works__item > a {
  display: block;
  text-decoration: none;
}

.list-works__item > a:hover .list-works__image img,
.list-works__item > a:active .list-works__image img {
  transform: scale(1.05);
}

.list-works__image {
  overflow: hidden;
  height: 23rem;
}

.list-works__image img {
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.list-works__body {
  margin-top: 1.5rem;
}

.list-works__heading {
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .list-works__heading {
    line-height: 1.4;
  }
}

.list-works .slick-slide {
  width: 42.6rem;
  padding: 0 4rem;
}

@media screen and (max-width: 768px) {
  .list-works .slick-slide {
    line-height: 1.4;
  }
}

.list-works .slick-arrow {
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 10rem;
  padding: 0;
  outline: none;
  border: none;
  background: url(../img/common/arw_button.svg) no-repeat center center;
  background-size: contain;
  font-size: 0;
  line-height: 0;
  z-index: 9;
  cursor: pointer;
}

.list-works .slick-prev {
  left: -5rem;
  transform: rotate(180deg);
}

.list-works .slick-next {
  right: -5rem;
}

@media screen and (max-width: 768px) {
  .list-works .slick-prev {
    left: calc(50% - 22.8rem);
    transform: rotate(180deg);
  }

  .list-works .slick-next {
    right: calc(50% - 22.8rem);
  }
}

.list-works .slick-dots {
  position: absolute;
  bottom: -6rem;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .list-works .slick-dots {
    bottom: -12rem;
  }
}

.list-works .slick-dots li {
  padding: 0 0.5rem;
}

.list-works .slick-dots li.slick-active button {
  background: #fff;
}

.list-works .slick-dots button {
  width: 4rem;
  height: 4rem;
  border-radius: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
  outline: none;
  border: none;
  background: none;
  font-family: Cinzel, serif;
  cursor: pointer;
  transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
  .list-works .slick-dots button {
    width: 6rem;
    height: 6rem;
    border-radius: 100%;
  }
}

.list-area {
  margin-top: 3.5rem;
  padding-top: 3.5rem;
  border-top: 0.1rem solid #d7d4d1;
}

@media screen and (max-width: 768px) {
  .list-area {
    margin-top: 5rem;
    padding-top: 5rem;
    border-top: 0.2rem solid #d7d4d1;
  }
}

.list-area__heading {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .list-area__heading {
    font-size: 3.2rem;
  }
}

.list-area__heading small {
  font-size: 1.4rem;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .list-area__heading small {
    font-size: 2rem;
  }
}

.list-area__text {
  margin-top: 2rem;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .list-area__text {
    margin-top: 3rem;
    font-size: 2.4rem;
  }
}

.list-feature__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .list-feature__item {
    display: block;
  }
}

.list-feature__item:nth-of-type(n + 2) {
  margin-top: 8rem;
}

.list-feature__item:nth-of-type(2n) {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.list-feature__image {
  width: 47.5%;
}

@media screen and (max-width: 768px) {
  .list-feature__image {
    width: auto;
  }
}

.list-feature__body {
  width: 47.5%;
}

@media screen and (max-width: 768px) {
  .list-feature__body {
    width: auto;
    margin-top: 3.5rem;
  }
}

.logo {
  position: absolute;
  top: 0;
  left: 4rem;
  width: 15.3rem;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  z-index: 9;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .logo {
    width: 18rem;
  }
}

.is-scrolled .logo {
  background-image: url(../img/common/logo_scrolled.png);
}

.is-scrolled .logo img {
  opacity: 0;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.modal.is-show {
  opacity: 1;
  visibility: visible;
}

.modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  min-height: calc((var(--vh, 1vh) * 100));
  background: rgba(0, 0, 0, 0.9);
  z-index: 0;
}

.modal__body {
  width: 100%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 9;
}

@media screen and (max-width: 768px) {
  .modal__body {
    width: 100%;
    max-width: 68.8rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.modal__close {
  position: fixed;
  top: 2rem;
  right: 4rem;
  width: 6rem;
  height: 6rem;
  background: #e87701;
  z-index: 9;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .modal__close {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    width: 8rem;
    height: 8rem;
    top: auto;
  }
}

.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: calc(50% - 1.5rem);
  width: 3rem;
  height: 1px;
  content: "";
  display: block;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .modal__close:before,
  .modal__close:after {
    position: absolute;
    top: 50%;
    left: calc(50% - 2rem);
    width: 4rem;
    height: 1px;
  }
}

.modal__close:before {
  transform: rotate(45deg);
}

.modal__close:after {
  transform: rotate(-45deg);
}

.nav-global {
  position: relative;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .nav-global {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    font-size: 2.8rem;
    opacity: 0;
    visibility: hidden;
    transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
}

@media screen and (max-width: 768px) {
  .is-show-nav .nav-global {
    opacity: 1;
    visibility: visible;
  }
}

.nav-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  /* justify-content: center; */
  justify-content: end;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  /* width: 75%; */
  /* max-width: 1200px; */
  max-width: 98%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .nav-menu {
    display: block;
    height: auto;
    text-align: center;
  }
}

/* .nav-menu__item:nth-of-type(n+2) {
  margin-left: 4rem
} */

/* .nav-menu__item.nav-menu__item--border {
  position: relative;
} */

/* .nav-menu__item.nav-menu__item--border a {
  border-right: 1px solid #fff;
} */

/* .nav-menu__item.nav-menu__item--border::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 15px;
  height: clamp(10px, 0.78125vw, 15px);
  background-color: #fff;
  display: inline-block;
  top: 42%;
  top: clamp(17px, 1.71875vw, 33px);
  right: -3px;
  transform: translateX(-50%);
}

@media screen and (max-width:1366px) {
  .nav-menu__item.nav-menu__item--border::after {
    height: 13px;
    height: clamp(7px, 0.951683748vw, 13px);
  }
}

@media screen and (max-width:768px) {
  .nav-menu__item.nav-menu__item--border::after {
    display: none;
  }
}

.is-scrolled  .nav-menu__item.nav-menu__item--border::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 15px;
  height: clamp(10px, 0.78125vw, 15px);
  background-color: #000;
  display: inline-block;
  top: 41%;
  top: clamp(17px, 0.71875vw, 33px);
  right: -3px;
  transform: translateX(-50%);
}

@media screen and (max-width:1366px) {
  .is-scrolled  .nav-menu__item.nav-menu__item--border::after {
    height: 13px;
    height: clamp(7px, 0.951683748vw, 13px);
  }
}

@media screen and (max-width:768px) {
  .is-scrolled  .nav-menu__item.nav-menu__item--border::after {
    height: 13px;
    display: none;
  }
} */

@media screen and (max-width: 768px) {
  .nav-menu__item {
    margin-top: 6rem;
  }
}

.nav-menu__item.is-current a {
  color: #e87701;
  font-weight: 700;
}

.nav-menu a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  /* padding: 0 2rem; */
  padding: 0 1.5rem;
}

@media screen and (max-width: 800px) {
  .nav-menu a {
    padding: 0 1.2rem;
  }
}
/* @media screen and (max-width: 825px) {
  .nav-menu a {
    padding: 0 1.5rem;
  }
} */

@media screen and (max-width: 768px) {
  .nav-menu a {
    color: #000;
  }
}

.nav-menu a:hover,
.nav-menu a:active {
  color: #e87701;
}

.nav-menu--sitemap {
  font-size: 1.4rem;
  line-height: 1;
}

.nav-menu--sitemap .nav-menu__item:nth-of-type(n + 2) {
  /* padding-left: 4rem; */
  border-left: 0.1rem solid #fff;
}

.is-scrolled .nav-global .nav-menu__item a {
  color: #000;
}

.is-scrolled .nav-global .nav-menu__item a:hover,
.is-scrolled .nav-global .nav-menu__item a:active {
  color: #e87701;
}

.is-scrolled .nav-global .nav-menu__item.is-current a {
  color: #e87701;
  font-weight: 700;
}

.section {
  position: relative;
  padding: 12rem 4rem 0;
}

@media screen and (max-width: 768px) {
  .section {
    padding: 12rem 3rem 0;
  }
}

.section__bg-white {
  width: 100%;
  max-width: 144rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 9;
  padding: 8rem 12rem 0;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .section__bg-white {
    padding: 6rem 6rem 0;
  }
}

.section__centering {
  width: 100%;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 9;
}

.section__centering > :first-child {
  margin-top: 0;
}

.section__centering--w-narrow {
  width: 100%;
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .section__centering--w-narrow {
    width: 100%;
    max-width: 58.8rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.section__centering--w-wide {
  width: 100%;
  max-width: 86.95652%;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .section__centering--w-wide {
    width: 100%;
    max-width: 70.8rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.section__flex {
  position: relative;
  z-index: 9;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .section__flex {
    display: block;
  }
}

.section__flex .section__column {
  width: 46.66667%;
}

@media screen and (max-width: 768px) {
  .section__flex .section__column {
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  .section__flex .section__column + .section__column {
    margin-top: 8rem;
  }
}

.section__heading {
  position: relative;
  z-index: 9;
  text-align: center;
}

.section__heading-ja {
  display: block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .section__heading-ja {
    font-size: 5.2rem;
  }
}

.section__heading-en {
  display: block;
  margin-top: 0.8rem;
  color: #e87701;
  font-size: 1.4rem;
  font-family: Cinzel, serif;
  letter-spacing: 0.2em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .section__heading-en {
    font-size: 2rem;
  }
}

.section__heading--left {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .section__heading--left {
    text-align: center;
  }
}

.section__lead {
  position: relative;
  z-index: 9;
  margin-top: 5rem;
  font-family: YakuHanMP_Narrow, "游明朝体", YuMincho, "游明朝", Yu Mincho,
    serif;
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .section__lead {
    font-size: 3.125vw;
  }
}

.section__lead--left {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .section__lead--left {
    text-align: center;
  }
}

.section__lead--full {
  padding: 0 4rem;
}

@media screen and (max-width: 768px) {
  .section__lead--full {
    padding: 0 6rem;
  }
}

.section__body {
  position: relative;
  z-index: 9;
  margin-top: 5rem;
}

.section__body > :first-child {
  margin-top: 0;
}

.section--full {
  padding-left: 0;
  padding-right: 0;
}

.section--works {
  position: relative;
  margin-top: 12rem;
  padding-bottom: 12rem;
}

@media screen and (max-width: 768px) {
  .section--works {
    padding-bottom: 18rem;
  }
}

.section--works:before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 144rem;
  height: 100%;
  min-width: 108rem;
  transform: translateX(-50%);
  box-sizing: border-box;
  content: "";
  display: block;
  background: #f5f3f1;
  border-top: 0.5rem solid #e87701;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .section--works:before {
    position: absolute;
    top: 0;
    left: 3rem;
    width: 70.8rem;
    height: 100%;
    min-width: 70.8rem;
    transform: translateX(0);
  }
}

@media screen and (max-width: 768px) {
  .section--works-sp {
    position: relative;
    margin-top: 12rem;
    padding-bottom: 12rem;
    padding-left: 3rem;
    padding-right: 3rem;
    background: #f5f3f1;
    border-top: 0.5rem solid #e87701;
  }
}

@media screen and (max-width: 768px) {
  .section--works-sp:before {
    display: none;
  }
}

.section--area {
  position: relative;
  margin-top: 12rem;
}

.section--area:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 17rem);
  box-sizing: border-box;
  content: "";
  display: block;
  background: url(../img/common/bg_area.jpg) no-repeat center top;
  background-size: cover;
  z-index: 0;
}

.section--about {
  position: relative;
  margin-top: 17rem;
}

.section--about:before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 83.33333%;
  height: calc(100% - 4rem);
  min-width: 120rem;
  transform: translateX(-50%);
  box-sizing: border-box;
  content: "";
  display: block;
  background: #f5f3f1;
  border-top: 0.5rem solid #e87701;
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .section--about:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 70.8rem;
    height: calc(100% - 4rem);
    min-width: 70.8rem;
    transform: translateX(0);
  }
}

.section-contact {
  width: 100%;
  max-width: 144rem;
  margin-left: auto;
  margin-right: auto;
  padding: 5rem 12rem;
  background: url(../img/common/bg_contact.jpg) no-repeat center top;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .section-contact {
    padding: 6rem 3rem;
  }
}

.section-contact__lead {
  font-family: YakuHanMP_Narrow, "游明朝体", YuMincho, "游明朝", Yu Mincho,
    serif;
  font-size: 2rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .section-contact__lead {
    font-size: 2.8rem;
    line-height: 1.4;
  }
}

.section-contact__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .section-contact__list {
    display: block;
  }
}

.section-contact__item {
  width: 42rem;
  padding: 1rem 0;
}

@media screen and (max-width: 768px) {
  .section-contact__item {
    width: auto;
    padding: 0;
  }
}

.section-contact__item:nth-of-type(n + 2) {
  border-left: 0.1rem solid #fff;
}

@media screen and (max-width: 768px) {
  .section-contact__item:nth-of-type(n + 2) {
    margin-top: 5rem;
    border-left: none;
  }
}

.section-contact__heading {
  font-weight: 700;
  line-height: 1;
}

.section-contact__tel-num {
  margin-top: 2rem;
  font-family: Roboto, sans-serif;
  font-size: 4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .section-contact__tel-num {
    font-size: 6rem;
  }
}

.section-contact__tel-time {
  margin-top: 1.5rem;
  font-size: 1.2rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .section-contact__tel-time {
    font-size: 2rem;
  }
}

.section-contact__button {
  width: 100%;
  max-width: 26rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
}

@media screen and (max-width: 768px) {
  .section-contact__button {
    width: 100%;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.text {
  margin-top: 3rem;
}

.text + .text {
  margin-top: 3rem;
}

.text--bold {
  font-weight: 700;
}

.text--right {
  text-align: right;
}

.text--mt-wide {
  margin-top: 5rem;
}

.text-copyright {
  font-size: 1.2rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .text-copyright {
    margin-top: 4rem;
    font-size: 2rem;
  }
}

/*ls追記*/
.article-works__data_flex {
  display: flex;
}

.article-works__data_flex-title {
  width: 70px;
}

/*(施工実績下の番号削除)*/
.section.section--full.section--works .slick-dots {
  display: none !important;
}

/*featuresページ追加*/
.feature-toplist {
  display: flex;
  justify-content: space-between;
  width: 1100px;
  margin: 0 auto 12rem;
}

@media screen and (max-width: 768px) {
  .feature-toplist {
    width: 100%;
  }
}

.feature-toplist__title {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 1.5rem;
}

.hero__background--features::after {
  background-image: url(../img/features/img_hero.png);
}

h3.section__heading.heading {
  margin-top: 3rem;
}

.list-flow__item {
  position: relative;
  margin-bottom: 5rem;
  border-bottom: 1px dotted #d7d4d1;
  padding-bottom: 5rem;
}

.list-flow__item::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 1rem;
  background-color: #e87701;
  position: absolute;
  bottom: 4rem;
  left: 16.3rem;
}

.list-flow__item::after {
  content: "";
  display: block;
  width: 0.4rem;
  height: 10rem;
  background-color: #e87701;
  position: absolute;
  bottom: -5rem;
  left: 17.1rem;
}

.list-flow__item:last-child::before {
  content: none;
}

.list-flow__item:last-child::after {
  content: none;
}

.list-flow__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.list-flow__image {
  margin-right: 4rem;
  width: 34.6rem;
}

.list-flow__step {
  color: #e87701;
}

.list-flow__body {
  width: calc(100% - 38.6rem);
}

.hero__background--download::after {
  background-image: url(../img/download/img_hero.png);
}

.section__dlbody {
  width: 55%;
}

.dl__image {
  margin: 2rem auto;
}

.dl__recommend {
  margin-top: 3rem;
}

.dl__recommend h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.dl__recommend ul {
  padding-left: 2rem;
}

.dl__recommend li {
  list-style-type: disc;
}

.dl__content {
  margin-top: 3rem;
}

.dl__content h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.section__formwrap {
  width: 40%;
  padding: 3rem;
  background-color: #f5f3f1;
}

.section__formwrap input[type="text"] {
  width: 100%;
  padding: 8px 10px;
}

.section__formwrap input[type="tel"] {
  width: 100%;
  padding: 8px 10px;
}

.section__formwrap input[type="checkbox"] {
  display: inline-block;
  margin-right: 1rem;
}

.section__formwrap input[type="submit"] {
  background: none;
  color: #fff;
  font-weight: 700;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.section__formwrap dt {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  line-height: 1;
}

.section__formwrap dl + dl {
  margin-top: 3rem;
}

.must {
  display: inline-block;
  background-color: #e87701;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 0.5rem;
  margin-left: 1rem;
  padding: 0.5rem 1rem 0.5rem;
  line-height: 1;
}

.section__formwrap .submit {
  margin-top: 5rem;
}

.formError {
  margin-top: 1rem;
  color: #ff0000;
  font-weight: 700;
}

.section--dlthanks .heading {
  text-align: center;
}

.section--dlthanks .text {
  text-align: center;
}

.hero.lower {
  height: 35rem;
  min-height: 35rem;
}

.archive-works__heading a {
  text-decoration: none;
}

.button-download {
  position: absolute;
  top: 0;
  right: 20.3rem;
  width: 15rem;
  height: 100%;
  z-index: 9;
  background-color: #e87701;
}

.button-download a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.section-contact__buttonarea {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
}

.section-contact__item {
  width: 56rem;
  padding: 1rem 0;
}

.section-contact__button {
  max-width: 24rem;
  margin-left: 1rem;
  margin-right: 1rem;
}

.section-contact__button .button--low {
  min-width: 24rem;
}

.section--works.section__caselist--works {
  padding-bottom: 0;
}

.section__caselist--works::before {
  height: calc(100% - 4rem);
}

.download__bnr {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #f5f3f1;
  padding: 2.5rem;
  max-width: 100rem;
  margin: 0 auto;
}

.download__bnr__body {
  padding-left: 4rem;
}

.download__bnr__body .text {
  margin-top: 2rem;
}

.download__bnr .button-container {
  margin-top: 3rem;
  justify-content: flex-start;
}

.download__bnr .button > span {
  height: 5rem;
}

@media screen and (max-width: 768px) {
  .hero.lower {
    height: calc(var(--vh, 0.5vh) * 40);
  }

  .list-flow__inner {
    flex-direction: column;
  }

  .list-flow__item::before {
    content: none;
  }

  .list-flow__item::after {
    content: none;
  }

  .list-flow__image {
    width: 100%;
    text-align: center;
    margin-right: 0;
  }

  .list-flow__body {
    width: 100%;
    margin-top: 3rem;
  }

  .section__dlbody {
    width: 100%;
  }

  .section__formwrap {
    width: 100%;
    margin-top: 4rem;
  }

  .download__bnr {
    flex-direction: column;
  }

  .download__bnr__body {
    padding-left: 0;
    margin-top: 4rem;
  }

  .button-download {
    width: 40rem;
    height: 10rem;
    position: static;
    margin-top: 8rem;
  }

  .section-contact__item {
    width: 100%;
    padding: 0;
  }

  .section-contact__button {
    width: 48%;
    max-width: 48%;
  }

  .section-contact__button .button > span::after {
    content: none;
  }
}

.dl_times__title {
  margin-top: 3rem;
  font-size: 2rem;
}

.dl_times__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2.5rem;
}

.dl_times__item {
  width: calc((100% - 10%) / 3);
  margin-right: 5%;
  margin-bottom: 20px;
}

.dl_times__item:nth-of-type(3n) {
  margin-right: 0;
}

.dl_times__item figure {
  margin-bottom: 10px;
}

.dl_times__item figure img {
  width: 100%;
}

.dl_times__text {
  text-align: center;
}

.dl_times__text input {
  margin-right: 10px;
}

/*20220412改善*/
.section--follow-up-service .list-feature__item {
  justify-content: space-around;
  max-width: 144rem;
  margin: 0 auto;
}

.section--follow-up-service .list-feature__body {
  padding: 2rem;
}

/*20220414メガメニュー追加*/
/*コメントアウトのままにしておくこと*/
.layout-footer .nav-menu__item {
  position: relative;
}

.layout-footer .nav-menu__item {
  height: 100%;
}

@media screen and (max-width: 768px) {
  .layout-footer .nav-menu__item {
    height: auto;
  }
}

.layout-footer .nav-menu__item a {
  height: 100%;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .layout-footer .nav-menu__item a {
    display: block;
  }
}

.layout-footer .nav-megamenu__list li a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #333;
  border-bottom: 1px solid #fff;
  color: #fff;
  display: block;
  font-size: 1.6rem;
  padding: 1.5rem 2rem 1.2rem;
  position: relative;
}

.layout-footer .nav-megamenu__list li a::before {
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  content: "";
  display: block;
  background: url(../img/common/arw_button_white.svg) no-repeat center center;
  background-size: 0.8rem auto;
  transition: all 0.3s;
}

.layout-footer .nav-megamenu__list li:last-of-type a {
  border-bottom: none;
}

.layout-footer .nav-megamenu__list li a:hover::before {
  color: #e87701 !important;
  right: 1.3rem;
}

.is-scrolled .layout-footer .nav-megamenu__list li a {
  color: #fff !important;
}

.is-scrolled .layout-footer .nav-megamenu__list li a:hover {
  color: #e87701 !important;
}

.layout-footer ul.nav-megamenu__list {
  visibility: hidden;
  opacity: 0;
  position: relative;
}

/*.layout-footer ul.nav-megamenu__list:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 9.5%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #333;
}*/

.layout-footer li.mega__menu ul.nav-megamenu__list {
  position: absolute;
  top: auto;
  left: 0;
  width: 40rem;
  background: #fff;
  box-sizing: border-box;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
}

.layout-footer .nav-megamenu__list {
  transform: initial;
  padding: 0;
}

.layout-footer li.mega__menu:hover ul.nav-megamenu__list {
  top: auto;
  visibility: visible;
  opacity: 1;
}

li.mega__menu ul.m-footer {
  top: -10rem;
}

li.mega__menu:hover ul.m-footer {
  top: -10rem;
}

.m-footer li a {
  font-size: 1.4rem;
}

ul.m-footer:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 16%;
  margin-left: -15px;
  border: 8px solid transparent;
  border-top: 8px solid #333;
}

.layout-footer .nav-menu__item.is-current .nav-megamenu__list a {
  color: #fff !important;
  font-weight: 100 !important;
}

/*//コメントアウト終わり*/
.under_h2 {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 1rem 1rem 0.7rem;
  color: #fff;
  background: #000;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
}

.under_h2:before {
  position: absolute;
  top: 50%;
  left: -3rem;
  width: 6rem;
  height: 0.1rem;
  content: "";
  display: block;
  background: #fff;
}

.under_h2:after {
  position: absolute;
  top: 50%;
  right: -3rem;
  width: 6rem;
  height: 0.1rem;
  content: "";
  display: block;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .under_h2 {
    padding: 1.6rem;
  }
}

.systembuild,
.section__faq {
  max-width: 1080px;
}

.systembuild {
  margin-right: auto;
  margin-left: auto;
}

.systembuild ul {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}

.systembuild ul li {
  max-width: 370px;
  box-shadow: 0 1px 4px #bbb;
}

.systembuild ul li a {
  transition: 0.3s;
}

.systembuild ul li a:hover {
  opacity: 0.7;
}

.systembuild ul li img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

.systembuild ul li + li {
  margin-left: 20px;
}

@media screen and (max-width: 768px) {
  .systembuild ul {
    display: block;
  }

  .systembuild ul li {
    max-width: inherit;
  }

  .systembuild ul li + li {
    margin-top: 20px;
    margin-left: 0;
  }
}

#faq {
}

#faq dl {
}

#faq dl + dl {
  margin-top: 20px;
}

#faq dt {
  padding: 20px;
  background: #efefef;
  border-left: 3px solid #e87701;
  transition: 0.2s;
  position: relative;
}

#faq dt:after {
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 2rem;
  width: 0.9rem;
  height: 1.5rem;
  content: "";
  display: block;
  background: url(../img/common/arw_button.svg) no-repeat center center;
  background-size: contain;
}

#faq dt:hover {
  color: #e87701;
}

#faq dd {
}

#faq dd div {
  padding: 20px;
}

/*20220704改善*/
.local_nav {
  width: 120rem;
  z-index: 9;
}

@media screen and (max-width: 768px) {
  .local_nav {
    width: 100%;
    padding: 0 3rem;
  }
}

.mv-local_nav {
  position: absolute;
  top: 776px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .mv-local_nav {
    position: static;
    transform: none;
    margin-top: 12rem;
  }
}

.under-local_nav {
  margin: 7rem auto 0;
}

@media screen and (max-width: 768px) {
  .under-local_nav {
    margin: 12rem auto 0;
  }
}

.lower-local_nav {
  margin: 12rem auto 0;
}

.local_nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  background: #fff;
}

@media screen and (max-width: 768px) {
  .local_nav ul {
    flex-wrap: wrap;
  }
}

.local_nav ul li {
  width: calc(100% / 4);
  background: #fff;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .local_nav ul li {
    width: calc(100% / 2);
    border: 1px solid #ddd;
  }
}

.local_nav ul li a {
  transition: 0.3s;
}

.local_nav ul li:hover a {
  background: #e87701;
  color: #fff;
}

.local_nav ul li.current a {
  background: #e87701;
  color: #fff;
}

.local_nav ul li:not(:first-of-type)::after {
  border-left: 1px #ddd solid;
  display: block;
  content: "";
  height: 5rem;
  position: absolute;
  top: 1.1rem;
}

@media screen and (max-width: 768px) {
  .local_nav ul li:not(:first-of-type)::after {
    border: none;
  }
}

.local_nav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
  height: 7rem;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .local_nav__btn {
    height: 11rem;
  }
}

/* 流れ */
.flow_simple {
  margin-bottom: 12rem;
}

.flow_simple__ttl {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .flow_simple__ttl {
    font-size: 3rem;
  }
}

.flow_simple ul {
  display: flex;
  justify-content: space-between;
  margin: 6rem 0 5rem;
}

@media screen and (max-width: 768px) {
  .flow_simple ul {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.flow_simple ul li {
  width: calc(100% / 11 - 4px);
  text-align: center;
  display: block;
  background: #f5f3f1;
  line-height: 1.4;
  transition: all 0.3s;
  position: relative;
}

@media screen and (max-width: 768px) {
  .flow_simple ul li {
    width: calc(100% / 4 - 4px);
    margin: 0.2rem 0.2rem 3rem 0.2rem;
  }
}

.flow_simple ul li:hover {
  top: -0.3rem;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}

.flow_simple ul li:hover span {
  background: #000;
}

.flow_simple ul li a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding-bottom: 2rem;
}

.flow_simple ul li span {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background: #e87701;
  border-radius: 50%;
  color: #fff;
  width: 3.5rem;
  height: 3.5rem;
  position: relative;
  top: -1.5rem;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  .flow_simple ul li span {
    width: 5rem;
    height: 5rem;
  }
}

/*パンくずリスト*/
.breadcramb-content {
  height: 44px;
  margin-bottom: -44px;
  padding: 10px 10px;
}

.breadcramb-content__inner {
  display: flex;
}

.breadcramb-content__item {
  position: relative;
  padding: 0 9px;
  z-index: 2;
}

.breadcramb-content__item a,
.breadcramb-content__item span {
  display: flex;
  align-items: center;
  font-size: 11px;
  height: 24px;
}

.breadcramb-content__item:nth-of-type(n + 2) {
  padding-left: 14px;
}

.breadcramb-content__item:nth-of-type(n + 2):before {
  display: block;
  position: absolute;
  content: "";
  background: url(../img/common/icn_arw-g.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  top: 9px;
  left: 0;
  width: 5px;
  height: 7px;
}

.case__txt {
  text-align: center;
  margin-bottom: 6rem;
}

/*220831_資料ダウンロード追加*/
.dl_times__item.dl_detail02 {
  width: auto;
}

/*220907_システム建築ページ追加*/
.hero__background--system::after {
  background-image: url(../img/system/img_hero.png);
}

.bnr-reverse {
  flex-direction: row-reverse;
  justify-content: space-around;
}

@media screen and (max-width: 768px) {
  .bnr-reverse {
    flex-direction: column;
    justify-content: space-around;
  }

  .download__bnr {
    text-align: center;
  }

  .download__bnr a {
    margin: 0 auto;
  }

  .download__bnr .button > span {
    height: 10rem;
  }
}

#system-faq dt::after {
  content: none;
}

li.mega__menu ul.m-footer,
li.mega__menu:hover ul.m-footer {
  top: auto;
  bottom: 3rem;
}

/*220908_システム建築ページへのリンク用ボタン*/
.button-container_flex {
  display: flex;
  justify-content: center;
}

.button-container_flex .button-container + .button-container {
  margin-left: 20px;
}

@media screen and (max-width: 768px) {
  .button-container_flex {
    display: block;
  }

  .button-container_flex .button-container + .button-container {
    margin-left: 0;
  }

  .button-container_flex .button-container + .button-container {
    text-align: center;
  }
}

/*220909_TOPスライド枚数調整*/
.section--works .section__body {
  width: 120rem;
  margin: 5rem auto 0;
}

@media screen and (max-width: 768px) {
  .section--works .section__body {
    width: 100%;
    margin: 5rem 0 0 0;
  }
}

/*221227_12月改善*/
.warehouse_works14_pl {
  padding-left: 105px;
}

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

  .warehouse_works14_pl {
    padding-left: 0;
  }
}

/*230130改善*/
/*追従バナー追加*/
.floating-banner {
  position: fixed;
  z-index: 99;
  bottom: 80px;
  right: 0;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
}

.floating-banner .button > span::after {
  display: none;
}

.floating-banner .button {
  min-width: 15rem;
  border: solid 1px #fff;
}

.floating-banner .button:hover {
  opacity: 0.7;
}

.floating-banner .button::before {
  content: "";
  display: block;
  width: 5rem;
  height: 5rem;
  margin: 0 auto;
  position: relative;
  top: 2rem;
}

.floating-banner .button_dl {
  background-color: #e87701;
}

.floating-banner .button_dl::before {
  background: url(/special/assets/img/common/floating-banner_dl.png) no-repeat;
  background-size: contain;
}

.floating-banner .button_faq {
  background-color: #d7a313;
}

.floating-banner .button_faq::before {
  background: url(/special/assets/img/common/floating-banner_faq.png) no-repeat;
  background-size: contain;
}

.floating-banner .button_contact::before {
  background: url(/special/assets/img/common/floating-banner_contact.png)
    no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .floating-banner {
    opacity: 0;
    visibility: hidden;
  }

  .floating-banner .button {
    min-width: 16rem;
    font-size: 11px;
  }

  .floating-banner .button span {
    text-align: center;
    line-height: 1.2;
  }

  .active_floating-banner {
    opacity: 1;
    visibility: visible;
  }

  .floating-banner .button::before {
    top: 1rem;
  }

  .floating-banner .button_contact::before {
    top: 3rem;
  }
}

/*コラムページへの導線*/
.tag_column {
  display: inline-block;
  background-color: #e87701;
  padding: 3px 5px;
  margin-top: 2px;
  color: #fff;
  font-weight: bold;
  margin-right: 1rem;
}

/*コラム一覧ページ*/
.hero__title_small {
  display: inline-block;
  background-color: #000;
  padding: 10px;
  color: #fff;
  margin: 30px 0 10px;
  font-weight: bold;
}

.mgnT0 {
  margin-top: 0;
}

.pdnT0 {
  padding-top: 0;
}

.wrapper_content_flex .content_flex {
  display: flex;
  justify-content: space-between;
  padding-top: 12rem;
}

/* 240529_knowhow_category_filter */
.wrapper_content_flex .content_flex.knowhow_flex {
  display: flex;
  justify-content: space-between;
  padding-top: 8rem;
}

.wrapper_content_flex {
  max-width: 120rem;
  margin: 0 auto;
}

.wrapper_content_flex .content_flex .side .content_side {
  width: 28rem;
  border: 1px solid #ddd;
  box-sizing: border-box;
  padding: 40px 15px 30px;
  font-weight: bold;
}

.wrapper_content_flex .content_flex .side .content_side.border-none {
  border-top: none;
  border-bottom: none;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side.border-none:first-of-type {
  border-top: 1px solid #ddd;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side.border-none:last-of-type {
  border-bottom: 1px solid #ddd;
}

.wrapper_content_flex .content_main .section--about::before {
  min-width: auto;
  width: 100%;
}

.wrapper_content_flex .content_main {
  width: 87rem;
}

.wrapper_content_flex .content_flex .side .content_side .content_side_ttl {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  position: relative;
  font-size: 1.8rem;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_ttl::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 15px);
  bottom: 0;
  width: 30px;
  height: 1px;
  border-bottom: 2px solid #e87701;
}

.wrapper_content_flex .content_flex .side .content_side .content_side_flex {
  display: flex;
  justify-content: space-between;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_flex
  .content_side_img {
  width: 60px;
  margin-bottom: 10px;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_flex
  .content_side_img
  img {
  width: 60px;
  height: 50px;
  object-fit: cover;
}

/* 240530 */
.wrapper_content_flex
  .content_flex
  .side.detail_knowhow_side
  .content_side
  .content_side_flex
  .content_side_img {
  width: 60px;
  height: 60px;
  margin-bottom: 0;
}

.wrapper_content_flex
  .content_flex
  .side.detail_knowhow_side
  .content_side
  .content_side_flex
  .content_side_img
  img_inner {
  width: 100%;
  height: 100%;
}

.wrapper_content_flex .content_flex .side .content_side .content_side_ttl {
  font-size: 16px;
  color: rgb(0, 0, 0);
  line-height: 1.2;
}

.wrapper_content_flex
  .content_flex
  .side.detail_knowhow_side
  .content_side
  .content_side_flex
  .content_side_txt
  .ttl {
  font-size: 12px;
  color: rgb(0, 0, 0);
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .wrapper_content_flex
    .content_flex
    .side.detail_knowhow_side
    .content_side
    .content_side_flex
    .content_side_txt
    .ttl {
    font-size: 14px;
  }
}

.wrapper_content_flex
  .content_flex
  .side.detail_knowhow_side
  .content_side
  .content_side_flex
  .content_side_img
  img {
  width: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .wrapper_content_flex
    .content_flex
    .side.detail_knowhow_side
    .content_side
    .content_side_flex
    .content_side_img {
    width: 30%;
    height: auto;
    object-fit: cover;
    margin-right: 20px;
  }
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_flex
  .content_side_txt {
  width: calc(100% - 70px);
  line-height: 1.2;
  position: relative;
  padding-bottom: 15px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
}

/* 240530 */
.wrapper_content_flex .content_flex .side.detail_knowhow_side {
  padding: 12rem 0 0;
}

.wrapper_content_flex .content_flex .side.detail_knowhow_side .area-link {
  transition: opacity 0.3s;
  cursor: pointer;
}

.wrapper_content_flex .content_flex .side.detail_knowhow_side .area-link:hover {
  opacity: 0.7;
}

.wrapper_content_flex
  .content_flex
  .side.detail_knowhow_side
  .content_side
  .content_side_flex
  .content_side_txt {
  width: calc(100% - 70px);
  line-height: 1.2;
  position: relative;
  padding-bottom: 15px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ddd;
}

.wrapper_content_flex
  .content_flex
  .side.detail_knowhow_side
  .content_side
  .content_side_flex
  .content_side_txt:last-of-type {
  border-bottom: 1px solid #ddd;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_flex:last-of-type
  .content_side_txt {
  border: none;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_flex
  .content_side_txt
  a {
  text-decoration: none;
}

.wrapper_content_flex
  .content_flex
  .side
  .content_side
  .content_side_flex
  + .content_side_flex {
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .wrapper_content_flex .content_flex {
    display: block;
  }

  /* 240529_knowhow_category_filter */
  .wrapper_content_flex .content_flex.knowhow_flex {
    display: block;
  }

  .wrapper_content_flex .content_main {
    width: auto;
  }

  .wrapper_content_flex .content_flex .side .content_side {
    width: auto;
    padding: 12rem 3rem 4rem;
  }

  .wrapper_content_flex .content_flex .side .content_side {
    border: none;
  }

  .wrapper_content_flex .content_flex .side .content_side .content_side_ttl {
    font-size: 3rem;
  }
}

.knowhow-list_item {
  display: flex;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 6rem;
  padding: 20px;
  box-shadow: 0 3px 6px #ddd;
}

.knowhow-list_item_img {
  width: 35%;
}

.knowhow-list_item_img img {
  width: 100%;
}

.knowhow-list_item_text {
  width: 60%;
}

.knowhow-list_item_text a {
  text-decoration: none;
}

.knowhow-list_item_text h3 {
  margin: 10px 0 20px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .knowhow-list_item {
    display: block;
  }

  .section_knowhow {
    padding: 0 3rem 0;
  }

  .knowhow-list_item_img {
    width: 100%;
    margin-bottom: 5rem;
  }

  .knowhow-list_item_text {
    width: auto;
  }
}

/*コラム詳細ページ*/
.section_article-knowhow .section__centering {
  max-width: 96rem;
}

.section_article-knowhow .article-knowhow_intro img {
  width: 100%;
  margin-bottom: 3rem;
}

.section_article-knowhow .article-knowhow_nav {
  background: #f5f3f1;
  margin-top: 4rem;
  margin-bottom: 10rem;
  padding: 3rem 3rem 2.2rem;
}

.section_article-knowhow .article-knowhow_nav h3 {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1rem;
}

.section_article-knowhow .article-knowhow_nav ul li {
  counter-increment: title;
  padding: 2px;
}

.section_article-knowhow .article-knowhow_nav ul > li:before {
  content: counter(title) ".";
  color: #000;
  margin-right: 10px;
}

.section_article-knowhow .article-knowhow_detail h2,
.section_article-knowhow .article-knowhow_detail h3 {
  line-height: 1.2;
  font-weight: 700;
}

.section_article-knowhow .article-knowhow_detail h2 {
  font-size: 2.4rem;
  margin-top: -8rem;
  padding-top: 8rem;
  margin-bottom: 3rem;
}

.section_article-knowhow .article-knowhow_detail h3 {
  font-size: 2rem;
  margin-top: 5rem;
  margin-bottom: 1.5rem;
}

.section_article-knowhow .article-knowhow_detail p {
  margin-bottom: 3rem;
}

.section_article-knowhow .article-knowhow_detail strong {
  font-weight: bold;
}

.section_article-knowhow
  .article-knowhow_detail
  .article-knowhow_detail_img
  img {
  width: 100%;
}

.section_article-knowhow .article-knowhow_detail .alignright {
  float: right;
  padding: 0 0 2rem 3rem;
  width: 34rem;
}

.hero__title_knowhow {
  position: relative;
  padding: 0 4rem;
}

.hero__title_knowhow .tag_column {
  font-size: 1.6rem;
}

.wrapper_tag_column {
  text-align: left;
}

.hero__title_knowhow_main {
  font-size: 4.5rem;
  position: relative;
  top: 1rem;
  display: block;
}

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

@media screen and (max-width: 768px) {
  .section_article-knowhow .article-knowhow_detail .alignright {
    float: none;
    padding: 0;
    text-align: center;
    width: auto;
  }

  .section_article-knowhow .article-knowhow_detail h2 {
    font-size: 3.6rem;
  }

  .section_article-knowhow .article-knowhow_detail h3 {
    font-size: 3.2rem;
  }
}

.article-knowhow_detail_block {
  padding-bottom: 7rem;
}

.section_article-knowhow + .section_knowhow .section__centering {
  max-width: 96rem;
}

/*ヘッダー(SNSアイコン設置・外部リンク対応)*/
.button-youtube a,
.button-instagram a {
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 40px 40px;
  box-sizing: border-box;
  padding: 0;
  width: 50px;
  height: 100%;
  border-left: none;
}
.button-youtube a {
  background-size: 29px 21px;
}
.button-instagram a {
  background-size: 29px 29px;
}

.nav-menu--sitemap .nav-menu__item:nth-of-type(n + 2).button-youtube,
.nav-menu--sitemap .nav-menu__item:nth-of-type(n + 2).button-instagram {
  border-left: none;
  padding: 0;
}

.nav-menu--sitemap .nav-menu__item:nth-of-type(n + 2).button-youtube {
  margin-right: 1rem;
}

.layout-footer__2nd .button-youtube a,
.layout-footer__2nd .button-instagram a {
  height: 50px;
}

.button-youtube {
  /* margin-right: 1rem; */
  margin-right: 0;
}

.button-youtube a {
  /* background-image: url(/special/assets/img/common/icon_sns-youtube.png?id=20231219); */
  background-image: url(/special/assets/img/common/icon_sns-youtube_renewal.png);
}

.button-instagram a {
  background-image: url(/special/assets/img/common/icon_sns-instagram.png);
}

@media screen and (max-width: 768px) {
  .button-youtube a,
  .button-instagram a {
    height: 50px;
    margin: 0 auto;
  }

  .button-youtube {
    margin-right: 0;
  }
}

.external_site::after {
  content: url(/special/assets/img/common/icon_external_site.png);
  margin-left: 10px;
}

/*230215_コラム追加*/
.archive-works_knowhow {
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .archive-works_knowhow {
    justify-content: space-between;
  }
}

/*2302_メガメニュー*/
/*メガメニュー共通*/
.nav-global {
  width: 100%;
  position: relative;
  text-align: center;
}

.nav-global li {
  display: inline-block;
}

.nav-global a {
  display: block;
}

.nav-megamenu__list > li > a:hover {
  color: #e87701;
}

.nav-megamenu__list {
  width: auto;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%);
  padding: 15px;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.4);
}

.nav-menu__item {
  height: 100%;
}

.nav-global a.nav-menu__item_main {
  display: flex;
  align-items: center;
  /* height: 100%; */
  height: 100%;
  /* height: auto; */
}

.nav-megamenu__list_inner {
  width: 120rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  background-color: #000;
  padding: 1.5rem;
  height: 50rem;
}

.nav-menu__item:hover .nav-megamenu__list {
  visibility: visible;
}

.nav-megamenu__list_side {
  background-color: #fff;
  width: 24rem;
  box-shadow: 0 3px 6px #ddd;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav-megamenu__list_side .section__heading-ja {
  font-size: 2.4rem;
}

.nav-megamenu__list_content {
  width: 84rem;
}

.nav-megamenu__list_inner .nav-megamenu__list_content_big-ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.nav-global .nav-menu__item .nav-megamenu__list_content_small-ul {
  display: flex;
  flex-wrap: wrap;
}

.nav-global .nav-menu__item .nav-megamenu__list_content_small-ul a {
  color: #fff;
}

.nav-global .nav-menu__item .nav-megamenu__list_content_small-ul a:hover {
  color: #e87701;
}

.nav-megamenu__list_side .section__heading-en {
  color: #000;
}

.nav-global .nav-menu__item .nav-megamenu__list_side .section__heading-ja,
.nav-global .nav-menu__item .nav-megamenu__list_side .section__heading-en {
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.nav-global .nav-menu__item .nav-megamenu__list_side:hover .section__heading-ja,
.nav-global .nav-megamenu__list_side:hover .section__heading-en {
  color: #e87701;
}

.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_side:hover
  .section__heading-ja,
.nav-global
  .nav-megamenu__list_service
  .nav-megamenu__list_side:hover
  .section__heading-en {
  color: #000;
}

.nav-global .nav-menu__item .nav-megamenu__list_side a {
  color: #000;
}

/*サービス案内メニュー*/
.nav-megamenu__list_service
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li {
  width: 40rem;
}

.nav-megamenu__list_service
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li:hover
  p
  a {
  color: #e87701;
}

.nav-megamenu__list_service .bg-image_kind {
  background-size: contain;
  width: 40rem;
  height: 18rem;
  position: relative;
  margin: 0 auto;
}

.is-scrolled .nav-global .nav-menu__item .bg-image_kind a {
  color: #fff;
}

.nav-megamenu__list_service .nav-megamenu__list_content_small-ul {
  width: 40rem;
  margin: 0 auto;
}

.nav-megamenu__list_service .nav-megamenu__list_content_small-ul li {
  width: 20rem;
  text-align: left;
}

.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_content_small-ul
  a {
  padding: 10px 0 0;
  font-size: 1.4rem;
}

.nav-megamenu__list_service .bg-image_kind.bg-image_kind_factory {
  background: url(/special/assets/img/common/nav-megamenu__list_service_factory.jpg)
    no-repeat center;
}

.nav-megamenu__list_service .bg-image_kind.bg-image_kind_warehouse {
  background: url(/special/assets/img/common/nav-megamenu__list_service_warehouse.jpg)
    no-repeat center;
}

.nav-megamenu__list_service .bg-image_kind.bg-image_kind_office {
  background: url(/special/assets/img/common/nav-megamenu__list_service_office.jpg)
    no-repeat center;
}

.nav-megamenu__list_service .bg-image_kind.bg-image_kind_medical {
  background: url(/special/assets/img/common/nav-megamenu__list_service_medical.jpg)
    no-repeat center;
}

.nav-megamenu__list_service .bg-image_kind::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.nav-megamenu__list_service .bg-image_kind:hover::before {
  background-color: transparent;
}

.nav-megamenu__list_service .bg-image_kind:hover a {
  color: #e87701;
}

.nav-megamenu__list_service .bg-image_kind p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-megamenu__list_service .bg-image_kind p a {
  padding: 0;
}

.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_content_small-ul
  a {
  display: flex;
}

.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_content_small-ul
  a::before {
  content: "";
  display: inline-block;
  position: relative;
  top: 0.6rem;
  width: 1rem;
  height: 1rem;
  background: url(/special/assets/img/common/arw_button_white.svg) no-repeat
    center center;
  background-size: 0.8rem auto;
}

.nav-megamenu__list_service .bg-image_kind + p {
  text-align: left;
  font-size: 2rem;
  font-weight: bold;
}

.is-scrolled
  .nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .bg-image_kind
  + p
  a {
  padding-left: 0;
  color: #fff;
}

.nav-global .nav-menu__item .nav-megamenu__list_service .bg-image_kind + p a {
  padding-left: 0;
}

/*建設関連ノウハウメニュー*/
.nav-megamenu__list_knowhow
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li {
  width: 27rem;
}

.nav-megamenu__list_content_title {
  color: #fff;
  font-size: 2.5rem;
  text-align: left;
  margin-bottom: 1rem;
}

/* ----- knowhow tmb ----- */

.nav-megamenu__list_knowhow .bg-image_knowhow {
  width: 27rem;
  height: 20rem;
  margin-bottom: 1rem;
}

.nav-megamenu__list_knowhow .bg-image_knowhow.bg-image_knowhow_detail01 {
  background: url(/special/assets/img/common/nav-megamenu__list_knowhoww_detail01.jpg)
    no-repeat center;
}

.nav-megamenu__list_knowhow .bg-image_knowhow.bg-image_knowhow_detail02 {
  background: url(/special/assets/img/common/nav-megamenu__list_knowhoww_detail02.jpg)
    no-repeat center;
}

.nav-megamenu__list_knowhow .bg-image_knowhow.bg-image_knowhow_detail03 {
  background: url(/special/assets/img/common/nav-megamenu__list_knowhoww_detail03.jpg)
    no-repeat center;
}

/* 240530 */
.nav-megamenu__list_knowhow .bg-image_knowhow.bg-image_knowhow_detail05 {
  background: url(/special/assets/img/common/nav-megamenu__list_knowhoww_detail05.jpg)
    no-repeat center;
}

.nav-megamenu__list_knowhow
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li
  p {
  text-align: left;
}

.nav-megamenu__list_knowhow
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li
  p
  a {
  color: #fff;
  padding: 0;
}

.nav-megamenu__list_knowhow .button-container {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
}

.nav-megamenu__list_knowhow .button-container .button,
.nav-megamenu__list_company .button-container .button {
  background-color: #fff;
  font-weight: bold;
  color: #000;
}

.nav-megamenu__list_knowhow .button-container .button > span,
.nav-megamenu__list_company .button-container .button > span {
  height: auto;
}

.nav-megamenu__list_knowhow
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li:hover
  a {
  color: #e87701;
}

.nav-megamenu__list_knowhow
  .nav-megamenu__list_inner
  .nav-megamenu__list_content {
  padding: 1.5rem 0;
  position: relative;
}

/* --------------------------- */

/* ----- technology tmb ----- */

.nav-megamenu__list_technology .bg-image_technology {
  width: 25rem;
  height: 18rem;
  margin-bottom: 1rem;
}

.nav-megamenu__list_technology
  .bg-image_technology.bg-image_technology_detail01 {
  background: url(/special/assets/img/common/nav-megamenu__list_technology_detail01.jpg)
    no-repeat center;
}

.nav-megamenu__list_technology
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li
  p {
  text-align: left;
}

.nav-megamenu__list_technology
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li
  p
  a {
  color: #fff;
  padding: 0;
}

.nav-megamenu__list_technology .button-container {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
}

.nav-megamenu__list_technology .button-container .button,
.nav-megamenu__list_company .button-container .button {
  background-color: #fff;
  font-weight: bold;
  color: #000;
}

.nav-megamenu__list_technology .button-container .button > span,
.nav-megamenu__list_company .button-container .button > span {
  height: auto;
}

.nav-megamenu__list_technology
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li:hover
  a {
  color: #e87701;
}

.nav-megamenu__list_technology
  .nav-megamenu__list_inner
  .nav-megamenu__list_content {
  padding: 1.5rem 0;
  position: relative;
}

/* --------------------------- */

/*会社情報メニュー*/
.nav-megamenu__list_company
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li
  a {
  color: #fff;
  border-bottom: 1px solid #fff;
  text-align: left;
  padding: 10px;
}

.nav-megamenu__list_company
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li {
  width: 25rem;
  margin-bottom: 2rem;
}

.nav-megamenu__list_company .button-container .external_site::after {
  content: url(/special/assets/img/common/icon_external_site_black.png);
}

.nav-megamenu__list_company .button-container .button > span {
  display: inline;
}

.nav-megamenu__list_company .button-container .button > span:after {
  display: none;
}

.nav-megamenu__list_company .nav-megamenu__list_content_big-ul li:hover a {
  color: #e87701;
}

.nav-megamenu__list_company
  .nav-megamenu__list_inner
  .nav-megamenu__list_content {
  padding: 1.5rem 0;
  position: relative;
}

.nav-megamenu__list_company .button-container {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
}

.nav-megamenu__list_company
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul {
  row-gap: 3.5rem;
}

/*SNSメニュー*/
.nav-menu__item.button-youtube,
.nav-menu__item.button-instagram {
  height: 100%;
}

/*SP対応*/
@media screen and (max-width: 768px) {
  .is-show-nav .nav-global {
    opacity: 1;
    visibility: visible;
  }

  .nav-global {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #fff;
    font-size: 2.8rem;
    transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  }

  .nav-global li {
    display: block;
  }

  .nav-menu {
    display: block;
    height: auto;
    text-align: center;
  }

  .nav-menu__item.button-youtube,
  .nav-menu__item.button-instagram {
    height: auto;
  }

  .nav-menu__item {
    height: auto;
  }

  .nav-global a.nav-menu__item_main {
    justify-content: center;
  }
}

/*//ローカルナビゲーション*/
.floating-local-navi {
  position: fixed;
  z-index: 99;
  bottom: -5rem;
  transition: 0.3s;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 80%;
}

.floating-local-navi_inner {
  display: flex;
  text-align: center;
  justify-content: center;
}

.floating-local-navi_inner a {
  width: 12rem;
  height: 12rem;
  min-width: auto;
  padding: 0.3rem;
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.floating-local-navi_inner a:hover span {
  color: #e87701;
}

.floating-local-navi_inner .button > span {
  height: auto;
}

.floating-local-navi_inner .button > span:after {
  display: none;
}

.floating-local-navi_inner .button.button_factory::before {
  background: url(/special/assets/img/common/floating-local-navi_factory.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_point::before {
  background: url(/special/assets/img/common/floating-local-navi_point.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_flow::before {
  background: url(/special/assets/img/common/floating-local-navi_flow.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_case::before {
  background: url(/special/assets/img/common/floating-local-navi_case.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_system::before {
  background: url(/special/assets/img/common/floating-local-navi_system.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_warehouse::before {
  background: url(/special/assets/img/common/floating-local-navi_warehouse.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_office::before {
  background: url(/special/assets/img/common/floating-local-navi_office.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button.button_medical::before {
  background: url(/special/assets/img/common/floating-local-navi_medical.png)
    no-repeat;
  background-size: contain;
}

.floating-local-navi_inner .button::before {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  margin: 1rem auto;
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .floating-local-navi {
    display: none;
  }
}

/*2303_サービス一覧ページ*/
.service_feature-toplist {
  gap: 2.5rem;
  width: 100%;
  max-width: 110rem;
}

.service_feature-toplist li {
  width: calc((100% - 5rem) / 3);
}

.service_feature-toplist li h3 {
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  .service_feature-toplist {
    gap: normal;
  }

  .service_feature-toplist li {
    width: calc(100% / 3);
  }

  .service_feature-toplist li p {
    display: none;
  }
}

.service_list-feature li {
  position: relative;
}

.service_list-feature li figure {
  position: absolute;
  top: -5rem;
}

.service_list-feature .list-feature__body {
  width: 50%;
  padding: 3rem;
}

.service_list-feature li:nth-child(odd) .list-feature__body {
  margin-left: auto;
}

.service_list-feature li:nth-child(even) .list-feature__body {
  margin-right: auto;
}

.service_list-feature .list-feature__body h3,
.service_list-feature .list-feature__body p,
.service_list-feature .list-feature__body .button-container {
  margin: 0 auto;
}

.service_list-feature .list-feature__body .button-container {
  margin-top: 3rem;
}

.service_list-feature .list-feature__body h3 {
  margin-bottom: 1rem;
}

.service_list-feature li .list-feature__item_bg {
  background-color: #f5f3f1;
  z-index: -1;
  width: 90%;
  margin-bottom: 18rem;
  min-height: 40rem;
  display: flex;
  align-items: center;
}

.service_list-feature li:nth-child(odd) .list-feature__item_bg {
  margin-left: auto;
}

.service_list-feature li:nth-child(even) .list-feature__item_bg {
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .service_list-feature li figure {
    position: static;
  }

  .service_list-feature li .list-feature__item_bg {
    width: 100%;
  }

  .service_list-feature .list-feature__body {
    width: 100%;
    padding: 3rem;
  }
}

.hero__background--service:after {
  background-image: url(../img/service/img_hero.png);
}

.hero__background--service.hero__background--business_site_recruitment:after {
  background-image: url(../img/business_site_recruitment/img_hero.png);
}

/*グローバルメニュー変更*/
.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_side:hover
  .section__heading-ja,
.nav-global
  .nav-megamenu__list_service
  .nav-megamenu__list_side:hover
  .section__heading-en {
  color: #e87701;
}

/*2304 コラム追加*/
.article-knowhow_detail_block {
  clear: both;
}

/*2304 メガメニューホバー修正*/
.is-scrolled
  .nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul
  > li:hover
  p
  a {
  color: #e87701;
}

/*2305 実績追加*/
.ul_indent li {
  padding-left: 1rem;
  text-indent: -1.6rem;
}

.article-works__data .sub_table th {
  padding: 0;
  border-top: none;
  font-weight: normal;
  width: auto;
}

.article-works__data .sub_table td {
  padding: 0;
  border-top: none;
  width: auto;
}

/*2306_4・5月改善*/
/*section_reason*/
.section_reason .section__centering--w-wide {
  width: 100%;
  max-width: 144rem;
}

.section__heading-ja_small {
  display: block;
  font-size: 2.5rem;
}

.section_reason {
  counter-reset: mycounter 0;
}

.section_reason .heading::before {
  counter-increment: mycounter;
  content: counter(mycounter, decimal-leading-zero);
  display: block;
  color: #e87701;
}

@media screen and (max-width: 768px) {
  .section_reason .section__centering--w-wide {
    width: 70.8rem;
    min-width: 70.8rem;
  }
}

/*section_problem*/
.section_problem .section__centering--w-wide {
  width: 144rem;
  min-width: 108rem;
}

.section_problem .section_problem_list {
  /*width: 120rem;*/
  width: 100%;
  margin: 0 auto 5rem;
  display: flex;
  column-gap: 8rem;
}

.section_problem .section_problem_item {
  width: calc((100% - 16rem) / 3);
  border: 2px solid #e87701;
  padding: 4rem;
  text-align: center;
}

.section_problem .section_problem_item img {
  height: 9rem;
}

.section_problem_item_text {
  margin-top: 4rem;
  font-weight: bold;
}

.section_problem_lead {
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
}

.section_problem_lead::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #e87701;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}

@media screen and (max-width: 768px) {
  .section_problem .section__centering--w-wide {
    width: 70.8rem;
    min-width: 70.8rem;
  }

  .section_problem .section_problem_list {
    flex-direction: column;
    row-gap: 8rem;
    width: auto;
  }

  .section_problem .section_problem_item {
    width: 100%;
    padding: 5rem;
  }
}

/* 2306_6月改善 */
.article-knowhow_detail_text-indent {
  padding-left: 16.5em;
  text-indent: -16.5em;
}

@media screen and (max-width: 769px) {
  li.nav-menu__item:nth-of-type(5) {
    display: none;
  }
}

@media screen and (max-width: 769px) {
  .article-knowhow_detail_text-indent {
    padding-left: 0;
    text-indent: 0;
  }
}

.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_side:hover
  .section__heading-ja.color-none,
.nav-global
  .nav-menu__item
  .nav-megamenu__list_service
  .nav-megamenu__list_side:hover
  .section__heading-en.color-none {
  color: #000;
}

/* 2306_6月改善追記(230726) */
.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_factory.bg-image_kind_factory_point {
  background: url(/special/assets/img/common/nav-megamenu__list_service_factory_point.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_warehouse.bg-image_kind_warehouse_point {
  background: url(/special/assets/img/common/nav-megamenu__list_service_warehouse_point.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_office.bg-image_kind_office_point {
  background: url(/special/assets/img/common/nav-megamenu__list_service_office_point.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_medical.bg-image_kind_medical_point {
  background: url(/special/assets/img/common/nav-megamenu__list_service_medical_point.jpg)
    no-repeat center;
}

/*230727_SEO改善・コンテンツ追加*/
.article-knowhow_detail_block .download__bnr,
.section_contact .download__bnr,
.section--full_case .download__bnr {
  padding: 2rem 5rem;
  width: 100%;
  max-width: 96rem;
}

.article-knowhow_detail_block .download__bnr .download__bnr__body {
  padding-left: 0;
}

.article-knowhow_detail_block .download__bnr .download__bnr__image,
.section_contact .download__bnr .download__bnr__image,
.section--full_case .download__bnr .download__bnr__image {
  width: 30%;
}

.article-knowhow_detail_block .download__bnr h3,
.section_contact .download__bnr h3,
.section--full_case .download__bnr h3 {
  margin-top: 0;
  font-size: 3rem;
  line-height: 1.2;
}

.article-knowhow_detail_block .download__bnr .download__bnr__image {
  text-align: right;
}

.c-bnr-big-dlbox {
  background-color: #fceee0;
  padding: 4rem;
}

.c-bnr-big-dlbox__title {
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  background-color: #e87701;
  padding: 2rem 0;
}

.c-bnr-big-dlbox__flex {
  display: flex;
  align-items: center;
  margin: 0 0 3rem;
}

.c-bnr-big-dlbox__lead-text {
  width: 60%;
  padding: 3rem;
}

.c-bnr-big-dlbox__lead-text span {
  font-weight: bold;
}

.c-bnr-big-dlbox__text {
  background-color: #fff;
  border-radius: 3px;
  padding: 2rem 3rem;
}

.c-bnr-big-dlbox__text ul li {
  padding-left: 2rem;
  text-indent: -2.5rem;
}

.c-bnr-big-dlbox__text ul li::before {
  content: "";
  display: inline-block;
  height: 2px;
  width: 12px;
  background-color: #e87701;
  vertical-align: middle;
  margin-right: 12px;
}

.c-bnr-big-dlbox__text_lead {
  margin: 3rem 0 4rem;
  font-size: 2rem;
  color: #e87701;
  font-weight: bold;
  text-align: center;
}

.c-bnr-big-dlbox__text_lead::before {
  content: "";
  background-image: url("../img/knowhow/bnr_arrow.png");
  background-size: contain;
  display: inline-block;
  width: 3rem;
  height: 2.5rem;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 2rem;
}

.c-bnr-big-dlbox .button-container {
  margin-top: 0;
}

.section_contact .download__bnr .text,
.section--full_case .download__bnr .text {
  margin: 2rem 0 3rem;
}

.section_contact .button > span:after {
  background: url(../img/common/icon_external_site.png) no-repeat center center;
  width: 1.5rem;
}

#section_flow + .section_contact {
  padding-top: 0;
}

.section--full_case .download__bnr {
  margin-bottom: 6rem;
}

.download__bnr.download__bnr_contact {
  background-color: #fceee0;
}

.download__bnr.download__bnr_bgo {
  background-color: #fceee0;
}

@media screen and (max-width: 768px) {
  .article-knowhow_detail_block .download__bnr .download__bnr__image,
  .section_contact .download__bnr .download__bnr__image,
  .section--full_case .download__bnr .download__bnr__image {
    width: 100%;
    text-align: center;
  }

  .c-bnr-big-dlbox__flex {
    flex-direction: column-reverse;
  }

  .c-bnr-big-dlbox__lead-text {
    width: 100%;
    padding: 0;
  }

  .c-bnr-big-dlbox__lead-text {
    margin-top: 3rem;
  }

  .c-bnr-big-dlbox__text ul li {
    padding-left: 4rem;
    text-indent: -5rem;
  }

  .c-bnr-big-dlbox__text_lead {
    font-size: 3rem;
  }

  .section_contact .button > span:after {
    width: 3rem;
    height: 3rem;
  }

  .article-knowhow_detail_block .download__bnr h3,
  .section_contact .download__bnr h3,
  .section--full_case .download__bnr h3 {
    font-size: 3rem;
  }
}

/*230807_建築事例改善・追加*/
.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_factory.bg-image_kind_factory_case {
  background: url(/special/assets/img/common/nav-megamenu__list_case_factory.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_warehouse.bg-image_kind_warehouse_case {
  background: url(/special/assets/img/common/nav-megamenu__list_case_warehouse.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_office.bg-image_kind_office_case {
  background: url(/special/assets/img/common/nav-megamenu__list_case_office.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_medical.bg-image_kind_medical_case {
  background: url(/special/assets/img/common/nav-megamenu__list_case_medical.jpg)
    no-repeat center;
}
.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_medical.bg-image_kind_welfare_case {
  background: url(/special/assets/img/common/nav-megamenu__list_case_welfare.jpg)
    no-repeat center;
}

.top-case-navi h3 {
  text-align: center;
  opacity: 1;
  transform: translateY(0);
  font-size: 3rem;
  font-weight: bold;
  margin: 5rem 0 2.5rem;
}

.top-case-navi_wrapper {
  width: 108rem;
  margin: 0 auto;
}

.top-case-navi_inner {
  display: flex;
  justify-content: center;
}

.top-case-navi_inner a {
  width: 16.5rem;
  background-color: #d98530;
  border-right: 1px solid #fff;
  padding: 1.5rem 0.5rem;
}

.top-case-navi_inner a:hover {
  opacity: 0.7;
}

.top-case-navi_inner a:last-of-type {
  border: none;
}

.top-case-navi_inner .button > span:after {
  display: none;
}

.top-case-navi_inner .button {
  min-width: auto;
}

.top-case-navi_inner .button > span {
  height: auto;
  text-align: center;
}

.top-case-navi_inner .button.button_tc_factory::before {
  background: url(/special/assets/img/common/top-case-navi_factory.png)
    no-repeat;
  background-size: contain;
}

.top-case-navi_inner .button.button_tc_warehouse::before {
  background: url(/special/assets/img/common/top-case-navi_warehouse.png)
    no-repeat;
  background-size: contain;
}

.top-case-navi_inner .button.button_tc_office::before {
  background: url(/special/assets/img/common/top-case-navi_office.png) no-repeat;
  background-size: contain;
}

.top-case-navi_inner .button.button_tc_medical::before {
  background: url(/special/assets/img/common/top-case-navi_medical.png)
    no-repeat;
  background-size: contain;
}
.top-case-navi_inner .button.button_tc_welfare::before {
  background: url(/special/assets/img/common/top-case-navi_welfare.png)
    no-repeat;
  background-size: contain;
}

.top-case-navi_inner .button::before {
  content: "";
  display: block;
  width: 9rem;
  height: 9rem;
  margin: 1rem auto;
}

@media screen and (max-width: 768px) {
  .top-case-navi_wrapper {
    width: 70.8rem;
  }

  .top-case-navi_inner .button::before {
    width: 7rem;
    height: 7rem;
  }

  .top-case-navi_inner .button > span {
    font-size: 2.3rem !important;
  }

  .top-case-navi_inner a {
    padding: 0 0.5rem;
  }
}

/*231109_10月改善*/
.knowhow-list_item {
  cursor: pointer;
}

.knowhow-list_item:hover img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.4s;
}

.knowhow-list_item img {
  transition-duration: 0.4s;
}

.knowhow-list_item_img {
  overflow: hidden;
}

.section--point {
  width: 100%;
  max-width: 144rem;
  margin: 12rem auto 0;
  background: #f5f3f1;
  border-top: 0.5rem solid #e87701;
  padding: 12rem 4rem;
}

.section--point .section__centering--w-narrow {
  max-width: 120rem;
}

.section--point .section--point_flex {
  display: flex;
  column-gap: 8rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9rem;
}

.section--point .section--point_flex:nth-child(even) {
  flex-direction: row-reverse;
}

.section--point .section--point_flex:last-of-type {
  margin-bottom: 0;
}

.section--point .section--point_flex figure {
  width: 100%;
}

.section--point .section--point_flex h3 {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

.section--point .section--point_flex p {
  margin-bottom: 2rem;
}

.section--point .section--point_flex a {
  text-decoration: underline;
}

.section--point .section--point_flex a:hover {
  text-decoration: none;
}

.section--point_link::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  display: inline-block;
  transform: rotate(45deg);
  margin-right: 1rem;
}

.section_knowhow_service {
  margin: 12rem auto 0;
  padding: 0 4rem;
}

.section_knowhow_service .section__centering {
  max-width: 144rem;
  width: 100%;
}

.section_knowhow_service .section__body {
  display: flex;
  column-gap: 4rem;
}

.section_knowhow_service .section__body .knowhow-list {
  width: calc((100% - 12rem) / 4);
}

.section_knowhow_service .section__body .knowhow-list .knowhow-list_item {
  display: block;
  padding: 0;
  margin-bottom: 0;
  height: 100%;
}

.section_knowhow_service .section__body .knowhow-list .knowhow-list_item_text {
  width: 100%;
  padding: 20px;
}

.section_knowhow_service .section__body .knowhow-list .knowhow-list_item_img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .section--point {
    margin-top: 12rem;
    padding: 12rem 3rem;
  }

  .section--point .section--point_flex {
    flex-direction: column !important;
  }

  .section--point .section--point_flex figure {
    text-align: center;
    margin-bottom: 4rem;
  }

  .section_knowhow_service .section__body {
    flex-direction: column;
  }

  .section_knowhow_service .section__body .knowhow-list {
    width: 100%;
  }

  .section_knowhow_service .section__body .knowhow-list .knowhow-list_item_img {
    margin-bottom: 0;
  }

  .section_knowhow_service .section__body .knowhow-list .knowhow-list_item {
    margin-bottom: 4rem;
  }
}

.section--point_txt {
  max-width: 812px;
}

.section--point .section--point_flex img {
  max-width: none;
}

@media screen and (max-width: 768px) {
  .section--point .section--point_flex img {
    max-width: 100%;
  }
}

/* 240215 add */

.technology--mv--subtitle {
  font-size: 3rem;
}

.section_article-technology .p1 {
  text-align: center;
  margin-right: -25px;
  margin-left: -25px;
}

@media screen and (max-width: 768px) {
  .section_article-technology .p1 {
    text-align: left;
    margin-right: 0px;
    margin-left: 0px;
  }
}

.section_article-technology .list-feature {
  margin-top: 8rem;
  margin-bottom: 8rem;
}

.section_article-technology .list-feature__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .section_article-technology .list-feature__item {
    display: block;
  }
}

.section_article-technology .list-feature__item:nth-of-type(n + 2) {
  margin-top: 8rem;
}

.section_article-technology .list-feature__item:nth-of-type(2n) {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.section_article-technology .list-feature__image {
  width: 47.5%;
}

@media screen and (max-width: 768px) {
  .section_article-technology .list-feature__image {
    width: auto;
  }
}

.section_article-technology .list-feature__body {
  width: 47.5%;
}

@media screen and (max-width: 768px) {
  .section_article-technology .list-feature__body {
    width: auto;
    margin-top: 3.5rem;
  }
}

.flow-textLink {
  margin-top: 3rem;
  display: inline-block;
}

/* 240228 */

.factory-point-wrapper {
  max-width: 110rem;
  margin-left: auto;
  margin-right: auto;
}

.factory-point-flow p {
  margin-bottom: 20px;
}

.factory-point-flow span {
  font-size: 2rem;
}

.section__faq .faq-txt {
  text-align: center;
  line-height: 2;
  margin-top: 20px;
}

/* 240529_knowhow_category_filter */

.filter_container {
  width: 100%;
  margin: 12rem auto 0;
  padding: 0 3rem 0;
}

.filter_container_flex {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .filter_container_flex {
    flex-direction: column;
  }
}

.filter_list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
}

@media screen and (max-width: 768px) {
  .filter_list {
    flex-wrap: wrap;
    margin-top: 2rem;
    width: 100%;
  }
}

.filter_item {
  min-width: 160px;
  min-height: 100px;
  background-color: #efefef;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
}

@media screen and (max-width: 1024px) {
  .filter_item {
    min-width: 140px;
  }
}

@media screen and (max-width: 768px) {
  .filter_item {
    min-width: calc(50% - 6px);
  }
}

@media screen and (max-width: 768px) {
  .filter_item {
    min-height: clamp(70px, 13.0208vw, 100px);
  }
}

.filter_item.is-active {
  background-color: #e87701;
  color: #fff;
}

.filter_txt {
  padding-right: 6.2rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .filter_txt {
    padding-right: 0;
  }
}

.filter_txt::before {
  content: "■";
  color: #e87701;
  width: 0.8rem;
  height: 0.8rem;
  margin-right: 8px;
}

.knowhow-list .knowhow-list_item {
  display: none;
}

.knowhow-list .knowhow-list_item.is-show {
  display: flex;
}

@media screen and (max-width: 768px) {
  .knowhow-list .knowhow-list_item.is-show {
    display: block;
  }
}

/* 240529_knowhow_category_filter */

/* 240529_knowhow_side-nav */

.side_bnr {
  width: 100%;
  position: relative;
}

.side_bnr_inner {
  display: block;
  position: relative;
  overflow: hidden;
  border-left: 3px solid #d98530;
}

@media screen and (max-width: 768px) {
  .side_bnr_inner {
    height: 18vw;
  }
}

.side_bnr_inner::before {
  position: absolute;
  z-index: 2;
  content: "";
  clip-path: polygon(0 0, 65% 0, 50% 100%, 0 100%);
  display: block;
  background-color: #000000;
  width: calc(100% + 10px);
  height: 100%;
  top: 0;
  left: 0;
}

.side_bnr_inner::after {
  position: absolute;
  z-index: 1;
  content: "";
  display: inline-block;
  width: calc(50% + 5px);
  height: 100%;
  top: 0;
  right: -10px;
}

.side_bnr_inner--01.side_bnr_factory::after {
  background-image: url(../img/side_nav/factory_service_bnr.jpg);
}
.side_bnr_inner--02.side_bnr_factory::after {
  background-image: url(../img/side_nav/factory_case_bnr.jpg);
}
.side_bnr_inner--03.side_bnr_factory::after {
  background-image: url(../img/side_nav/factory_point_bnr.jpg);
}
.side_bnr_inner--01.side_bnr_warehouse::after {
  background-image: url(../img/side_nav/warehouse_service_bnr.jpg);
}
.side_bnr_inner--02.side_bnr_warehouse::after {
  background-image: url(../img/side_nav/warehouse_case_bnr.jpg);
}
.side_bnr_inner--03.side_bnr_warehouse::after {
  background-image: url(../img/side_nav/warehouse_point_bnr.jpg);
}
.side_bnr_inner--01.side_bnr_medical::after {
  background-image: url(../img/side_nav/medicine_service_bnr.jpg);
}
.side_bnr_inner--02.side_bnr_medical::after {
  background-image: url(../img/side_nav/medicine_case_bnr.jpg);
}
.side_bnr_inner--03.side_bnr_medical::after {
  background-image: url(../img/side_nav/medicine_point_bnr.jpg);
}
.side_bnr_inner--01.side_bnr_office::after {
  background-image: url(../img/side_nav/office_service_bnr.jpg);
}
.side_bnr_inner--02.side_bnr_office::after {
  background-image: url(../img/side_nav/office_case_bnr.jpg);
}
.side_bnr_inner--03.side_bnr_office::after {
  background-image: url(../img/side_nav/office_point_bnr.jpg);
}

@media screen and (max-width: 768px) {
  .side_bnr_inner--01.side_bnr_factory::after {
    background-image: url(../img/side_nav/factory_service_bnr-sp.jpg);
  }
  .side_bnr_inner--02.side_bnr_factory::after {
    background-image: url(../img/side_nav/factory_case_bnr-sp.jpg);
  }
  .side_bnr_inner--03.side_bnr_factory::after {
    background-image: url(../img/side_nav/factory_point_bnr-sp.jpg);
  }
  .side_bnr_inner--01.side_bnr_warehouse::after {
    background-image: url(../img/side_nav/warehouse_service_bnr-sp.jpg);
  }
  .side_bnr_inner--02.side_bnr_warehouse::after {
    background-image: url(../img/side_nav/warehouse_case_bnr-sp.jpg);
  }
  .side_bnr_inner--03.side_bnr_warehouse::after {
    background-image: url(../img/side_nav/warehouse_point_bnr-sp.jpg);
  }
  .side_bnr_inner--01.side_bnr_medical::after {
    background-image: url(../img/side_nav/medicine_service_bnr-sp.jpg);
  }
  .side_bnr_inner--02.side_bnr_medical::after {
    background-image: url(../img/side_nav/medicine_case_bnr-sp.jpg);
  }
  .side_bnr_inner--03.side_bnr_medical::after {
    background-image: url(../img/side_nav/medicine_point_bnr-sp.jpg);
  }
  .side_bnr_inner--01.side_bnr_office::after {
    background-image: url(../img/side_nav/office_service_bnr-sp.jpg);
  }
  .side_bnr_inner--02.side_bnr_office::after {
    background-image: url(../img/side_nav/office_case_bnr-sp.jpg);
  }
  .side_bnr_inner--03.side_bnr_office::after {
    background-image: url(../img/side_nav/office_point_bnr-sp.jpg);
  }
}

.side_bnr_ttl {
  font-size: 1.4rem;
  color: #fff;
  padding: 1.4rem 0 1.4rem 1rem;
  position: relative;
  z-index: 2;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .side_bnr_ttl {
    font-size: 2.4rem;
    padding: 4rem 0 4rem 6rem;
  }
}

.content_side_ttl-indent {
  margin-left: 2.2rem;
  display: block;
}

.business-site-btn {
  min-width: 50rem;
}

.business-site-btn__container {
  min-width: 50rem;
  min-height: 10rem;
  margin-top: 4.1rem;
}

.business-site-btn__link {
  background-color: transparent;
  display: block;
}

.business-site-btn__inner {
  position: relative;
}

.business-site-btn__inner::after {
  background-image: url(../img/business_site_recruitment/business_site_recruitment_btn_img.jpg);
  z-index: 1;
  content: "";
  display: inline-block;
  width: 50%;
  /* width: calc(50% + 5px); */
  height: 100%;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-size: 32%;
}

.business-site-btn__inner::after {
  position: absolute;
  z-index: 2;
  content: "";
  /* clip-path: polygon(0 0, 65% 0, 50% 100%, 0 100%); */
  display: block;
  background-color: #d98530;
  /* width: calc(100% + 10px); */
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.button > span.business-site-btn__ttl {
  /* font-size: 20px; */
  font-size: clamp(14px, 1.04166666vw, 20px);
  font-family: "Noto Sans CJK JP";
  color: rgb(255, 255, 255);
  font-weight: bold;
  line-height: 1.2;
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 10rem;
  padding-left: 6rem;
}

@media screen and (max-width: 768px) {
  .button > span.business-site-btn__ttl {
    font-size: 3.125vw;
    padding-left: 8rem;
  }
}

.button > span.business-site-btn__ttl:after {
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 2rem;
  width: 0.9rem;
  height: 1.5rem;
  content: "";
  display: block;
  background: url(../img/common/arw_button_white.svg) no-repeat center center;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .button > span.business-site-btn__ttl:after {
    position: absolute;
    top: calc(50% - 1.1rem);
    right: 2rem;
    width: 3.8rem;
    height: 2.2rem;
  }
}

.button-container.business-site__contact-bnt {
  margin-top: 2.6rem;
}

/* 0820追加 */

/* 事業用地募集ページ */
.section.section_form {
  max-width: 144rem;
  margin: 0 auto;
}

.section_form__heading {
  display: block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 3rem;
}

.section_form_table {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  border: 1px solid #f5f3f1;
}

.section_form_title {
  text-align: center;
  vertical-align: middle;
  background-color: #f5f3f1;
}

.section_form_description {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.section_form_description p:nth-child(2) {
  font-weight: normal;
}

.section_form_table th {
  padding: 30px;
}

.section_form_table {
  border: 1px solid #ddd;
  border-bottom: none;
}
.section_form_table tr {
  border-bottom: 1px solid #ddd;
}

.section_form_table .section_form_title {
  border-right: 1px solid #ddd;
}

/* 事業用地 お問い合わせフォーム */
.hero__background.hero__background--download-form::after {
  background-image: url(../img/business_site_recruitment/img_hero.png);
}

.section_problem-form {
  width: 100%;
  max-width: 144rem;
  margin: 0 auto;
  padding: 5rem 4rem 0;
}

.section__heading-ja-form {
  position: relative;
  display: block;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  border-bottom: 3px solid #d7d4d1;
  padding-bottom: 2rem;
}

.section__heading-ja-form:before {
  position: absolute;
  border-bottom: 3px solid #e87701;
  bottom: -2.5px;
  width: 10%;
  content: "";
}

.layout-contact-form {
  position: relative;
  z-index: 9;
  padding: 0 4rem;
  text-align: center;
}

.section-contact__list-form {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3rem;
}

.section-contact__tel-num-form {
  margin-top: 1rem;
  font-family: Roboto, sans-serif;
  font-size: 5rem;
  line-height: 1;
  font-weight: bold;
}

.section-contact__tel-time-form {
  margin-top: 2rem;
  font-size: 2rem;
  line-height: 1;
}

.section__formwrap-form {
  width: 100%;
  padding: 3rem;
  background-color: #f5f3f1;
}

.section__formwrap-form input[type="text"] {
  width: 100%;
  padding: 8px 10px;
}

.section__formwrap-form input[type="tel"] {
  width: 100%;
  padding: 8px 10px;
}

.section__formwrap-form input[type="checkbox"] {
  display: inline-block;
  margin-right: 1rem;
}

.section__formwrap-form input[type="submit"] {
  background: none;
  color: #fff;
  font-weight: 700;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.section__formwrap-form dt {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  line-height: 1;
}

.section__formwrap-form dl + dl {
  margin-top: 3rem;
}

.section__formwrap-form .submit {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  /* 事業用地 お問い合わせページ */

  .section_problem-form {
    padding: 12rem 3rem 0;
  }
  .section__heading-ja-form {
    font-size: 5.2rem;
  }

  .section_form_table th {
    padding: 10px;
  }

  .layout-contact-form {
    padding: 0 3rem;
  }

  .section-contact-form {
    padding: 6rem 3rem;
  }

  .section-contact__list-form {
    display: block;
  }

  .section-contact__tel-num-form {
    font-size: 6rem;
  }

  .section-contact__tel-time-form {
    font-size: 2rem;
  }

  .section__formwrap-form {
    width: 100%;
    margin-top: 4rem;
  }
}

.optional {
  display: inline-block;
  background-color: #888;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 0.5rem;
  margin-left: 1rem;
  padding: 0.5rem 1rem 0.5rem;
  line-height: 1;
}

.section__formwrap.section__formwrap_rbs {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
.section__formwrap-form ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.section_contact.section_contact_bsr .button > span:after {
  background: url(../img/common/arw_button.svg) no-repeat center center;
  width: 1.5rem;
  background-size: contain;
}
@media all and (max-width: 768px) {
  .section__formwrap-form ul {
    flex-direction: column;
  }
}
.submit.submit_contact {
  max-width: 42rem;
  margin-right: auto;
  margin-left: auto;
}

/* 240911（建築廃材コンテンツ追加） */
.hero__background--technology--detail02:after {
  background-image: url(../img/technology/detail02/detail_img_hero.png);
  filter: brightness(0.5);
}
.section__body-waste {
  text-align: center;
  margin: 10rem 0;
}

.section__body-waste .heading {
  margin-bottom: 4rem;
}

.waste-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 5rem;
}

.waste-list li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: calc(100% / 3);
}

ul.waste-list li p.list-title {
  font-size: 2rem;
  font-weight: bold;
}

.text-align-left {
  text-align: left;
}

.section__body-waste img {
  max-width: 80%;
  margin-bottom: 1rem;
}

/* バナー */
.section__centering.waste .download__bnr__body .heading {
  font-size: 2.8rem;
}

@media screen and (max-width: 768px) {
  .waste-list {
    flex-direction: column;
    align-items: center;
  }

  ul.waste-list li p.list-title {
    font-size: 3rem;
  }

  .waste-list li {
    width: 60%;
  }

  .section__body-waste .heading {
    font-size: 4rem;
  }

  .section__body-waste img {
    max-width: 100%;
    width: 100%;
  }
}

/* メニューバー */
.nav-megamenu__list_technology
  .bg-image_technology.bg-image_technology_detail02 {
  background: url(/special/assets/img/common/nav-megamenu__list_technology_detail02.jpg)
    no-repeat center;
}

.nav-megamenu__list_content_big-ul.technology {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
}

/* 241003（外壁劣化を防止する技術） */
.hero__background--technology--detail03:after {
  background-image: url(../img/technology/detail03/technology_detail03_mv.png);
  filter: brightness(0.5);
}
.nav-megamenu__list_technology
  .bg-image_technology.bg-image_technology_detail03 {
  background: url(/special/assets/img/common/nav-megamenu__list_technology_detail03.jpg)
    no-repeat center;
}

/* 241003 サービス案内　施工実績 */
.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_factory.bg-image_kind_factory_case.construction_results {
  background: url(/special/assets/img/common/nav-megamenu__list_case_factory.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_warehouse.bg-image_kind_warehouse_case.construction_results {
  background: url(/special/assets/img/common/nav-megamenu__list_case_warehouse.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_office.bg-image_kind_office_case.construction_results {
  background: url(/special/assets/img/common/nav-megamenu__list_case_office.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_caregiving.bg-image_kind_caregiving_case.construction_results {
  background: url(/special/assets/img/common/nav-megamenu__list_service_caregiving02.jpg)
    no-repeat center;
}

.nav-megamenu__list_service
  .bg-image_kind.bg-image_kind_medical.bg-image_kind_medical_case.construction_results {
  background: url(/special/assets/img/common/nav-megamenu__list_service_medical02.jpg)
    no-repeat center;
}

.nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul.construction_results {
  gap: 20px;
}
.nav-megamenu__list_service
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul.construction_results
  > li,
.nav-megamenu__list_service
  .nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul.construction_results:after {
  width: calc(32% - 20px);
}
.nav-megamenu__list_inner
  .nav-megamenu__list_content_big-ul.construction_results:after {
  content: "";
}
.nav-megamenu__list_service .bg-image_kind.construction_results {
  background-size: cover !important;
  width: 100%;
}

/* 241101 コラムテーブル */
.table_column {
  overflow-x: auto;
}
.table_column table {
  width: 100%;
  min-width: 600px;
}
.table_column th {
  background-color: #e87701;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 5px 3px;
}
.table_column td {
  font-size: 14px;
  text-align: center;
  padding: 10px;
  vertical-align: middle;
}
.table_column_fb {
  font-weight: bold;
}
.table_column th,
.table_column td {
  border: solid 1px #ddd;
}
.table_column small {
  font-size: 12px;
}
.table_column_sc {
  margin-bottom: 5px !important;
  display: none;
}
@media screen and (max-width: 1036px) {
  .table_column_sc {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .table_column td,
  .table_column small {
    font-size: 3.125vw;
  }
}

/* 241205 */
.bnr_intro {
  display: flex;
  justify-content: space-between;
  /* width: 790px; */
  width: 100%;
  height: 216px;
  background-color: #111111;
  padding: 3px;
}
.bnr_intro_txt {
  z-index: 1;
  margin-left: 3rem;
}
.bnr_intro_ttl span {
  color: #d98530;
  font-size: 1.8rem;
  font-weight: bold;
}
.bnr_intro_ttl {
  color: #ffffff;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 4.5rem;
  margin-bottom: 0 !important;
}
.bnr_intro_img {
  clip-path: polygon(30% 0, 100% 0%, 100% 100%, 18% 100%);
}
.bnr_intro_img img {
  /* max-height: 210px;
  max-width: 790px; */
      max-height: 100%;
    object-fit: cover;
        height: 100%;
}
.button-container.bnr_intro_btn {
  margin: 0;
  margin-top: 7px;
  justify-content: flex-start;
}
.bnr_intro_span {
  height: 5rem !important;
}

.button.bnr_intro_btn {
  font-weight: bold;
  color: #000;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .bnr_intro {
    flex-direction: column-reverse;
    width: 100%;
    height: auto;
    padding: 4rem;
  }
  .button-container.bnr_intro_btn {
    margin-bottom: 3rem;
  }
  .bnr_intro_img {
    clip-path: none;
  }
  .bnr_intro_img img {
    max-width: 300px;
    height: auto;
  }
  .button.bnr_intro_btn {
    font-weight: normal;
  }
  .bnr_intro_txt {
    margin-top: 3rem;
  }
  .bnr_intro_ttl {
    font-size: 3rem;
  }
  .bnr_intro_ttl span {
    font-size: 2.5rem;
  }
  .bnr_intro_span {
    height: 8rem !important;
  }
}

/* 250106 12月度SEO改善 */
.warehouse-case__heading {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 3.5rem;
}
.list-warehouse-case li {
  display: flex;
  justify-content: space-between;
  max-width: 30rem;
}
.list-warehouse-case__heading {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.list-feature.warehouse-case {
  margin-bottom: 6rem;
}
.section__centering.section__centering--w-wide.warehouse-case {
  margin-top: 6rem;
}
ul.list-feature.warehouse-case
  > li.list-feature__item.js-inview.animation-slide-up.is-inview {
  justify-content: center;
}
ul.list-feature.warehouse-case > li {
  flex-direction: row-reverse;
}

/*250527追記（technology/detail01/）*/
.section__body_feature h3{
    margin: 8rem 0 6rem;
}
.section__body_feature .section__heading-ja{
      font-size: 3rem;
}
.heading__ttl{
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.section__body_feature__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap:30px;
}
.section__body_feature__list li{
  max-width:48%;
  background: #f5f3f1;
  border-top: 0.5rem solid #e87701;
}
.section__body_feature__list_ttl{
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  padding: 3rem;
}
.section__body_feature__list_txt{
  padding: 0 30px 35px;
}
.txt_center{
  text-align: center;
}
@media screen and (max-width:856px) {
  .section__body_feature__list{
      flex-direction: column;
    align-items: stretch;
  }
  .section__body_feature__list li{
  max-width:100%;
  }
}

/*250527追記（download/）*/

.readability_list li{
  background: rgb(245, 243, 241);
  position: relative;
}
.icon_circular{
    position: absolute;
    width: 6rem;
    height: 6rem;
    border-radius: 100%;
    background-color: #e87701;
    color: #fff;
    display: block;
    text-align: center;
    line-height: 1.5;
    display: flex;
    justify-content: space-around;
    align-items: center;
    top: -12px;
    left: -10px;
    font-size: 1.5rem;
}
.icon_const::before{
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    width: 5rem;
    height: 5rem;
    border-radius: 100%;
    background-color: #e87701;
    content: "建設事例";
    display: block;
}
.readability_list li figure{
    margin: 2rem 2rem 0;

}
.readability_list li h3{
  text-align: center;
  font-size: 2.1rem;
  margin: 0 2rem;
}
.readability_list li p{
  margin: 1rem 2rem;
  font-size: 1.5rem;
}
.readability_list li .button{
  margin: 2rem;
  min-width: 0;
  font-size: 1.5rem;
}
.readability_list li .button > span{
      height: 5.5rem;
}
/*250527追記（download/detail）*/
.move_right{
    padding-left: 9rem;
    position: relative;
}
.icon_circular_detail{
    position: absolute;
    width: 8rem;
    height: 8rem;
    border-radius: 100%;
    background-color: #e87701;
    color: #fff;
    display: block;
    text-align: center;
    line-height: 1.2  ;
    display: flex;
    justify-content: space-around;
    align-items: center;
    top: 0px;
    left: 0px;
    font-size: 2rem;
}
.bg-color{
    background: rgb(245, 243, 241);
    display: flex;
    justify-content: center;
    align-items: center;
}
.bg-color .dl_times__item{
    margin: 3rem;
}
.bg-color .dl_times__item figure{
  margin: 0;
}
.dl__leading-txt{
  font-size: 2.4rem;
  margin-top: 3rem;
  color: #e87701;
  font-weight: bold;
}
.section__heading-explain{
  text-align: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-top: 4rem;
}
/*250619（5月SEO改善）*/
.bnr_contact{
  position: relative;
}
.bnr_contact .bnr_intro_txt{
      margin-right: -84px;
}
.bnr_contact .bnr_intro_ttl span{
      font-size: 2.2rem;
}


@media screen and (min-width:769px) {
.bnr_contact .bnr_intro_ttl{
    overflow: visible;
    white-space: nowrap;
    font-size: 3.5rem;
    margin-top: 2rem;
    margin-bottom: 2rem !important;
}
.bnr_contact .bnr_intro_ttl{
    margin-top: 2rem;
}
.bnr_contact .button.bnr_intro_btn{
    min-width: 22rem !important;
    margin-top: 1rem;
}
.bnr_contact .button.bnr_intro_btn .bnr_intro_span{
    height: 4.2rem !important;
}
}
.bnr_contact .bnr_intro_img{
  overflow: hidden;
}
@media screen and (max-width:769px) {
.bnr_intro_img{
      object-fit: cover !important;
}
.bnr_intro_img img{
max-width: -webkit-fill-available !important;
max-height: fit-content !important;
}
.bnr_intro_txt{
  margin: 2rem 0 0 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.bnr_intro_span{
  height: 6rem !important;
}
.button-container.bnr_intro_btn{
      margin: 2rem 0 0 0 !important;
}
}
.article-knowhow_nav .sub-menu{
    margin-left: 3rem;
    font-size: 1.4rem;
}
@media screen and (max-width:769px) {
.article-knowhow_nav .sub-menu{
    font-size: 2rem;
}
}



/* 20260624追加 second-opinion */
@media screen and (min-width:769px){
  .only-pc-pt0{
    padding-top: 0;
  }
}
@media screen and (max-width:1550px) and (min-width:1330px){
  .logo {
    width: 9.87vw;
  }
  .nav-global a.nav-menu__item_main{
    font-size: 1.032vw;
    padding: 0 .687vw;
  }
}
@media screen and (max-width:1330px) and (min-width:768px){
  .nav-global a.nav-menu__item_main {
    font-size: 1.325rem;
    padding: 0 1rem;
  }
}
#second-opinion .hero.lower{
  height: 55rem;
  min-height: 55rem;
}
@media screen and (max-width:768px) {
  #second-opinion .hero.lower {
    height: calc(var(--vh, 0.5vh) * 40);
  }
}
#second-opinion .hero__body > p{
  padding: 1.5rem 0;
  background-color: #000;
  font-size: 3rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: .06em;
  line-height: 1;
  position: relative;
}
#second-opinion .hero__body > p:before,
#second-opinion .hero__body > p:after{
  content:"";
  width: 5.3rem;
  height: .2rem;
  margin: auto;
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
}
#second-opinion .hero__body > p:before{
  transform: translateX(-50%);
  left: 0;
}
#second-opinion .hero__body > p:after{
  transform: translateX(50%);
  right: 0;
}
#second-opinion .hero__background:after{
  background-image: url(../img/second-opinion/img_hero.png);
}
#second-opinion .hero .button{
  width: 32rem;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  background-color: #e87701;
}
#second-opinion .hero .button > span{
  height: 5.5rem;
  font-size: 2rem;
  font-weight: bold;
}
#second-opinion .hero .button > span:after{
  background-image:url(../img/common/arw_button_white.svg);
}
[id*="second-opinion"] .section__heading-ja{
  font-size: 3.5rem;
}
@media screen and (max-width:768px) {
  [id*="second-opinion"] .section__heading-ja{
    font-size: 5rem;
  }
}
[id*="second-opinion"] .section__heading-ja_small {
  font-size: 3rem;
}
@media screen and (max-width:768px) {
  [id*="second-opinion"] .section__heading-ja_small {
    display: block;
    font-size: 3.8rem;
  }
}
#second-opinion .section_problem .section_problem_list{
  column-gap: 6rem;
}
@media screen and (max-width:768px) {
  .section_problem .section_problem_list {
    row-gap: 10rem;
  }
}
#second-opinion .section_problem .section_problem_lead {
  margin-top: 8rem;
}
#second-opinion .section_problem_lead {
  line-height: 1.6;
}
@media screen and (max-width:768px) {
  #second-opinion .section_problem_lead {
    font-size: 3.8rem;
  }
}
#second-opinion .section--about.section_reason{
  padding-bottom: 120px;
}
#second-opinion .section--about.section_reason:before{
  height: 100%;
}

@media screen and (max-width:1500px) {
  #second-opinion .section_reason .list-feature{
    max-width: 108rem;
    margin: auto;
  }
}
.section_problem_lead  + .bnr_intro.second-opinion{
  margin: 2rem auto 0;
}
.second-opinion_bnr {
  width: fit-content;
  margin: 5rem auto 0;
  position: relative;
}
.second-opinion_bnr--sub{
  /* font-size: min(18px,22.78vw); */
  font-size: 1.7rem;
  font-weight: bold;
  color: #e87701;
  letter-spacing: .03em;
  position: absolute;
  top: 8.2%;
  left: 5.69%;
}
@media screen and (max-width: 1366px){
  .second-opinion_bnr--sub{
    font-size: min(17px,1.761vw);
  }
}
@media screen and (max-width: 768px){
  .second-opinion_bnr--sub{
    font-size: 1.984vw;
  }
}
.second-opinion_bnr--title{
  font-size: 4rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.15;
  /* font-size: min(40px,22.78vw); */
  position: absolute;
  top: 22.6%;
  left: 3.55%;
}
@media screen and (max-width: 1366px){
  .second-opinion_bnr--title{
    font-size: min(40px,4.145vw);
  }
}
@media screen and (max-width: 768px){
  .second-opinion_bnr--title{
    font-size: 4.668vw;
  }
}
.second-opinion_bnr--title span{
  font-size: 3.2rem;
}
@media screen and (max-width: 1366px){
  .second-opinion_bnr--title span{
    font-size: min(32px,3.316vw);
  }
}
@media screen and (max-width: 768px){
  .second-opinion_bnr--title span{
    font-size: 3.734vw;
  }
}
.second-opinion_bnr .button{
  min-width: 25rem;
  background-color: #fff;
  color: #000;
  position: absolute;
  top: 69.77%;
  left: 3.55%;
  font-size: 16px;
}
@media screen and (max-width: 1366px){
  .second-opinion_bnr .button{
    width: min(230px, 23.83vw);
    font-size: min(16px,1.658vw);
  }
}
@media screen and (max-width: 768px){
  .second-opinion_bnr .button{
    width: 30.46vw;
    min-width: unset;
    font-size: 1.867vw;
  }
}
.second-opinion_bnr .button span{
  height: 4rem;
}
@media screen and (max-width: 1366px){
  .second-opinion_bnr .button span{
  height: min(40px, 4.145vw);
}
}
@media screen and (max-width: 768px){
  .second-opinion_bnr .button span{
    height: 4.668vw;
  }
  .second-opinion_bnr .button > span:after{
    height: 1.517vw;
    top: calc(50% - .7585vw);
  }
}
#second-opinion .section--support .section__body{
  text-align: center;
}
#second-opinion .support_image{
  max-width: 136rem;
  width: 88.33333%;
  padding: 5rem 9rem;
  margin: 8rem auto 0;
  border: 1px solid #e87701;
}
@media screen and (max-width:768px) {
  #second-opinion .support_image{
    width: 100%;
    padding: 5rem;
  }
}
@media screen and (min-width:769px) {
  #second-opinion  .support_image .section_problem_lead {
    margin-top: 1rem;
    margin-bottom: 3rem;
  }
  .section_problem_lead:has(+ .second-opinion_bnr)::after,
  #second-opinion  .support_image .section_problem_lead::after{
    width: 4.8rem;
    height: 4.8rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width:768px) {
  #second-opinion  .support_image .section_problem_lead {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
.support_image--tit{
  margin-bottom: 4.5rem;
  font-size: 3rem;
  font-weight: bold;
}
@media screen and (max-width:768px) {
  .support_image--tit{
    font-size: 3.8rem;
  }
}
#second-opinion .section_problem_lead + p{
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width:768px) {
  #second-opinion .section_problem_lead + p{
    font-size: 3.2rem;
  }
}
#second-opinion .section--feature .list-feature__item:nth-of-type(2n){
  -ms-flex-direction: row;
  flex-direction: row;
}
#second-opinion .section--feature .list-feature__item:nth-of-type(2n-1){
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
#second-opinion .section--feature a.button {
    max-width: 310px;
    margin: 2rem auto 0;
}
@media screen and (max-width:768px) {
  #second-opinion .section--feature a.button {
    margin: 4rem auto 0;
  }
}
#second-opinion-form .hero__background:after {
  background-image: url(../img/second-opinion/contact_img_hero.png);
}
@media screen and (max-width:768px) {
  #second-opinion-form .hero__background:after {
    background-position: center right 35%;
    background-size: auto 100%;
  }
}
@media screen and (min-width:769px) {
  #second-opinion-form section{
    padding-top: 8rem;
  }
}
.section__formwrap-column02{
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding: 7rem;
}
@media screen and (max-width:1000px) {
  .section__formwrap-column02{
    padding: 4rem;
  }
}
.section__formwrap-column02 dl{
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.section__formwrap-column02 dt{
  width: 19rem;
  margin-bottom: 0;
  padding-right: 1rem;
  font-weight: bold;
}
@media screen and (max-width:1000px) {
  .section__formwrap-column02 dt{
    width: 100%;
    margin-bottom: .5em;
  }
}
.section__formwrap-column02 .v-top{
  align-self: flex-start;
}
.section__formwrap-column02 .must {
  margin-left: .5rem;
}
.section__formwrap-column02 dd{
  flex:1;
}
@media screen and (max-width:1000px) {
  .section__formwrap-column02 dt{
    width: 100%;
    flex: unset;
  }
}
.section__formwrap-column02 .form_dd-title{
  font-weight: bold;
}
@media screen and (max-width:1000px) {
  .section__formwrap-column02 .form_dd-title{
    padding-left: 1em;
  }
}
.section__formwrap-column02 .form_dd-title + ul{
  padding-left: 1em;
  margin-bottom: 1em;
  row-gap: 0;
}
@media screen and (max-width:1000px) {
  .section__formwrap-column02 .form_dd-title + ul{
    padding-left: 2em;
  }
}
.section__formwrap-column02 .form_dd-title + ul li{
  width: 100%;
}
.section__formwrap-column02 textarea{
  max-width: 670px;
  width: 100%;
  height: 17rem;
  padding: 1em;
}
#second-opinion-form .layout-footer:before {
    height: 100%;
}
#second-opinion-form .layout-footer__2nd {
  padding-top: 9rem;
}
#second-opinion-form .layout-footer__1st{
  display: none;
}

/*250625松山追記*/
@media screen and (min-width:769px) {
#second-opinion .hero__body{
  margin-top: 7rem;
}
#second-opinion .hero__title{
margin-top: 3.2rem;
}
#second-opinion .section_problem_item__heading{
      font-weight: 100;
        font-size: 1.8rem;
}
.second-opinion .button{
      min-width: 22rem;
}
.second-opinion .bnr_intro_span{
   height: 4rem !important;
}
.second-opinion .bnr_intro{
  width:auto;
  max-width: 790px;
}
.second-opinion .bnr_intro_img{
      clip-path: polygon(16% 0, 100% 0%, 100% 100%, 3% 100%);
}


}


#second-opinion .section_problem .section__centering--w-wide{

    width: 119rem;
}

#second-opinion .section_problem_lead{
      font-size: 3.5rem;
}
.second-opinion .bnr_intro_ttl{
      font-size: 3.5rem;
}


 #second-opinion .section_reason .heading::before{
      font-size: 4rem;
 }
 /* #second-opinion .list-feature__item{
  align-items: flex-start;
 } */
 #second-opinion .list-feature__image:nth-child(1){
        margin-bottom: 3rem;
 }
 #second-opinion .section_problem .section_problem_item{
  padding: 7rem 3rem 4rem;
 }

.bnr_intro_ttl span{
  color: #e87701;
}

@media screen and (max-width:769px) {
 #second-opinion .section__centering{
      max-width: 58.8rem;
    margin-left: auto;
    margin-right: auto;
 }
 #second-opinion .section--about.section_reason{
  padding-bottom: 10rem;
 }
}
#second-opinion-form .hero__title{
      line-height: 1.1;
      margin-top: 7.5rem;
}

#second-opinion-form .section__formwrap-column02 .form_dd-title{
      margin-bottom: 1rem;
}
#second-opinion-form .section__formwrap-form dl + dl{
  margin-top: 4rem;
}
#second-opinion-form  .section__formwrap-form .submit{
      margin-top: 7rem;
}
.layout-footer .nav-menu.nav-menu--sitemap{
  flex-wrap: wrap;
}

/*250627（6月SEO改善）*/
/* .sub-menu--h3{
  margin-top: -8rem !important;
  padding-top: 8rem;
}
.article-knowhow_nav .sub-menu{
  counter-reset: number 0;
}
.article-knowhow_nav .sub-menu a::before{
content: counter(number) ".";
counter-increment: number 1;
color: #000;
margin-right: 10px;
  display: inline-block;
} */
/*本件に付随したLPバナー修正*/
.second-opinion{
    max-width: 790px;
}


/*240707(6月改善_倉庫建設サービスページCV強化施策)*/
.section__point .heading{
line-height: 1.2 !important;
font-size: 3.6rem !important;

}
.section__point .heading span{
    font-size: 2.5rem;
}
.section_contact_warehouse .download__bnr .heading{
    font-size: 3.5rem !important;
}
.section_contact_warehouse .download__bnr .text{
    font-size: 2rem !important;
        margin: 1rem 0 1rem !important;
}

.section_contact_warehouse .download__bnr .button-container{
      margin-top: 2rem !important;
}
.section_contact_warehouse .download__bnr{
      padding: 1.6rem !important;
      max-width: 90rem !important;
}
.section--works--warehouse .archive-works__heading{
      font-size: 2.3rem;
    text-align: center;

}
.section--works--warehouse .download__bnr__body{
      padding-right: 10rem;
      padding-left: 0 !important;
        color: #fff;
}
.download03__bnr--warehouse .download__bnr .button > span{
  font-weight: bold;
}
.download03__bnr--warehouse .button{
  min-width: 23rem;
  background-color: #fff;
  color: #000;
}
.download03__bnr--warehouse{
      margin-top: 10rem;
}
.download03__bnr--warehouse .heading{
    font-size: 4.8rem !important;
}
.download03__bnr--warehouse .text{
    font-size: 2rem !important;
}
.download03__bnr--warehouse .download__bnr__body .text{
  margin-top: 1rem !important;
  color:#e87701;
    font-size: 1.8rem;
    font-weight: bold;
}

.download03__bnr--warehouse .download__bnr {
      padding: 2rem 2rem 3rem 3rem !important;
      max-width: 79rem !important;
        justify-content: flex-end;
    background-color: #000;
}
.download03__bnr--warehouse .download__bnr__image{
      width: 32%;
}

.download03__bnr--warehouse .download__bnr .button-container{
      margin-top: 2rem !important;
}
.section--works--warehouse::before{
      height: calc(100% - 39.5rem) !important;
}
.section_contact_warehouse02 .heading{
      font-size: 3.8rem !important;
}
.section_contact_warehouse02 .text{
      font-size: 2rem !important;
      margin-top: 1rem;


}
.section_contact_warehouse02 .download__bnr{
      padding: 1rem;
}
.section_contact_warehouse02 .download__bnr .download__bnr__image{
     width: 38%;
}


.main--service-warehouse .download__bnr__body{
  padding-left: 5rem;
}
.main--service-warehouse .download__bnr__body .button-container a{


}
.main--service-warehouse .download__bnr{

}

.main--service-warehouse .hero .button{
  min-width: 43rem;
}
.main--service-warehouse .hero .button span{
  font-size: 2.4rem !important;
    letter-spacing: -1.6px !important;
}
.main--service-warehouse .hero .button span small{
     font-size: 1.8rem !important;
    }
.bnr_warehouse__contact{
max-width: 790px;
margin: 4rem auto 0;
}
.bnr_warehouse__contact .bnr_intro_txt{

}
.bnr_warehouse__contact .button-container.bnr_intro_btn{
      margin-top: 3rem;
}
.bnr_warehouse__contact .bnr_intro_ttl{
      font-size: 3.5rem;
      letter-spacing: -1.34px;

}

.list-feature__body__ttl{
  display: flex;
}
.list-feature__body__ttl div{
      background-color: #d5791d;
    color: #fff;
    font-weight: bold;
    height:125px;
    aspect-ratio: 1;
    border-radius: 50%;
    color: #ffffff;
    transition: 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 32px;
    padding: 10px;
    border-radius: 50%;
    margin: 0 15px 10px 0;
    flex-direction: column;
    line-height: .6;
    letter-spacing: 3px;
}
.list-feature__body__ttl div small{
font-size: 18px;
letter-spacing: 0px;
}
.bnr-second-opinion_lp{
  margin: 0 auto 8rem;
  padding: 2rem 2rem 2rem 3rem !important;
  height: 165px;
}
.bnr-second-opinion_lp .bnr_intro_img{
  clip-path: none;
  width: 190px;
}
.bnr-second-opinion_lp .bnr_intro_txt{
  margin:0;
}
.bnr-second-opinion_lp .bnr_intro_ttl{
  font-size: 2.9rem;
  line-height: 3.5rem;
}
.bnr-second-opinion_lp .button{
      margin-top: .6rem;
}


@media screen and (min-width:769px) {
.bnr_warehouse__contact .bnr_intro_txt{
      margin: 4rem 0 3rem 3rem;
}
.bnr_warehouse__contact  .button{
    min-width: 23rem;
}
.bnr_warehouse__contact .bnr_intro_span{
  height: 4rem !important;
}
.bnr_warehouse__contact .bnr_intro_btn{
 font-size: 1.7rem;
}
.bnr_warehouse__contact .bnr_intro_img{
clip-path: polygon(16% 0, 100% 0%, 100% 100%, 4% 100%);
}

}



@media screen and (max-width:769px) {
.section_contact_warehouse .download__bnr__image{
    height: 200px;
    overflow: hidden;
}
.section_contact_warehouse .download__bnr__image img{
      object-fit: cover;
    width: 100%;

}
.section_contact_warehouse .button-container {
      margin-bottom: 2rem;
}
.section_contact_warehouse .button-container a span{
    height: 6rem !important;
}
.section_contact_warehouse .download__bnr__body{
    margin-top: 3rem !important;
}
.download03__bnr--warehouse .download__bnr__image{
      width: 100%;
}
.download03__bnr--warehouse .button-container a span{
height: 6rem !important;
}
.download03__bnr--warehouse .download__bnr .button-container{
  margin-bottom: 2rem;
}
.download03__bnr--warehouse .download__bnr__body{
  margin-top: 2rem !important;
}

.section_contact_warehouse02 .button-container a span{
height: 6rem !important;
}
.section_contact_warehouse02 .button-container{
  margin-bottom: 2rem;
}
.section_contact_warehouse02.download__bnr__body{
  margin-top: 3rem !important;
}
.main--service-warehouse .hero .button{
  min-width: 53.5rem;
}
.main--service-warehouse .hero .button span{
  letter-spacing: 0px !important;
}
.bnr_warehouse__contact .bnr_intro_img img{
  width: 100% !important;
}
.section--works--warehouse .download__bnr__body{
  padding-right: 0 !important;
}
.download03__bnr--warehouse .button{
      min-width: -webkit-fill-available;
}
.main--service-warehouse .download__bnr__body{
  padding-left: 0;
}
.bnr-second-opinion_lp{
  height: auto;

}
.bnr-second-opinion_lp .bnr_intro_img{
  width: 100%;
}
.bnr-second-opinion_lp .bnr_intro_img img{
  height: 220px;
  object-fit: cover;
  overflow: hidden;
  width: 100%;

}
.bnr_intro.second-opinion{
    padding: 2rem 2rem 3rem 2rem ;
}
.list-feature__body__ttl div{
  height: 85px;
  font-size: 24px;
}
.list-feature__body__ttl div small{
  font-size: 14px;
}


}
