@charset "utf-8";

main:not(#top) {
  padding-top: 80px;
}

/*------------------------------ 共通 ------------------------------*/
.pc {
  display: none;
}

.line-heading {
  padding-bottom: 16px;
  margin-bottom: 12px;
  font-size: 3.6rem;
}

@media screen and (max-width: 400px) {
  .line-heading {
    font-size: 3rem;
  }
}

.text {
  font-size: 1.4rem;
}

.thin-link {
  max-width: 325px;
  width: 90%;
  margin-inline: auto;
}

.map-link {
  margin-left: auto;
}

.scrollable {
  text-align: left;
  padding-bottom: 24px;
}

/* パンくずリスト */
.breadcrumbs {
  margin-bottom: 72px;
}

.breadcrumbs .inner {
  flex-wrap: wrap;
  font-size: 1.2rem;
}

/* 下層FV */
.under-fv {
  height: 200px;
}

.under-fv h1 {
  height: 56px;
  font-size: 3rem;
  padding: 0 5%;
}

/* ここから下の共通は未修正 */
/* 画像とテキストのリンク */
.c-links {
  gap: 40px 5%;
}

@media screen and (max-width: 500px) {
  .c-links {
    gap: 40px 0;
  }
}

.c-links a p {
  font-size: 1.4rem;
}

.c-links a {
  width: 47.5%;
}

@media screen and (max-width: 500px) {
  .c-links a {
    width: 100%;
  }
}

.point-list {
  padding-left: 1.8em;
}

.point-list::before {
  width: 18px;
  height: 18px;
}

.pdf {
  max-width: 284px;
  width: 90%;
}

.anchor-point {
  padding-top: 90px;
  margin-top: -90px;
}

/* 共通dl */
.dl-wrap {
  margin-bottom: 72px;
}

.dl-wrap dl {
  padding: 20px 0;
}

.dl-wrap dl dt {
  font-size: 1.4rem;
}

.dl-wrap dl dd {
  font-size: 1.4rem;
}

/* 事業内容 数字 工程 */
.business-process {
  flex-direction: column;
  gap: 20px 0;
}

.business-process .each-process .number {
  width: 61px;
  height: 61px;
  font-size: 2.8rem;
}

.business-process .each-process .txt {
  width: calc(100% - 61px);
  gap: 2px 0;
  padding: 0 5px;
}

.business-process .each-process .bold {
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (max-width: 550px) {
  .business-process .each-process .bold {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 550px) {
  .business-process .each-process .txt span {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 400px) {
  .business-process .each-process .txt.long-txt {
    font-size: 1.2rem;
  }
}

.left-align-gray::after {
  width: 90%;
}

/* 事業内容 dl */
.business-dl .dl-wrap dl dd.flex p {
  font-size: 1.4rem;
}


/*------------------------------ ヘッダーアコーディオン ------------------------------*/
/*ベース*/
.h-toggle {
  display: none;
}

.h-Label {
  /*タイトル*/
  padding: 22px 0;
  display: block;
  color: #008096;
}

.h-Label::before {
  /*タイトル横の矢印*/
  position: absolute;
  content: "";
  width: 2px;
  height: 16px;
  background-color: #048096;
  top: 50%;
  right: 19px;
  transform: translateY(-50%);
}

.h-Label::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 2px;
  background-color: #048096;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.h-Label,
.h-content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.h-content {
  /*本文*/
  height: 0;
  padding: 0;
  overflow: hidden;
}

.h-toggle:checked+.h-Label+.h-content {
  /*開閉時*/
  height: auto;
  padding: 14px 0;
  transition: all .3s;
}

.h-toggle:checked+.h-Label::before {
  display: none;
}

.scroll-wrap {
  overflow-x: scroll;
  scrollbar-color: #707070;
  padding-bottom: 16px;
  cursor: pointer;
}

.scroll-wrap img {
  max-width: none;
}

.scroll-wrap .scroll-content {
  width: 700px;
}

.scroll-wrap::-webkit-scrollbar {
  background: #fff;
  height: 12px;
  border: 1px solid #707070;
}

.scroll-wrap::-webkit-scrollbar-thumb {
  background-color: #707070;
  border-radius: 10px;
  cursor: pointer;
}

header {
  height: 80px;
}

header .container nav {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100vw;
  height: calc(100vh + 64px);
  padding-top: 128px;
  opacity: 0;
  pointer-events: none;
}

header .container nav.active {
  transition: .5s;
  opacity: 1;
  pointer-events: auto;
}

header .container nav ul {
  flex-direction: column;
  gap: 48px 0;
  align-items: center;
}

header .container nav ul .logo {
  margin-bottom: 32px;
}

header .container nav ul li .not-green-link {
  font-size: 2.2rem;
  color: #2B2B2B;
}

header .container nav ul li .green-link {
  font-size: 1.7rem;
  color: #fff;
}

header .container nav ul li .green-link.seminar:hover {
  color: #0AC7A2;
}

header .container nav ul .sp-spread {
  width: 100%;
}

header .container nav ul .sp-spread .entry {
  width: 66%;
  min-width: 220px;
  margin-inline: auto;
}

header .hamburger {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  cursor: pointer;
}

header .hamburger span {
  position: absolute;
  height: 2px;
  background-color: #000000;
  left: 10px;
  transition: .5s;
  width: 24px;
}

header .hamburger.active span {
  background-color: #000000;
}

header .hamburger span:first-of-type {
  top: 14px;
}

header .hamburger.active span:first-of-type {
  transform: rotate(40deg) translateY(-1px);
  transform-origin: left top;
  width: 35px;
}

header .hamburger span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}

header .hamburger.active span:nth-of-type(2) {
  opacity: 0;
}

header .hamburger span:last-of-type {
  top: 34px;
}

header .hamburger.active span:last-of-type {
  transform: rotate(-40deg) translateY(2px);
  transform-origin: left bottom;
  width: 35px;
}

header .container .logo-wrap {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
}

header .h-accordion {
  margin-top: 80px;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  position: relative;
  padding-bottom: 224px;
}

header .h-accordion.active {
  opacity: 1;
  pointer-events: auto;
  transition: .5s;
  height: 100vh;
  overflow-y: auto;
}

header .h-accordion .container {
  border-top: .75px solid #000000;
}

header .h-accordion .container .h-Label {
  border-bottom: .5px solid #666666;
  cursor: pointer;
}

header .h-accordion .container .h-Label a {
  color: #008096;
  font-weight: 700;
  letter-spacing: 0.02em;
}

header .h-accordion .container .h-Label a:hover {
  color: #000;
}

header .h-accordion .container .h-Label span {
  display: block;
  width: max-content;
  color: #008096;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: default;
}

header .h-accordion .container .h-content ul li a {
  padding: 14px 20px;
  letter-spacing: 0.12em;
}

header .h-accordion .container .h-content ul li a:hover {
  color: #006E91;
}

header .h-accordion .container .contact {
  max-width: 300px;
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: #008096;
  border: 2px solid #008096;
  border-radius: 7px;
  font-weight: 700;
  letter-spacing: 0.14em;
  font-size: 1.8rem;
  margin-inline: auto;
  margin-top: 40px;
  position: relative;
}

header .h-accordion .container .contact:hover {
  color: #fff;
  background-color: #008096;
}

header .h-accordion .container .contact::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #008096;
  border-right: 2px solid #008096;
  transform: translateY(-50%) rotate(30deg) skew(-21deg);
}

header .h-accordion .container .contact:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

/*------------------------------ フッターアコーディオン ------------------------------*/
footer {
  margin-top: 144px;
}

footer .container .address-us {
  padding: 48px 0 24px;
  flex-direction: column;
  text-align: center;
}

footer .container .address-us address {
  margin-bottom: 48px;
}

footer .container .address-us address a {
  margin-bottom: 11px;
}

footer .container .address-us address p:not(:last-of-type) {
  margin-bottom: 4px;
}

footer .container .address-us .us .sns-contact {
  flex-direction: column;
  gap: 18px 0;
  align-items: center;
  margin-bottom: 48px;
}

footer .container .address-us .us .sns-contact .box {
  max-width: 300px;
  width: 100%;
  gap: 0 16px;
}

footer .container .address-us .us .sns-contact .box a img {
  max-width: 37px;
}

footer .container .address-us .us .other-link {
  margin-bottom: 32px;
}

footer .container .address-us .us .other-link li a {
  letter-spacing: 0.12em;
  font-size: 1.4rem;
}

footer .container .address-us .us .other-link li a:hover {
  color: #006E91;
}

footer .container .address-us .us .other-link li:not(:last-of-type) {
  margin-bottom: 20px;
}

footer .container .address-us .us .copy {
  font-size: 1.2rem;
}

@media screen and (max-width: 500px) {
  footer .container .address-us .us .copy br {
    display: block;
  }
}

/*ベース*/
.f-toggle {
  display: none;
}

.f-Label {
  /*タイトル*/
  padding: 22px 0;
  display: block;
  color: #008096;
}

.f-Label::before {
  /*タイトル横の矢印*/
  position: absolute;
  content: "";
  width: 2px;
  height: 16px;
  background-color: #048096;
  top: 50%;
  right: 19px;
  transform: translateY(-50%);
}

.f-Label::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 2px;
  background-color: #048096;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
}

.f-Label,
.f-content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.f-content {
  /*本文*/
  height: 0;
  padding: 0;
  overflow: hidden;
}

.f-toggle:checked+.f-Label+.f-content {
  /*開閉時*/
  height: auto;
  padding: 14px 0;
  transition: all .3s;
}

.f-toggle:checked+.f-Label::before {
  display: none;
}

footer .f-content ul li.each-senior {
  padding-left: 1.6rem;
}

footer .f-accordion {
  background-color: #fff;
  position: relative;
}

footer .f-accordion .container {
  border-top: .75px solid #000000;
}

footer .f-accordion .container .f-Label {
  border-bottom: .5px solid #666666;
  cursor: pointer;
}

footer .f-accordion .container .f-Label a {
  color: #008096;
  font-weight: 700;
  letter-spacing: 0.02em;
}

footer .f-accordion .container .f-Label a:hover {
  color: #000;
}

footer .f-accordion .container .f-Label span {
  display: block;
  width: max-content;
  color: #008096;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: default;
}

footer .f-accordion .container .f-content ul li a {
  padding: 14px 20px;
  letter-spacing: 0.12em;
}

footer .f-accordion .container .f-content ul li.each-senior a {
  padding: 10px 20px;
}

footer .f-accordion .container .f-content ul li a:hover {
  color: #006E91;
}


/*------------------------------ 企業情報 ------------------------------*/
#company .under-fv {
  background-image: url(../img/company/company-sp.jpg);
}


/*------------------------------ トップ ------------------------------*/
#top .fv {
  margin-bottom: 96px;
}

#top .fv .container .mask-img {
  background-image: url(../img/top/fv-sp.jpg);
}

@keyframes maskInfinite {
  0% {
    background-position: 0 50%;
  }

  100% {
    background-position: 700px 50%;
  }
}

@media screen and (max-width: 350px) {
  #top .fv .container .first-txt p span {
    font-size: 1.4rem;
  }
}

#top .fv .container .scroll {
  bottom: 220px;
  font-size: 1.2rem;
}

#top .fv .container .scroll::before {
  bottom: -67px;
  height: 60px;
}

#top .fv .container .scroll::after {
  bottom: -74px;
}

@keyframes scrollMove {
  0% {}

  100% {
    bottom: -64px;
  }
}

#top .fv .news-topic {
  width: calc(90% - 45px);
  padding: 0 5%;
  flex-direction: column;
  justify-content: center;
  font-size: 1.4rem;
  gap: 4px 0;
}

#top .fv .news-topic::before {
  right: 5%;
}

@media screen and (max-width: 500px) {
  #top .fv .news-topic::before {
    right: 3%;
  }
}

#top .fv .news-topic .ttl {
  line-height: 1.3;
  margin-right: 20px;
}

@media screen and (max-width: 350px) {
  #top .fv .news-topic .ttl {
    margin-right: 10px;
    font-size: 1.3rem;
  }
}

#top .fv .news-topic .txt-time {
  gap: 0 16px;
}

#top .content-img {
  flex-direction: column-reverse;
  gap: 24px 0;
}

#top .content-img .img {
  width: calc(50% + 50vw);
}

#top .content-img .contents .text {
  margin-bottom: 32px;
  font-size: 1.4rem;
}

#top .intro-experience {
  padding-top: 40px;
  margin-bottom: 72px;
}

#top .intro-experience::after {
  width: 90%;
  /* width: 98%; */
  height: 100%;
}

#top .intro-experience .intro {
  margin-bottom: 104px;
}

#top .intro-experience .experience {
  padding-bottom: 56px;
}

#top .intro-experience .experience .container {
  flex-direction: column;
}

#top .intro-experience .container .img {
  border-radius: 30px 0 0 30px;
}

#top .intro-experience .experience .container .img {
  position: relative;
  left: -5vw;
  border-radius: 0 30px 30px 0;
}

#top .car {
  margin-bottom: 88px;
}

#top .car .container .img {
  border-radius: 30px 0 0 30px;
}

#top .world-sdgs {
  margin-bottom: 72px;
  padding: 40px 0 48px;
}

#top .world-sdgs::after {
  width: 90%;
  /* width: 98%; */
  top: 0;
}

#top .world-sdgs .container .img {
  border-radius: 0 30px 30px 0;
}

#top .world-sdgs .world {
  margin-bottom: 104px;
}

#top .world-sdgs .world .container {
  flex-direction: column;
}

#top .world-sdgs .world .container .img {
  position: relative;
  left: -5vw;
}

#top .world-sdgs .sdgs .container .img {
  border-radius: 30px 0 0 30px;
}

#top .recruit-wrap {
  margin-bottom: 88px;
}

#top .recruit-wrap .recruit {
  padding-left: 5%;
  margin-bottom: 20px;
  border-radius: 30px;
}

#top .recruit-wrap .recruit h2 {
  margin-bottom: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 450px) {
  #top .recruit-wrap .recruit h2 {
    font-size: 2.6rem;
  }
}

#top .recruit-wrap .recruit h2::after {
  display: none;
}

#top .recruit-wrap .recruit p {
  max-width: 479px;
  margin-bottom: 36px;
}

#top .recruit-wrap .recruit .thin-link::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

#top .recruit-wrap .recruit-wrap {
  margin-bottom: 88px;
}

#top .recruit-wrap .recruit-wrap .txt-link p {
  margin-bottom: 32px;
}

#top .recruit-wrap .txt-link p {
  margin-bottom: 32px;
  width: 90%;
  margin-inline: auto;
  font-size: 1.4rem;
}

#top .others {
  padding: 40px 0 56px;
  margin-bottom: 90px;
}

#top .others .container p {
  margin-bottom: 40px;
  font-size: 1.4rem;
}

#top .others .container .content-wrap {
  flex-direction: column;
  align-items: center;
  gap: 80px 0;
}

#top .others .container .content-wrap .each-content {
  max-width: 400px;
}

#top .others .container .content-wrap .each-content .radius-img {
  margin-bottom: 24px;
}

#top .others .container .content-wrap .each-content a {
  font-size: 1.4rem;
}

#top .news {
  padding: 40px 0 56px;
}

#top .news::after {
  width: 100%;
}

#top .news .container {
  gap: 40px 0;
  flex-direction: column;
}

#top .news .container .contents {
  flex-direction: column;
  justify-content: space-between;
}

#top .news .container .news-wrap {
  padding: 0 5%;
}

#top .news .container .news-wrap a {
  flex-direction: column;
  padding: 24px 0;
  gap: 4px 0;
  font-size: 1.4rem;
}


/*------------------------------ 代表挨拶 ------------------------------*/
#representative .under-fv {
  background-image: url(../img/company/representative-sp.jpg);
}

#representative .president {
  padding: 40px 0 72px;
}

#representative .president::after {
  width: 100%;
}

#representative .president .container {
  padding: 40px 5% 160px;
}

@media screen and (max-width: 450px) {
  #representative .president .container {
    padding: 40px 5% 130px;
  }
}

#representative .president .container h2 {
  font-size: 3.6rem;
  margin-bottom: 40px;
}

#representative .president .container p {
  margin-bottom: 32px;
  font-size: 1.4rem;
}

#representative .president .container figure {
  gap: 0 24px;
  right: 5%;
  width: 90%;
  justify-content: flex-end;
}

#representative .president .container figure figcaption {
  gap: 16px 0;
}

@media screen and (max-width: 450px) {
  #representative .president .container figure figcaption span {
    font-size: 1.3rem;
  }
}

#representative .president .container figure .picture-img {
  max-width: 192px;
}


/*------------------------------ 経営理念・ビジョン ------------------------------*/
#management .under-fv {
  background-image: url(../img/company/management-sp.jpg);
}

#management .motto {
  margin-bottom: 72px;
}

#management .motto .container {
  margin-bottom: 40px;
  flex-direction: column;
  gap: 32px 0;
}

#management .motto .container ul li {
  margin-bottom: 16px;
  text-indent: -1.8em;
  padding-left: 1.8em;
}

#management .motto .missions {
  padding: 40px 0;
}

#management .motto .missions::after {
  width: 100%;
}

#management .motto .missions .inner .heading-txt {
  align-items: center;
  margin-bottom: 48px;
  flex-direction: column;
  gap: 16px 0;
}

#management .motto .missions .inner .heading-txt:last-of-type {
  margin-bottom: 0;
}

#management .motto .missions .inner .heading-txt h2 .img {
  width: 80%;
  text-align: center;
  margin-bottom: 12px;
}

#management .motto .missions .inner .heading-txt .txt {
  padding: 24px;
  width: 100%;
  line-height: 2;
}

#management .sustainability .container .more {
  margin-bottom: 40px;
}

#management .sustainability .inner .txt-img {
  margin-bottom: 40px;
  gap: 0 16px;
  text-align: center;
}

#management .sustainability .inner .txt-img p {
  letter-spacing: 0.02em;
}

@media screen and (max-width: 450px) {
  #management .sustainability .inner .txt-img p {
    font-size: 1.4rem;
    gap: 0 12px;
  }
}

#management .sustainability .inner .txt-img .img {
  max-width: 240px;
}

@media screen and (max-width: 450px) {
  #management .sustainability .inner .txt-img .img {
    max-width: 125px;
  }
}

#management .sustainability .accordion {
  margin-bottom: 32px;
}

#management .sustainability .accordion .Label {
  height: 105px;
}

#management .sustainability .accordion .Label .img img {
  max-height: 65px;
  width: 90%;
}

@media screen and (max-width: 400px) {
  #management .sustainability .accordion .Label .ttl {
    font-size: 1.4rem;
  }
}

#management .sustainability .accordion .Label::before {
  width: 32px;
  height: 32px;
}

#management .sustainability .accordion .Label::after {
  font-size: 2.8rem;
  right: 1.6px;
  top: 49%;

  line-height: 32px;
}

#management .sustainability .accordion .toggle:checked+.Label::after {
  width: 21px;
  right: 5px;
  top: 50%;
}

#management .sustainability .accordion .content {
  padding: 0 5%;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .content {
    padding: 0 0;
  }
}

#management .sustainability .accordion .content .attempt {
  width: 104px;
  height: 36px;
  margin: 8px 0 16px;
}

#management .sustainability .accordion .content .policy {
  justify-content: space-between;
  margin-bottom: 18px;
}

#management .sustainability .accordion .content .policy ul {
  font-size: 1.4rem;
}

#management .sustainability .accordion .content .policy ul li {
  margin-bottom: 18px;
}

#management .sustainability .accordion .content .policy .point-ul .point-list::before {
  width: 20px;
  height: 20px;
  top: 11px;
}

#management .sustainability .accordion .content .policy .point-ul li span.sp-txt {
  display: block;
  font-weight: 400;
  letter-spacing: 0.16em;
  padding-top: 8px;
}

#management .sustainability .pdf {
  margin-inline: auto;
  margin-bottom: 72px;
}

#management .sustainability .to-the-next .to-the-next-txt {
  top: 18%;
  left: 5%;
  max-width: 55%;
}


/*------------------------------ 経営理念・ビジョンのアコーディオン ------------------------------*/
.content {
  margin-bottom: 10px;
}

#management .sustainability .accordion .toggle:checked+.Label+.content {
  padding: 0 5% 20px;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .toggle:checked+.Label+.content {
    padding: 0 0 20px;
  }
}

#management .sustainability .to-the-next .img {
  border-radius: 0 30px 30px 0;
}


/*------------------------------ 会社概要 ------------------------------*/
#profile .under-fv {
  background-image: url(../img/company/profile-sp.jpg);
}

#profile .access-map {
  padding: 40px 0;
  margin-bottom: 72px;
}

#profile .access-map .inner {
  width: 100%;
}

#profile .access-map::after {
  width: 100%;
}

#profile .access-map .container .text {
  margin-bottom: 32px;
}

#profile .access-map .container .inner .map {
  margin-bottom: 16px;
}

#profile .access-map .container .inner .address-link {
  flex-direction: column;
  gap: 24px 0;
}

#profile .access-map .container .inner .address-link address dl {
  margin-bottom: 8px;
  font-size: 1.4rem;
}

#profile .access-map .container .inner .address-link address dl dt {
  width: 70px;
}

#profile .access-map .container .inner .address-link address dl dd {
  width: calc(100% - 70px);
}

#profile .iso .container .text {
  margin-bottom: 32px;
}

#profile .iso .links {
  padding: 40px 0 56px;
  width: 90%;
  margin-inline: auto;
}

#profile .iso .links::after {
  width: 100%;
}

#profile .iso .links .inner .each-link {
  margin-bottom: 56px;
}

#profile .iso .links .inner .each-link .number {
  height: 36px;
  padding: 0 12px;
  margin-bottom: 16px;
  font-weight: 500;
}

#profile .iso .links .inner .each-link h3 {
  padding-left: 1.7em;
  margin-bottom: 8px;
}

#profile .iso .links .inner .each-link:last-of-type h3 {
  margin-bottom: 8px;
}

#profile .iso .links .inner .each-link .text {
  line-height: 2;
  margin-bottom: 24px;
  padding-left: 2em
}

#profile .iso .links .inner .each-link a {
  margin-left: auto;
}


/*------------------------------ 沿革 ------------------------------*/
#history .under-fv {
  background-image: url(../img/company/history-sp.jpg);
}

#history .dl-wrap dl dt {
  width: 33%;
}

@media screen and (max-width: 500px) {
  #history .dl-wrap dl dt {
    margin-right: auto;
    text-align: center;
  }
}

#history .dl-wrap dl dd {
  width: 62%;
}


/*------------------------------ 品質管理 ------------------------------*/
#quality .under-fv {
  background-image: url(../img/company/quality-sp.jpg);
}

#quality .guarantee {
  margin-bottom: 72px;
}

#quality .guarantee .container .text {
  margin-bottom: 30px;
}

#quality .inspection {
  margin-bottom: 72px;
  padding: 40px 0;
}

#quality .inspection::after {
  width: 100%;
}

#quality .inspection .container .text {
  margin-bottom: 40px;
}

#quality .inspection .inner .each-inspection .heading-txt p {
  padding-left: 2em;
}

#quality .inspection .inner .bottom-txt {
  width: 100%;
}

#quality .inspection .inner .digital-measurement {
  flex-direction: column;
  gap: 20px 0;
  margin-bottom: 20px;
}

#quality .inspection .inner .digital-measurement .each-inspection .img {
  margin-inline: auto;
  max-width: 400px;
}

#quality .inspection .inner .each-inspection .heading-txt h3 {
  margin-bottom: 8px;
}

#quality .inspection .inner .each-inspection .heading-txt p {
  margin-bottom: 20px;
}

#quality .inspection .inner .vacuum {
  flex-direction: column;
  gap: 20px 0;
  margin-bottom: 40px;
}

#quality .inspection .inner .vacuum .img {
  padding: 30px 0;
  max-width: 400px;
  margin-inline: auto;
}

#quality .inspection .inner .vacuum .img img {
  width: 80%;
}

#quality .inspection .inner .bottom-txt {
  padding: 15px;
}

#quality .management-attempt {
  margin-bottom: 40px;
}

#quality .management-attempt .container .text {
  margin-bottom: 40px;
}

#quality .management-attempt .inner {
  flex-direction: column;
  gap: 40px 0;
}

#quality .management-attempt .inner .each-attempt .anchor-point {
  padding-top: 100px;
  margin-top: -100px;
}

#quality .management-attempt .inner .each-attempt h3 {
  margin-bottom: 8px;
}

#quality .management-attempt .inner .each-attempt .deco-txt {
  padding: 5px 10px;
  margin-bottom: 8px;
  margin-left: 2em;
}

#quality .management-attempt .inner .each-attempt .text {
  margin-bottom: 20px;
  padding-left: 2em;
}

#quality .management-attempt .inner .each-attempt .img {
  max-width: 400px;
  margin-inline: auto;
}

#quality .actual-intro {
  padding: 72px 0 40px;
}

#quality .actual-intro::after {
  width: 100%;
}

#quality .actual-intro .container .text {
  margin-bottom: 40px;
}

#quality .actual-intro .inner {
  flex-direction: column;
  gap: 40px 0;
}

#quality .actual-intro .inner .each-actual h3 {
  margin-bottom: 16px;
}

#quality .actual-intro .inner .each-actual .img {
  max-width: 400px;
  margin-inline: auto;
}


/*------------------------------ 数字で見る鈴豊精鋼 ------------------------------*/
#numbers .sdgs::after {
  width: 100%;
}

#numbers .under-fv {
  background-image: url(../img/company/numbers-sp.jpg);
}

#numbers .container .data-wrap {
  flex-direction: column;
  gap: 40px 0;
  align-items: center;
}

#numbers .container .data-wrap .each-data {
  max-width: 400px;
  width: 100%;
}

#numbers .container .data-wrap .each-data h3 {
  letter-spacing: 0.139em;
}

#numbers .container .data-wrap .each-data .data {
  min-height: 207px;
}

#numbers .container .data-wrap .each-data .data .baseline {
  gap: 0 10px;
}

#numbers .container .data-wrap .each-data .data .baseline .number {
  font-size: 5.6rem;
}

#numbers .container .data-wrap .each-data .data .baseline .unit {
  font-size: 3.6rem;
}

#numbers .container .data-wrap .each-data.age {
  aspect-ratio: auto;
  width: 100%;
  margin-inline: auto;
}

#numbers .container .data-wrap .each-data.gender {
  margin-inline: auto;
}

#numbers .company {
  margin-bottom: 72px;
}

#numbers .employee {
  margin-bottom: 40px;
}

#numbers .employee::after {
  width: 100%;
}

#numbers .employee .container .data-wrap .age-gender .each-data .data .bar-wrap {
  margin-bottom: 20px;
  width: 100%;
}

#numbers .employee .container .data-wrap .age-gender .each-data .data .bar-wrap .each-bar {
  margin-bottom: 16px;
}

#numbers .employee .container .data-wrap .age-gender .each-data .data .bar-wrap .each-bar p {
  width: 30%;
  text-align: right;
}

#numbers .employee .container .data-wrap .age-gender .each-data .data .bar-wrap .each-bar .bar {
  width: 65%;
}

#numbers .employee .container .data-wrap .age-gender .each-data .data .bar-wrap .each-bar .bar .bar-number {
  padding-left: 10px;
}

#numbers .employee .container .data-wrap .age .data {
  padding: 20px;
}

#numbers .container .data-wrap .each-data .data .baseline .year {
  font-size: 1.4rem;
  bottom: -30px;
}

#numbers .sdgs {
  padding: 40px 0;
  margin-bottom: 72px;
}

#numbers .sdgs .container .data-wrap .each-data.learning .data .txts h4 {
  font-size: 1.4rem;
}

#numbers .sdgs .container .data-wrap .each-data.learning .data .txts .kinds p {
  font-size: 1.4rem;
}

#numbers .sdgs .container .data-wrap .each-data.learning .data .txts .kinds {
  gap: 0 24px;
}

#numbers .sdgs .container .data-wrap .each-data.learning .data .txts .kinds .people {
  font-size: 1.4rem;
}

#numbers .sdgs .container .data-wrap .each-data .data .explanation-baseline .explanation {
  font-size: 1.4rem;
}

#numbers .container .data-wrap .age-gender {
  width: 100%;
}

#numbers .container .data-wrap .each-data.employee-number .data {
  padding: 20px;
}

#numbers .container .data-wrap .age-gender .each-data.gender .data .graph .man {
  width: calc(100% - 40px);
}

#numbers .work {
  padding: 72px 0 40px;
  margin-bottom: 72px;
}

#numbers .work::after {
  width: 100%;
}

#numbers .container .data-wrap .age-gender .each-data.age .data {
  flex-direction: column;
  gap: 64px 0;
}


/*------------------------------ 事業内容 ------------------------------*/
#business .under-fv {
  background-image: url(../img/business/business-sp.jpg);
}


/*------------------------------ 引抜みがき棒鋼 ------------------------------*/
#polishing .under-fv {
  background-image: url(../img/business/polishing-sp.jpg);
}

#polishing .container .text:first-of-type {
  margin-bottom: 40px;
}

#polishing .feature {
  margin-bottom: 72px;
}

#polishing .feature .container .business-process .each-process .txt .arrow-half {
  gap: 0 44px;
}

@media screen and (max-width: 450px) {
  #polishing .feature .container .business-process .each-process .txt .arrow-half {
    gap: 0 30px;
  }
}

@media screen and (max-width: 400px) {
  #polishing .feature .container .business-process .each-process .txt .arrow-half {
    gap: 0 20px;
  }
}

#polishing .feature .container .business-process .each-process .txt .arrow-half {
  font-size: 1.3rem;
}

@media screen and (max-width: 400px) {
  #polishing .feature .container .business-process .each-process .txt .arrow-half span {
    font-size: 1.1rem;
  }
}

#polishing .feature .container .business-process .each-process .txt .arrow-half span:not(:last-of-type)::after {
  width: 26px;
  height: 8px;
}

@media screen and (max-width: 450px) {
  #polishing .feature .container .business-process .each-process .txt .arrow-half span:not(:last-of-type)::after {
    width: 14px;
    height: 6px;
  }
}

@media screen and (max-width: 400px) {
  #polishing .feature .container .business-process .each-process .txt .arrow-half span:not(:last-of-type)::after {
    width: 10px;
    height: 5px;
    left: calc(100% + 2px);
  }
}

#polishing .diagram {
  padding: 40px 0;
  margin-bottom: 72px;
}

#polishing .diagram::after {
  width: 100%;
}

#polishing .facility {
  margin-bottom: 72px;
}

#polishing .facility .container .business-dl {
  margin-bottom: 56px;
}

#polishing .facility .container .business-dl .dl-wrap {
  margin-bottom: 0;
}

#polishing .diagram .container .diagrams .scroll-content {
  width: max-content;
}


/*------------------------------ 事業について ------------------------------*/
#about .under-fv {
  background-image: url(../img/business/about-sp.jpg);
}

#about .correlation {
  margin-bottom: 72px;
}

#about .correlation .container .text:first-of-type {
  margin-bottom: 40px;
}


/*------------------------------ 製品紹介 ------------------------------*/
#product .under-fv {
  background-image: url(../img/business/product-sp.jpg);
}

#product .use {
  margin-bottom: 72px;
}

#product .use .container .text:first-of-type {
  margin-bottom: 40px;
}


/*------------------------------ 冷間圧造用鋼線 ------------------------------*/
#steel .under-fv {
  background-image: url(../img/business/steel-sp.jpg);
}

#steel .feature {
  margin-bottom: 72px;
}

#steel .feature .container .text {
  margin-bottom: 40px;
}

#steel .process {
  padding: 40px 0;
  margin-bottom: 72px;
}

#steel .process::after {
  width: 100%;
}

#steel .process .container .text:first-of-type {
  margin-bottom: 40px;
}

#steel .process .container .diagrams .scroll-content {
  width: max-content;
}

#steel .process .container .diagrams .process-img img {
  padding: 0 20px;
}

#steel .facility .container .text:first-of-type {
  margin-bottom: 40px;
}

#steel .facility .container .business-dl .dl-wrap {
  margin-bottom: 0;
}


/*------------------------------ 冷間鍛造品 ------------------------------*/
#forging .under-fv {
  background-image: url(../img/business/forging-sp.jpg);
}

#forging .feature {
  margin-bottom: 72px;
}

#forging .process .container .text:first-of-type {
  margin-bottom: 40px;
}

#forging .process .container .diagrams .scroll-content {
  width: max-content;
}

#forging .feature .container .business-process {
  margin-bottom: 20px;
}

#forging .feature .container .text {
  margin-bottom: 40px;
}

#forging .feature .container .note .img-contents {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

#forging .feature .container .note .img-contents picture.img {
  width: 50%;
}

#forging .feature .container .note .img-contents picture.img img {
  width: 100%;
}

#forging .feature .container .note .img-contents .contents {
  width: 45%;
}

#forging .feature .container .note .img-contents .contents img {
  margin-bottom: 8px;
}

#forging .feature .container .note .img-contents .contents .text {
  margin-bottom: 8px;
}

#forging .process {
  padding: 40px 0;
  margin-bottom: 72px;
}

#forging .process::after {
  width: 100%;
}

#forging .facility .container .text:not(.scrollable) {
  margin-bottom: 40px;
}

#forging .facility .container .business-dl {
  margin-bottom: 72px;
}

#forging .facility .container .business-dl h3 {
  height: 36px;
  padding: 0 12px;
  margin-bottom: 20px;
}

#forging .facility .container .business-dl .dl-head .data-head p {
  text-align: center;
}

#forging .facility .container .business-dl .dl-wrap {
  margin-bottom: 0;
}

#forging .facility .container .business-dl .dl-wrap dl dd {
  justify-content: center;
}

#forging .facility .container .business-dl .scroll-content {
  width: 800px;
}


/*------------------------------ 採用情報 ------------------------------*/
#recruit .under-fv {
  background-image: url(../img/recruit/recruit-sp.jpg);
}


/*------------------------------ 仕事内容 ------------------------------*/
#contents .under-fv {
  background-image: url(../img/recruit/contents-sp.jpg);
}

#contents .container .contents-main-txt {
  margin-bottom: 40px;
}

#contents .tab_label {
  height: 53px;
}

#contents .tab_content {
  margin-top: 40px;
}

#contents .tab_content.left-align-gray::after {
  display: none;
}

#contents .tab-wrap {
  padding: 30px 0;
}

#contents .tab-wrap::after {
  width: 100%;
}

#contents .tab-wrap .tabs .contents-wrap {
  padding: 40px 5% 20px;
  margin-bottom: 40px;
}

#contents .tab-wrap .tabs .contents-wrap .intro {
  margin-bottom: 40px;
  width: 100%;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow {
  flex-direction: column;
  gap: 20px 0;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow:not(:last-of-type) {
  margin-bottom: 40px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .img {
  max-width: 400px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt h3 {
  font-size: 2.6rem;
  letter-spacing: 0.02em;
  width: 170px;
  height: 45px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists {
  margin-top: 20px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list {
  flex-direction: column;
  gap: 8px 0;
  padding: 14px;
  align-items: flex-start;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list:first-of-type {
  margin-bottom: 20px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list .sub-list span {
  letter-spacing: 0.16em;
  font-weight: 700;
  padding-right: 0;
}

#contents .tab-wrap .tabs .contents-wrap .jobs {
  margin-bottom: 20px;
}

#contents .tab-wrap .tabs .contents-wrap .jobs .inner {
  align-items: flex-start;
  width: 100%;
}

#contents .tab-wrap .tabs .contents-wrap .jobs .inner h3 {
  font-size: 2.6rem;
  border-radius: 10px;
}

@media screen and (max-width: 400px) {
  #contents .tab-wrap .tabs .contents-wrap .jobs .inner h3 {
    font-size: 2.2rem;
  }
}

#contents .tab-wrap .tabs .contents-wrap .jobs .inner .left-line p {
  font-size: 2.6rem;
}

@media screen and (max-width: 400px) {
  #contents .tab-wrap .tabs .contents-wrap .jobs .inner .left-line p {
    font-size: 2.2rem;
  }
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job {
  flex-direction: column;
  gap: 20px 0;
  padding: 20px 0;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-img {
  justify-content: center;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-img .number {
  display: none;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-img .img {
  max-width: 400px;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-txt {
  align-items: baseline;
  gap: 0 10px;
  width: 100%;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-txt .number {
  width: 29px;
  height: 29px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: #008097;
  color: #fff;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-txt .text {
  width: calc(100% - 39px);
}


/*------------------------------ 先輩社員の声 ------------------------------*/
#senior .senior-fv {
  padding: 24px 0;
  margin-bottom: 16px;
}

#senior .senior-fv .container {
  width: 100%;
}

#senior .senior-fv .container .intro {
  width: 54%;
  /* min-width: 213px; */
  padding: 3%;
  max-width: 344px;
}

#senior .senior-fv .container .intro p.voice {
  font-size: 1.8rem;
  padding-bottom: 6px;
  margin-bottom: 4px;
}

@media screen and (max-width: 400px) {
  #senior .senior-fv .container .intro p.voice {
    font-size: 1.6rem;
  }
}

#senior .senior-fv .container .intro p:nth-of-type(2) {
  margin-bottom: 10px;
  font-size: 1.2rem;
}

@media screen and (max-width: 400px) {
  #senior .senior-fv .container .intro p:nth-of-type(2) {
    margin-bottom: 6px;
  }
}

#senior .senior-fv .container .intro h2 {
  font-size: 2.4rem;
}

@media screen and (max-width: 400px) {
  #senior .senior-fv .container .intro h2 {
    font-size: 2.2rem;
  }
}

#senior .senior-fv .container .intro .for-span {
  gap: 0 8px;
}

@media screen and (max-width: 400px) {
  #senior .senior-fv .container .intro .for-span {
    flex-direction: column;
    align-items: flex-end;
  }
}

#senior .senior-fv .container .intro .for-span span {
  font-size: 1.4rem;
}

@media screen and (max-width: 400px) {
  #senior .senior-fv .container .intro .for-span span {
    font-size: 1.2rem;
  }
}

#senior .senior-fv .container .intro p:nth-of-type(3) {
  font-size: 1.4rem;
}

@media screen and (max-width: 500px) {
  #senior .senior-fv .container .intro p:nth-of-type(3) {
    font-size: 1.2rem;
  }
}

#senior .senior-fv .container .img {
  width: 80%;
}

#senior .breadcrumbs {
  margin-bottom: 32px;
}

#senior .q-a {
  padding: 40px 0;
}

#senior .q-a .container {
  gap: 20px 0;
}

#senior .q-a .container .img {
  max-width: 400px;
  margin-inline: auto;
}

#senior .q-a:nth-of-type(2n+1) .container {
  flex-direction: column;
}

#senior .q-a:nth-of-type(2n) .container {
  flex-direction: column-reverse;
}

#senior .q-a .container .txt .question {
  margin-bottom: 20px;
  flex-direction: column;
  gap: 16px 0;
}

#senior .q-a .container .txt .question p:first-of-type {
  font-size: 4rem;
  padding-right: 20px;
  position: relative;
  line-height: 1;
}

#senior .q-a .container .txt .question p:first-of-type::after {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  background-color: #008097;
  height: 100%;
  width: 4px;
}

#senior .q-a .container .txt .question p:last-of-type {
  font-size: 3rem;
}

#senior .q-a .container .txt .answer {
  font-size: 1.4rem;
  padding: 20px 0;
  line-height: 1.85;
}

#senior .schedule {
  margin: 40px auto 72px;
  padding: 40px 0;
}

#senior .schedule .inner h2 {
  margin-bottom: 30px;
}

#senior .schedule .inner .schedule-wrap dl {
  font-size: 1.4rem;
  padding: 16px 0;
}

#senior .schedule .inner .schedule-wrap dl dt {
  width: 64px;
}

#senior .schedule .inner .schedule-wrap dl dd {
  width: 85%;
}

.other-seniors {
  margin-top: 72px;
}

.other-seniors h2 {
  margin-bottom: 64px;
}

.other-seniors .container {
  gap: 40px 0;
}

.other-seniors a {
  width: 100%;
  aspect-ratio: 400 / 295;
  max-width: 352px;
}

.other-seniors a .department-name {
  width: 50%;
}

.other-seniors a .department-name p:first-of-type {
  font-size: 2.4rem;
  margin-bottom: 4px;
}

@media screen and (max-width: 400px) {
  .other-seniors a .department-name p:first-of-type {
    font-size: 2rem;
  }
}

.other-seniors a .department-name p:last-of-type {
  font-size: 1.8rem;
}

@media screen and (max-width: 400px) {
  .other-seniors a .department-name p:last-of-type {
    font-size: 1.6rem;
  }
}


/*------------------------------ 研修・福利厚生 ------------------------------*/
#welfare .under-fv {
  background-image: url(../img/recruit/welfare-sp.jpg);
}

#welfare .appeal .each-appeal .container {
  flex-direction: column-reverse;
  gap: 24px 0;
}

#welfare .appeal .each-appeal:nth-of-type(2n+1) {
  padding: 72px 0;
}

#welfare .appeal .each-appeal:nth-of-type(2n) {
  padding: 40px 0;
}

#welfare .appeal .each-appeal {
  padding: 40px 0;
}

#welfare .appeal .each-appeal .container .txt h2 {
  padding-bottom: 16px;
  margin-bottom: 16px;
}

#welfare .appeal .each-appeal .container .img {
  max-width: 400px;
  margin-inline: auto;
}

#welfare .appeal .each-appeal .container .img img {
  width: 100%;
}


/*------------------------------ 募集要項 ------------------------------*/
#application .under-fv {
  background-image: url(../img/recruit/application-sp.jpg);
}

#application .tabs {
  justify-content: space-between;
}

#application .tab_label {
  height: 56px;
  width: 48%;
  margin-bottom: 44px;
}

#application .application-content {
  padding: 56px 5%;
  margin-bottom: 40px;
}

#application .application-content .text-link {
  flex-direction: column;
  gap: 40px 0;
}

#application .application-content.suspended::after {
  font-size: 1.4rem;
}

#application .tab_content .application-link {
  max-width: 400px;
  height: 70px;
  margin-bottom: 72px;
}

#application .tab_content .application-link span {
  font-size: 2.4rem;
}


/*------------------------------ 海外事業 ------------------------------*/
#abroad .under-fv {
  background-image: url(../img/abroad/abroad-sp.jpg);
}

#abroad .now {
  margin-bottom: 32px;
  font-size: 1.4rem;
}

#abroad .business {
  margin-bottom: 72px;
}

#abroad .business .text {
  margin-bottom: 32px;
}

#abroad .business .world-map .img {
  margin-bottom: 40px;
}

#abroad .business .world-map a {
  max-width: 325px;
  width: 90%;
  height: 36px;
  margin-inline: auto;
}

#abroad .business .world-map a:first-of-type {
  margin-bottom: 30px;
}

#abroad .container .txt-img .txt .heading-logo {
  gap: 0 14px;
  margin-bottom: 12px;
}

#abroad .container .txt-info .txt-img .txt {
  margin-bottom: 32px;
}

#abroad .thailand {
  padding: 40px 0;
  margin-bottom: 72px;
}

#abroad .thailand::after {
  width: 100%;
}

#abroad .thailand .container .heading-logo .img {
  width: 100px;
}

#abroad .map .google-map {
  margin-bottom: 20px;
}

#abroad .thailand .container .dl-wrap dl {
  padding: 16px 1%;
}

#abroad .thailand .container .dl-wrap dl {
  font-size: 1.4rem;
}

#abroad .thailand .container .circle {
  margin-bottom: 32px;
}

#abroad .thailand .container .circle .img {
  max-width: 400px;
  margin-inline: auto;
}

#abroad .thailand .container .circle .year {
  max-width: 400px;
  font-size: 1.4rem;
}

#abroad .thailand .container .map-txt {
  flex-direction: column;
  position: relative;
  gap: 40px 0;
}

#abroad .thailand .container .map-txt .tsk-link {
  height: 36px;
  width: 90%;
  max-width: 325px;
  position: relative;
  margin-top: 40px;
  margin-inline: auto;
  justify-content: center;
}

@media screen and (max-width: 350px) {
  #abroad .thailand .container .map-txt .tsk-link {
    font-size: 1.4rem;
  }
}

#abroad .thailand .container .map-txt .txt .img {
  margin-bottom: 32px;
}

#abroad .india .container .txt-img-dl {
  flex-direction: column;
  gap: 40px 0;
  margin-bottom: 40px;
}

#abroad .india .container .heading-logo .img {
  width: 163px;
}

#abroad .india .container .txt-img-dl .txt-img p {
  margin-bottom: 32px;
}

#abroad .india .container .txt-img-dl .info .dl-wrap {
  height: max-content;
}

#abroad .india .container .txt-img-dl .info .dl-wrap dl {
  padding: 16px 1%;
}

#abroad .india .container .txt-img-dl .info .dl-wrap dl dt {
  width: 23%;
}

#abroad .india .container .txt-img-dl .info .dl-wrap dl dd {
  width: 70%;
}

#abroad .india .container .txt-img-dl .info .profile {
  font-size: 2.4rem;
  margin-bottom: 16px;
}

#abroad .india .container .circle {
  margin-bottom: 40px;
}

#abroad .india .container .circle .year {
  font-size: 1.4rem;
  padding-top: 8px;
}

#abroad .india .container .map-img {
  flex-direction: column;
  gap: 40px 0;
}

#abroad .india .container .map-img .map {
  width: 100%;
}

#abroad .india .container .map-img .img {
  width: 100%;
}

#abroad .india .container .map-img .img img {
  width: 100%;
}


/*------------------------------ 環境活動 ------------------------------*/
#environment .under-fv {
  background-image: url(../img/environment/environment-sp.jpg);
  background-position: 20% 0;
}

#environment .point-list {
  margin-bottom: 8px;
}

#environment .container .text {
  margin-bottom: 40px;
}

#environment .action {
  margin-bottom: 72px;
}

#environment .action .container .txt-img {
  flex-direction: column;
  gap: 20px 0;
}

#environment .action .container .txt-img .img {
  max-width: 400px;
  margin-inline: auto;
}

#environment .action .container .txt-img .txt p {
  padding-left: 2em;
  margin-bottom: 0;
}

#environment .practice {
  padding: 40px 0;
  margin-bottom: 72px;
}

#environment .practice::after {
  width: 100%;
}

#environment .practice .container .practice-wrap {
  flex-direction: column;
  gap: 40px 0;
}

#environment .practice .container .practice-wrap .each-practice h3 {
  padding-left: 1.8em;
  text-indent: -1.8em;
  margin-bottom: 4px;
}

#environment .practice .container .practice-wrap .each-practice .text {
  margin-bottom: 20px;
  padding-left: 2em;
}

#environment .practice .container .practice-wrap .each-practice .img {
  max-width: 400px;
}


#environment .report .container .pdfs {
  margin-inline: auto;
}

#environment .report .container .pdfs .each-pdf {
  flex-direction: column;
  margin-bottom: 60px;
}

#environment .report .container .pdfs .each-pdf .txt h3 {
  padding-left: 1.8em;
  text-indent: -1.8em;
}

#environment .report .container .pdfs .each-pdf .txt .text {
  padding-left: 1.8em;
  margin-bottom: 32px;
}

#environment .report .container .pdfs .each-pdf .link-update {
  padding-left: 2em;
}

#environment .report .container .pdfs .each-pdf .link-update a {
  margin-bottom: 12px;
  max-width: 284px;
  width: 90%;
}

@media screen and (max-width: 400px) {
  #environment .report .container .pdfs .each-pdf .link-update a .sp-small {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 350px) {
  #environment .report .container .pdfs .each-pdf .link-update a .sp-small {
    font-size: 1.2rem;
  }
}

#environment .report .container .pdfs .each-pdf .link-update .update {
  font-size: 1.2rem;
}


/*------------------------------ ドローン事業 ------------------------------*/
#drone .under-fv {
  background-image: url(../img/drone/drone-sp.jpg);
  background-position: left;
}

#drone .txt-img {
  flex-direction: column-reverse;
  gap: 24px 0;
}

#drone .school {
  margin-bottom: 72px;
}

#drone .service {
  margin-bottom: 72px;
}

#drone .service .txt-img {
  margin-bottom: 40px;
}

#drone .service .container .txt .text {
  margin-bottom: 30px;
}

#drone .fit .container {
  flex-direction: column;
  gap: 24px 0;
}

#drone .fit .container .img {
  border-radius: 0 50px 50px 0;
  overflow: hidden;
  width: calc(50% + 50vw);
  position: relative;
  left: -5vw;
}

#drone .fit .container .txt .text {
  margin-bottom: 20px;
}

#drone .fit .container .txt a {
  margin-inline: auto;
}

#drone .fit .container .txt .mission {
  width: 84px;
  height: 27px;
  margin-bottom: 10px;
}

#drone .fit .container .txt h3 {
  margin-bottom: 10px;
}

#drone .service {
  padding: 40px 0;
}

#drone .service .inner .service-wrap {
  flex-direction: column;
  gap: 40px 0;
}

#drone .service .inner .service-wrap .each-service .point-list {
  margin-bottom: 8px;
}

#drone .service .inner .service-wrap .each-service .text {
  margin-bottom: 32px;
  padding-left: 2em;
}

#drone .service .inner .service-wrap .each-service {
  display: flex;
  flex-direction: column;
}

#drone .service .inner .service-wrap .each-service h3 {
  order: 2;
}

#drone .service .inner .service-wrap .each-service .text {
  order: 3;
}

#drone .service .inner .service-wrap .each-service .img {
  order: 1;
  margin-bottom: 20px;
  max-width: 400px;
  margin-inline: auto;
}

#drone .school .text {
  margin-bottom: 48px;
}


/*------------------------------ 株式会社SK ------------------------------*/
#sk .under-fv {
  background-image: url(../img/sk/sk-sp.jpg);
}

#sk .about {
  margin-bottom: 72px;
}

#sk .about .container .text {
  margin-bottom: 40px;
}

#sk .about .container .imgs {
  flex-direction: column;
  gap: 20px 0;
}

#sk .group .container {
  flex-direction: column;
  gap: 24px 0;
}

#sk .group .container .img {
  position: relative;
  left: -5vw;
  width: calc(50% + 50vw);
}

#sk .group .container .txt .text {
  margin-bottom: 20px;
}

#sk .group .container .txt a {
  margin-inline: auto;
}


/*------------------------------ グリーンスティール ------------------------------*/
#green .under-fv {
  background-image: url(../img/green/green-sp.jpg);
}

#green .about .container .text {
  margin-bottom: 40px;
}

#green .about .container ul {
  margin-bottom: 40px;
}

#green .about .container ul li {
  margin-bottom: 18px;
}

#green .about .container ul li:last-of-type {
  margin-bottom: 0;
}

#green .about .container .imgs {
  flex-direction: column;
  gap: 20px 0;
  margin-bottom: 72px;
}

#green .carbon {
  padding: 40px 0;
}

#green .carbon .container {
  flex-direction: column-reverse;
  gap: 24px 0;
}


/*------------------------------ 事業内容 工程画像 SP ------------------------------*/
.sp-process figure {
  margin-top: 40px;
  max-width: 400px;
  margin-inline: auto;
}

.sp-process figure .img {
  margin-bottom: 8px;
}

.sp-process figure .img img {
  width: 100%;
}

.sp-process figure figcaption {
  letter-spacing: 0.16em;
  font-size: 1.4rem;
}


/*------------------------------ トップに戻る ------------------------------*/
#page-top {
  height: 80px;
}

#page-top a {
  border-bottom: 80px solid rgba(117, 117, 117, 1);
  border-left: 80px solid transparent;
}

#page-top a:hover {
  border-bottom: 80px solid rgba(117, 117, 117, .8);
}

#page-top a::after {
  top: 53px;
  right: 26px;
  width: 4px;
}

#page-top a:hover:after {
  height: 15px;
}

#page-top a:before {
  border-left: 4px solid #fff;
  border-top: 4px solid #fff;
  width: 14px;
  height: 14px;
  top: 52px;
  right: 21px;
}


/*------------------------------ フィギュア ３つ並び ------------------------------*/
.figures {
  flex-direction: column;
  gap: 40px 0;
}

.figures figure {
  max-width: 400px;
  margin-inline: auto;
}

/* 共通パーツ */
.parts {
  padding: 40px 0;
  margin-top: 72px;
}

.parts h2 {
  margin-bottom: 40px;
}


/*------------------------------ 404 ------------------------------*/
#not-found .text-btn {
  padding-top: 72.5px;
}

#not-found .text-btn h2 {
  font-size: 3.6rem;
  line-height: 1.39;
}

#not-found .text-btn p {
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  line-height: 1.86;
  margin-bottom: 20px;
}

#not-found .text-btn .thin-link:hover {
  background-color: #757575;
}


/*------------------------------ お知らせ一覧 ------------------------------*/
#news .breadcrumbs {
  padding-top: 16px;
  margin-bottom: 24px;
}

#news .heading {
  margin-bottom: 24px;
}

#news .news {
  padding: 40px 0;
}

#news .news::after {
  width: 100%;
}

#news .news .inner {
  padding: 16px 0 40px;
}

#news .news .inner .news-wrap {
  padding: 0 5%;
}

#news .news .inner .news-wrap a {
  flex-direction: column;
  gap: 8px 0;
  padding: 24px 0;
}

#news .news .inner .news-wrap a:last-of-type {
  margin-bottom: 48px;
}


/*------------------------------ ページネーション ------------------------------*/
#news .news .inner .pagination {
  gap: 16px;
  width: 98%;
}

#news .news .inner .pagination .current {
  width: 35px;
  height: 35px;
}

#news .news .inner .pagination a.page-numbers {
  width: 35px;
  height: 35px;
}

#news .news .inner .pagination span.page-numbers.dots {
  width: 35px;
  height: 35px;
}

#news .news .inner .pagination a.page-numbers.prev::after {
  left: 15px;
}

#news .news .inner .pagination a.page-numbers.next::after {
  right: 15px;
}


/*------------------------------ お知らせ詳細 ------------------------------*/
#single-news .breadcrumbs {
  padding-top: 16px;
  margin-bottom: 24px;
}

#single-news .heading {
  margin-bottom: 24px;
}

#single-news .heading .line-heading {
  font-size: 3rem;
}

@media screen and (max-width: 400px) {
  #single-news .heading .line-heading {
    font-size: 2.4rem;
  }
}

#single-news .single-news {
  padding: 40px 0;
}

#single-news .single-news::after {
  width: 100%;
}

#single-news .single-news .inner {
  padding: 40px 5%;
}

#single-news .single-news .inner .to-news {
  padding-top: 16px;
}

/* ブロックエディタ */
#single-news .single-news .inner figure {
  margin-bottom: 24px;
  max-width: 400px;
}

#single-news .single-news .inner p {
  margin-bottom: 24px;
  font-size: 1.4rem;
}


/*------------------------------ パターンA B C D ------------------------------*/
#top.pattern-a .fv .container .mask-img {
  background-image: url(../img/top/pattern-a-sp.jpg);
}

#top.pattern-b .fv .container .mask-img {
  background-image: url(../img/top/pattern-b-sp.jpg);
}

#top.pattern-c .fv .container .mask-img {
  background-image: url(../img/top/pattern-c-sp.jpg);
}

#top.pattern-d .fv .container .mask-img {
  background-image: url(../img/top/pattern-d-sp.jpg);
}


/*------------------------------ 先輩社員の声 ------------------------------*/
#seniors .under-fv {
  background-image: url(../img/recruit/recruit-sp.jpg);
}

@media screen and (max-width: 400px) {
  #seniors .under-fv {
    background-position: 60% 0;
  }
}

#seniors .other-seniors {
  padding: 40px 0;
  width: 90%;
}


/*------------------------------ プライバシーポリシー ------------------------------*/
#privacy .heading {
  margin-bottom: 40px;
}

#privacy .breadcrumbs {
  padding-top: 24px;
  margin-bottom: 24px;
}

#privacy .inner {
  padding-left: 27px;
}

#privacy .inner h2 {
  margin-bottom: 16px;
}

#privacy .inner h2 span::before {
  left: -27px;
}

#privacy .inner .text-list span {
  padding-right: 10px;
  font-size: 1.6rem;
}

#privacy .inner article:not(:last-of-type) {
  margin-bottom: 40px;
}

#privacy .inner article ol li {
  font-size: 1.4rem;
}

#privacy .inner article ol li:not(:last-of-type) {
  margin-bottom: 10px;
}

#privacy .inner article ol li span {
  padding-right: 10px;
  font-size: 1.6rem;
}

#privacy .inner article .indent1 {
  padding-left: 1.4em;
}

#privacy .inner article .indent2 {
  padding-left: 2.8em;
}

#privacy .inner article:nth-of-type(3) p {
  margin-bottom: 18px;
}

#privacy .inner article:nth-of-type(5) p:first-of-type {
  margin-bottom: 18px;
}

#privacy .inner article:nth-of-type(5) .indent1 {
  margin-bottom: 18px;
}

#privacy .inner article:nth-of-type(5) .indent2 {
  margin-bottom: 24px;
}

#privacy .inner article:nth-of-type(5) .text-list:nth-of-type(2) {
  margin-bottom: 18px;
}

#privacy .inner article:nth-of-type(6) .text-list:nth-of-type(1) {
  margin-bottom: 18px;
}

#privacy .inner article:nth-of-type(6) .indent1 {
  margin-bottom: 18px;
}

#privacy .inner article:last-of-type {
  margin-bottom: 60px;
}

#privacy .inner .name {
  margin-bottom: 12px;
}

/*------------------------------ サイトマップ ------------------------------*/
#sitemap .container {
  margin-bottom: -80px;
}

#sitemap .breadcrumbs {
  padding-top: 24px;
  margin-bottom: 24px;
}