@charset "utf-8";

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

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

.container {
  max-width: 1300px;
}

.inner {
  max-width: 1200px;
}

.line-heading {
  padding-bottom: 18px;
  margin-bottom: 24px;
  font-size: 5rem;
}

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

.thin-link {
  width: 325px;
}

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

.breadcrumbs .inner {
  max-width: 1300px;
}

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

.under-fv h1 {
  height: 85px;
  font-size: 5rem;
  padding: 0 40px;
}

/* 画像とテキストのリンク */
.c-links {
  max-width: 1000px;
  gap: 64px 5%;
}

@media screen and (max-width: 1000px) {
  .c-links {
    gap: 40px 5%;
  }
}

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

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

@media screen and (max-width: 1000px) {
  .c-links a p {
    font-size: 1.4rem;
  }
}

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

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

.pdf {
  width: 284px;
}

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

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

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

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

/* 事業内容 セクション */
@media screen and (min-width: 1001px) {
  main:not(#business) .parts-business .c-links {
    justify-content: space-between;
    gap: 0;
  }
}

@media screen and (min-width: 1001px) {
  main:not(#business) .parts-business .c-links a {
    width: 23%;
  }
}

/* 事業内容 数字 工程 */
.business-process {
  justify-content: space-between;
  gap: 38px 0;
  flex-wrap: wrap;
}

.business-process .each-process {
  width: 49%;
}

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

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

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

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

.business-process .each-process .txt.long-txt {
  font-size: 2rem;
}

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

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

.business-process .each-process .bold {
  font-size: 2.5rem;
}

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

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

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

@media screen and (max-width: 1600px) {
  .left-align-gray::after {
    width: 98%;
  }
}

/* 事業内容 dl */
.business-dl .dl-head {
  font-size: 2rem;
}

.business-dl .dl-wrap dl dd.flex p {
  font-size: 2rem;
}


/*------------------------------ フッター ------------------------------*/
footer .container {
  max-width: 1430px;
}

footer .container .link-wrap {
  border-top: .75px solid #000000;
  border-bottom: .75px solid #000000;
  padding: 40px 5%;
  justify-content: space-between;
  position: relative;
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap {
    flex-wrap: wrap;
    gap: 40px 0;
    padding: 40px 5% 80px;
  }
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap {
    padding: 40px 3% 80px;
  }
}

body:has(#sitemap) footer .container .link-wrap {
  padding: 40px 5% 80px;
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap .each-link {
    /* width: calc(100% / 3); */
    width: 32%;
  }
}

footer .container .link-wrap .each-link a.main-link {
  font-size: 2.2rem;
  margin-bottom: 20px;
  color: #008096;
  font-weight: 700;
}

footer .container .link-wrap .each-link a.main-link:hover {
  color: #000;
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap .each-link a.main-link {
    font-size: 2rem;
  }
}

footer .container .link-wrap .each-link p {
  font-size: 2.2rem;
  margin-bottom: 20px;
  color: #008096;
  font-weight: 700;
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap .each-link p {
    font-size: 2rem;
  }
}

footer .container .link-wrap .each-link ul li {
  margin-bottom: 12px;
  letter-spacing: 0.12em;
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap .each-link ul li {
    font-size: 1.4rem;
  }
}

footer .container .link-wrap .each-link ul li:last-of-type {
  margin-bottom: 0;
}

footer .container .link-wrap .each-link ul li.each-senior {
  padding-left: 3.6rem;
  margin-bottom: 6px;
}

@media screen and (max-width: 1500px) {
  footer .container .link-wrap .each-link ul li.each-senior {
    padding-left: 3.2rem;
  }
}

footer .container .link-wrap .each-link ul li.last-senior {
  margin-bottom: 12px;
}

footer .container .link-wrap .each-link ul li a:hover {
  color: #006E91;
}

footer .container .link-wrap .other-link {
  position: absolute;
  bottom: 10px;
  right: 5%;
}

footer .container .link-wrap .other-link ul {
  gap: 0 28px;
}

footer .container .link-wrap .other-link ul li {
  letter-spacing: 0.12em;
}

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

footer .container .address-us {
  padding: 51px 5% 89px;
  justify-content: space-between;
}

@media screen and (max-width: 1000px) {
  footer .container .address-us {
    padding: 51px 3% 89px;
  }
}

@media screen and (max-width: 1000px) {
  footer .container .address-us address {
    width: 45%;
  }
}

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

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

footer .container .address-us .us {
  justify-content: space-between;
}

@media screen and (max-width: 1200px) {
  footer .container .address-us .us {
    width: 50%;
  }
}

footer .container .address-us .us .sns-contact {
  gap: 0 29px;
}

@media screen and (max-width: 1200px) {
  footer .container .address-us .us .sns-contact {
    gap: 0 4%;
  }
}

footer .container .address-us .us .sns-contact .box {
  width: 250px;
  gap: 0 10px;
}

@media screen and (max-width: 1200px) {
  footer .container .address-us .us .sns-contact .box {
    gap: 0 6px;
  }
}

@media screen and (max-width: 1200px) {
  footer .container .address-us .us .sns-contact .box {
    width: 48%;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1000px) {
  footer .container .address-us .us .sns-contact .box {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 1200px) {
  footer .container .address-us .us .sns-contact .box a img {
    max-width: 30px;
  }
}

@media screen and (max-width: 1000px) {
  footer .container .address-us .us .sns-contact .box a img {
    max-width: 25px;
  }
}

footer .container .address-us .us .copy {
  text-align: right;
}


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


/*------------------------------ ヘッダー ------------------------------*/
@media screen and (max-width: 1000px) {
  header .container .logo {
    width: 140px;
  }
}

header .container nav ul {
  gap: 0 65px;
  height: 70px;
  align-items: center;
}

@media screen and (max-width: 1200px) {
  header .container nav ul {
    gap: 0 40px;
  }
}

@media screen and (max-width: 1000px) {
  header .container nav ul {
    gap: 0 24px;
  }
}

header .container nav ul li {
  color: #737373;
  font-weight: 700;
}

header .container nav ul li a:hover {
  color: #006E91;
}

header .container nav ul li.active {
  color: #0080A1;
}

@media screen and (max-width: 1300px) {
  header .container nav ul li .top {
    display: none;
  }
}

@media screen and (max-width: 1000px) {
  header .container nav ul li {
    font-size: 1.4rem;
  }
}

header .container nav ul li .contact-menu {
  width: 150px;
  height: 44px;
  border: 1px solid #0080A1;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0080A1;
}

header .container nav ul li .contact-menu:hover {
  background-color: #0080A1;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  header .container nav ul li .contact-menu {
    width: 110px;
  }
}


/*------------------------------ トップ ------------------------------*/
#top .container {
  max-width: 1920px;
}

#top .fv .container .mask-img {
  background-image: url(../img/top/fv.jpg);
  /* animation: maskInfinite 20s linear infinite; */
}

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

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

#top .fv .container .first-txt p span {
  font-size: 1.8rem;
}

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

#top .fv .container .scroll::before {
  bottom: -107px;
  height: 100px;
}

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

@keyframes scrollMove {
  0% {}

  100% {
    bottom: -104px;
  }
}

#top .fv .news-topic {
  min-width: 728px;
  padding-left: 5%;
  align-items: center;
}

@media screen and (max-width: 1000px) {
  #top .fv .news-topic {
    min-width: 684px;
  }
}

#top .fv .news-topic::before {
  right: 15px;
}

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

#top .fv .news-topic .ttl {
  margin-right: 30px;
}

#top .content-img {
  align-items: center;
  gap: 0 56px;
  width: 100%;
}

@media screen and (max-width: 1000px) {
  #top .content-img {
    gap: 0 5%;
  }
}

#top .content-img .contents {
  max-width: 450px;
}

@media screen and (max-width: 1000px) {
  #top .content-img .contents {
    width: 45%;
  }
}

#top .content-img .contents .text {
  margin-bottom: 24px;
}

#top .content-img .img {
  width: 59%;
}

#top .intro-experience {
  padding-top: 87px;
  margin-bottom: 152px;
}

@media screen and (max-width: 1920px) {
  #top .intro-experience {
    margin-bottom: 7%;
  }
}

#top .intro-experience::after {
  max-width: 1610px;
  /* width: 82%; */
  /* width: 96%; */
  width: 90%;
  height: 92%;
}

@media screen and (min-width: 1921px) {
  #top .intro-experience::after {
    max-width: unset;
  }
}

@media screen and (max-width: 1500px) {
  #top .intro-experience::after {
  width: 96%;
  }
}


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

@media screen and (max-width: 1920px) {
  #top .intro-experience .intro {
    margin-bottom: 7.5%;
  }
}

#top .intro-experience .intro .container {
  justify-content: flex-end;
  padding-left: 5%;
}

@media screen and (max-width: 1000px) {
  #top .intro-experience .intro .container {
    padding-left: 0;
  }
}

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

@media screen and (max-width: 1000px) {
  #top .intro-experience .intro .container .img {
    width: 45%;
  }
}

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

#top .intro-experience .experience .container {
  padding-right: 5%;
}

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

@media screen and (max-width: 1920px) {
  #top .car {
    margin-bottom: 7%;
  }
}

#top .car .container {
  justify-content: flex-end;
  padding-left: 5%;
}

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

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

#top .world-sdgs::after {
  max-width: 1610px;
  top: 105px;
  width: 90%;
  /* width: 96%; */
}

@media screen and (min-width: 1921px) {
  #top .world-sdgs::after {
    max-width: unset;
  }
}

@media screen and (max-width: 1500px) {
  #top .world-sdgs::after {
  width: 96%;
  }
}

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

@media screen and (max-width: 1920px) {
  #top .world-sdgs .world {
    margin-bottom: 7%;
  }
}

#top .world-sdgs .world .container {
  padding-right: 5%;
}

#top .world-sdgs .sdgs .container {
  justify-content: flex-end;
  padding-left: 5%;
}

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

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

#top .recruit-wrap .recruit {
  padding-left: 4%;
  margin-bottom: 86px;
  border-radius: 50px;
}

#top .recruit-wrap .recruit h2 {
  font-size: 4rem;
  padding-bottom: 27px;
}

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

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

#top .others {
  padding: 169px 0 140px;
  margin-bottom: 90px;
}

#top .others .container {
  max-width: 1300px;
}

#top .others .container p {
  margin-bottom: 82px;
}

#top .others .container .content-wrap {
  justify-content: space-between;
}

#top .others .container .content-wrap .each-content {
  width: 31%;
}

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

#top .others .container .content-wrap .each-content a {
  width: 81%;
  max-width: 325px;
}

@media screen and (max-width: 1000px) {
  #top .others .container .content-wrap .each-content a {
    width: 90%;
    font-size: 1.4rem;
  }
}

#top .news {
  padding: 82px 0 76px;
  margin-bottom: 215px;
}

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

@media screen and (max-width: 1600px) {
  #top .news::after {
    width: 98%;
  }
}

#top .news .container {
  gap: 0 10%;
  max-width: 1300px;
}

@media screen and (max-width: 1000px) {
  #top .news .container {
    gap: 0 5%;
  }
}

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

#top .news .container .contents .heading-txt p {
  margin-bottom: 144px;
}

#top .news .container .contents a {
  width: 100%;
  max-width: 325px;
}

#top .news .container .news-wrap {
  width: 60%;
  padding: 0 4%;
}

@media screen and (max-width: 1000px) {
  #top .news .container .news-wrap {
    width: 70%;
  }
}

#top .news .container .news-wrap a {
  gap: 0 63px;
  padding: 26px 0;
}

@media screen and (max-width: 1000px) {
  #top .news .container .news-wrap a {
    gap: 0 40px;
  }
}


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

#representative .president {
  margin-bottom: 112px;
  padding: 104px 0 152px;
}

#representative .president .container {
  padding: 67px 5% 180px;
}

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

@media screen and (max-width: 1000px) {
  #representative .president .container h2 {
    font-size: 4rem;
  }
}

#representative .president .container p {
  margin-bottom: 48px;
  max-width: 880px;
  margin-inline: auto;
}

#representative .president .container figure {
  gap: 0 32px;
  bottom: -96px;
  right: 49px;
}

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

#representative .president .container figure figcaption span {
  font-size: 2rem;
}


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

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

#management .motto .container {
  justify-content: space-between;
  margin-bottom: 120px;
}

@media screen and (max-width: 1000px) {
  #management .motto .container {
    flex-direction: column;
    gap: 64px 0;
  }
}

@media screen and (max-width: 1000px) {
  #management .motto .container .txt {
    width: 100%;
  }
}

@media screen and (max-width: 1000px) {
  #management .motto .container ul {
    width: 100%;
  }
}

#management .motto .container ul li {
  font-size: 2.5rem;
  margin-bottom: 36px;
}

@media screen and (max-width: 1400px) {
  #management .motto .container ul li {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 1200px) {
  #management .motto .container ul li {
    font-size: 1.8rem;
    padding-left: 1.8em;
  }
}

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

#management .motto .missions .inner {
  max-width: 1000px;
}

#management .motto .missions .inner .heading-txt {
  border-left: 1px solid #6E6E6E;
  align-items: center;
  margin-bottom: 88px;
}

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

#management .motto .missions .inner .heading-txt h2 {
  width: 33%;
}

#management .motto .missions .inner .heading-txt h2 .img {
  margin-bottom: 16px;
}

@media screen and (max-width: 1000px) {
  #management .motto .missions .inner .heading-txt h2 .img {
    width: 80%;
    text-align: center;
  }
}

#management .motto .missions .inner .heading-txt h2 span.gray-txt {
  font-size: 2.2rem;
}

#management .motto .missions .inner .heading-txt .txt {
  border-left: 1px solid #6E6E6E;
  border-right: 1px solid #6E6E6E;
  font-size: 1.9rem;
  padding: 30px 50px;
  width: 67%;
  line-height: 2.4;
}

@media screen and (max-width: 1000px) {
  #management .motto .missions .inner .heading-txt .txt {
    padding: 30px 40px;
  }
}

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

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

#management .sustainability .inner .txt-img {
  margin-bottom: 128px;
  gap: 0 30px;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .inner .txt-img {
    gap: 0 24px;
  }
}

#management .sustainability .inner .txt-img p {
  font-size: 2.5rem;
  letter-spacing: 0.16em;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .inner .txt-img p {
    font-size: 2rem;
  }
}

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

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

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

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

#management .sustainability .accordion .Label::after {
  font-size: 3.8rem;
  /* top: 50%; */
  top: 49.5%;
  /* right: 7px; */
  right: 7.1px;

  line-height: 53px;
}

#management .sustainability .accordion .toggle:checked+.Label::after {
  width: 28px;
  right: 12.5px;

  top: 50%;
}

#management .sustainability .accordion .Label .ttl {
  font-size: 3rem;
}

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

#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: 112px;
  height: 39px;
  margin-bottom: 27px;
}

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

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

@media screen and (max-width: 1200px) {
  #management .sustainability .accordion .content .policy ul {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .content .policy ul {
    font-size: 1.4rem;
  }
}

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

#management .sustainability .accordion .content .policy .point-ul {
  width: 50%;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .content .policy .point-ul {
    width: 48%;
  }
}

#management .sustainability .accordion .content .policy .point-ul li::after {
  position: absolute;
  content: "";
  width: 90%;
  height: 1px;
  background-color: #707070;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: -1;
}

#management .sustainability .accordion .content .policy .point-ul li span {
  padding-right: 17px;
  position: relative;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .content .policy .point-ul li span {
    padding-right: 10px;
  }
}

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

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .content .policy .point-ul .point-list {
    padding-left: 1.2em;
  }

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

#management .sustainability .accordion .content .policy .explanation {
  width: 48%;
}

@media screen and (max-width: 1000px) {
  #management .sustainability .accordion .content .policy .explanation {
    width: 50%;
  }
}

#management .sustainability .pdf {
  margin-left: auto;
  margin-bottom: 240px;
}

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

#management .sustainability .to-the-next .to-the-next-txt {
  /* bottom: 10%; */
  /* right: 10%; */
  top: 17%;
  left: 10%;
  /* max-width: 60%; */
  width: 35%;
}


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

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

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


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

#profile .access-map {
  padding: 104px 0 112px;
  margin-bottom: 128px;
}

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

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

#profile .access-map .container .inner {
  max-width: 900px;
}

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

#profile .access-map .container .inner .address-link {
  justify-content: space-between;
}

#profile .access-map .container .inner .address-link address dl {
  gap: 0 34px;
  margin-bottom: 14px;
}

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

#profile .iso {
  margin-bottom: 161px;
}

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

#profile .iso .links {
  padding: 112px 0;
}

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

#profile .iso .links .inner {
  max-width: 900px;
  width: 80%;
}

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

#profile .iso .links .inner .each-link .number {
  height: 50px;
  padding: 0 14px;
  font-size: 2rem;
  margin-bottom: 16px;
}

#profile .iso .links .inner .each-link h3 {
  padding-left: 2em;
  margin-bottom: 4px;
  font-size: 2rem;
}

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

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

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


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

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

@media screen and (max-width: 1300px) {
  #history .dl-wrap dl dt {
    width: 23%;
  }
}

@media screen and (max-width: 1000px) {
  #history .dl-wrap dl dt {
    width: 28%;
    font-size: 1.8rem;
  }
}

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

@media screen and (max-width: 1300px) {
  #history .dl-wrap dl dd {
    width: 70%;
  }
}

@media screen and (max-width: 1000px) {
  #history .dl-wrap dl dd {
    width: 65%;
  }
}


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

#quality .point-list::before {
  width: 20px;
  height: 20px;
}

#quality .point-list {
  font-size: 2rem;
}

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

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

#quality .inspection {
  margin-bottom: 112px;
  padding: 144px 0 152px;
}

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

#quality .inspection .inner .bottom-txt {
  max-width: 1057px;
}

#quality .inspection .inner .digital-measurement {
  justify-content: space-between;
  margin-bottom: 120px;
}

#quality .inspection .inner .digital-measurement .each-inspection {
  width: 45%;
}

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

#quality .inspection .inner .each-inspection .heading-txt p {
  margin-bottom: 24px;
  padding-left: 1.5em;
}

#quality .inspection .inner .vacuum {
  justify-content: space-between;
  margin-bottom: 136px;
}

#quality .inspection .inner .vacuum .heading-txt {
  width: 55%;
}

#quality .inspection .inner .vacuum .img {
  width: 40%;
  padding: 30px 0;
}

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

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

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

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

#quality .management-attempt .inner {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 112px 0;
}

#quality .management-attempt .inner .each-attempt {
  width: 45%;
}

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

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

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

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

#quality .actual-intro {
  padding: 112px 0 160px;
  margin-bottom: 192px;
}

@media screen and (max-width: 1600px) {
  #quality .actual-intro::after {
    width: 98%;
  }
}

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

#quality .actual-intro .inner {
  justify-content: space-between;
}

#quality .actual-intro .inner .each-actual {
  width: 30%;
}

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


/*------------------------------ 数字で見る鈴豊精鋼 ------------------------------*/
#numbers .under-fv {
  background-image: url(../img/company/numbers.jpg);
}

#numbers .container .data-wrap {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 0;
}

#numbers .container .data-wrap .each-data {
  width: 30%;
}

#numbers .container .data-wrap .each-data.two-columns {
  width: 47.5%;
}

#numbers .container .data-wrap .each-data h3 {
  font-size: 2.5rem;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 1000px) {
  #numbers .container .data-wrap .each-data h3 {
    font-size: 2rem;
  }
}

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

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

@media screen and (max-width: 1200px) {
  #numbers .container .data-wrap .each-data .data .baseline {
    gap: 0 8px;
  }
}

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

@media screen and (max-width: 1200px) {
  #numbers .container .data-wrap .each-data .data .baseline .number {
    font-size: 7rem;
  }
}

@media screen and (max-width: 1000px) {
  #numbers .container .data-wrap .each-data .data .baseline .number {
    font-size: 4.8rem;
  }
}

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

@media screen and (max-width: 1200px) {
  #numbers .container .data-wrap .each-data.effect .data .baseline .number {
    font-size: 5rem;
  }
}

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

@media screen and (max-width: 1000px) {
  #numbers .container .data-wrap .each-data .data .baseline .unit {
    font-size: 3rem;
  }
}

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

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

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

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

#numbers .employee .container .data-wrap .age .data {
  padding: 3%;
}

#numbers .employee .container .data-wrap .age .data .average {
  font-size: 2.2rem;
}

#numbers .container .data-wrap .each-data.employee-number {
  width: 32%;
}

#numbers .sdgs {
  padding: 144px 0 176px;
  margin-bottom: 168px;
}

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

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

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

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

#numbers .container .data-wrap .each-data.employee-number .data .img img {
  width: 90%;
}

#numbers .container .data-wrap .age-gender .each-data.gender .data .graph .man {
  width: 90%;
}

#numbers .work {
  padding: 136px 0 232px;
  margin-bottom: 190px;
}

#numbers .container .data-wrap .each-data .data .baseline .year {
  bottom: -50px;
}

@media screen and (max-width: 1200px) {
  #numbers .container .data-wrap .each-data .data .baseline .year.quit {
    line-height: 1.3;
    bottom: -60px;
  }

  #numbers .container .data-wrap .each-data .data .baseline .year.quit br {
    display: block;
  }
}


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


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

#polishing .container .text {
  margin-bottom: 64px;
}

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

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

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

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

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

#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: 1000px) {
  #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: 1000px) {
  #polishing .feature .container .business-process .each-process .txt .arrow-half span:not(:last-of-type)::after {
    width: 10px;
    height: 5px;
  }
}

#polishing .diagram {
  padding: 104px 0 120px;
  margin-bottom: 200px;
}

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

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

#polishing .facility .container .coil-bar {
  max-width: 1000px;
  margin-inline: auto;
}


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

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

#about .correlation .container .text {
  margin-bottom: 104px;
}


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

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

#product .use .container .text {
  margin-bottom: 120px;
}


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

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

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

#steel .process {
  padding: 104px 0 120px;
  margin-bottom: 200px;
}

#steel .process .container .text {
  margin-bottom: 64px;
}

#steel .process .container .diagrams .process-img {
  margin-bottom: 88px;
}

#steel .process .container .diagrams .figures figure {
  width: 23%;
}

#steel .facility .container .text {
  margin-bottom: 120px;
}

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


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

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

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

#forging .feature .container .note .img-contents {
  justify-content: flex-end;
  gap: 0 16px;
  align-items: center;
}

#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: 104px 0 120px;
  margin-bottom: 192px;
}

#forging .process .container .text {
  margin-bottom: 64px;
}

#forging .process .container .diagrams .process-img {
  margin-bottom: 88px;
}

#forging .facility {
  margin-bottom: 248px;
}

#forging .facility .container .text {
  margin-bottom: 128px;
}

@media screen and (max-width: 1500px) {
  #forging .facility .container .business-dl .dl-head {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1000px) {
  #forging .facility .container .business-dl .dl-head {
    font-size: 1.6rem;
  }
}

#forging .facility .container .business-dl h3 {
  height: 45px;
  padding: 0 12px;
  font-size: 2.5rem;
  margin-bottom: 56px;
}

#forging .facility .container .business-dl .dl-wrap dl dt {
  font-size: 2.5rem;
}

@media screen and (max-width: 1500px) {
  #forging .facility .container .business-dl .dl-wrap dl dt {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1000px) {
  #forging .facility .container .business-dl .dl-wrap dl dt {
    font-size: 1.6rem;
  }
}

#forging .facility .container .business-dl .dl-wrap dl dd {
  font-size: 2.5rem;
}

@media screen and (max-width: 1500px) {
  #forging .facility .container .business-dl .dl-wrap dl dd {
    font-size: 1.8rem;
  }

  #forging .facility .container .business-dl .dl-wrap dl dd.long-dd {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1000px) {
  #forging .facility .container .business-dl .dl-wrap dl dd {
    font-size: 1.6rem;
  }

  #forging .facility .container .business-dl .dl-wrap dl dd.long-dd {
    font-size: 1.3rem;
  }
}

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

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

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

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

#forging .facility .container .figures {
  max-width: 1000px;
  margin-inline: auto;
}


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


/*------------------------------ 採用情報 共通リンク ------------------------------*/
@media screen and (min-width: 1001px) {
  #recruit .parts-recruit .c-links {
    justify-content: space-between;
    gap: 0;
  }
}

@media screen and (min-width: 1001px) {
  #recruit .parts-recruit .c-links a {
    width: 23%;
  }
}

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

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

#contents .tab_label {
  font-size: 2rem;
  height: 98px;
}

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

#contents .tab-wrap {
  padding: 152px 0 144px;
  margin-bottom: 144px;
}

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

@media screen and (max-width: 1200px) {
  #contents .tab-wrap .tabs .contents-wrap {
    padding: 88px 3%;
  }
}

#contents .tab-wrap .tabs .contents-wrap .intro {
  margin-bottom: 80px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow {
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 1000px) {
  #contents .tab-wrap .tabs .contents-wrap .flow .each-flow {
    flex-direction: column;
    gap: 24px 0;
  }
}

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

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .img {
  width: 30%;
}

@media screen and (max-width: 1000px) {
  #contents .tab-wrap .tabs .contents-wrap .flow .each-flow .img {
    width: 100%;
    max-width: 400px;
  }
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists {
  width: 65%;
}

@media screen and (max-width: 1000px) {
  #contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists {
    width: 100%;
  }
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt h3 {
  width: 180px;
  height: 50px;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt .under-txt {
  padding-left: 2em;
}

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

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list {
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  margin-left: 2em;
}

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

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list .sub-list {
  width: 30%;
  text-align: center;
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list .text {
  width: 67%;
}

@media screen and (max-width: 1200px) {
  #contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt-lists .lists .each-list .text {
    width: 62%;
  }
}

#contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt.no-point {
  width: 65%;
}

@media screen and (max-width: 1000px) {
  #contents .tab-wrap .tabs .contents-wrap .flow .each-flow .heading-txt.no-point {
    width: 100%;
  }
}

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

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

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

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job {
  justify-content: space-between;
  padding: 40px 0;
}

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-img {
  align-items: center;
  gap: 0 27px;
  width: 30%;
}

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

#contents .tab-wrap .tabs .contents-wrap .job-wrap .each-job .number-txt {
  width: 65%;
}

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

#contents .other-seniors .container {
  gap: 46px 3.5%;
}

@media screen and (max-width: 1200px) {
  #contents .other-seniors .container {
    gap: 46px 5%;
  }
}

#contents .other-seniors a {
  width: 31%;
}

@media screen and (max-width: 1200px) {
  #contents .other-seniors a {
    width: 47.5%;
  }
}


/*------------------------------ 先輩社員の声 ------------------------------*/
#senior {
  margin-bottom: 160px;
}

#senior .senior-fv {
  padding: 64px 0;
}

#senior .senior-fv .container .intro {
  width: 44%;
  padding: 5%;
}

@media screen and (max-width: 1000px) {
  #senior .senior-fv .container .intro {
    padding: 3%;
  }
}

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

#senior .senior-fv .container .intro p:nth-of-type(2) {
  margin-bottom: 48px;
}

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

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

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

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

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

#senior .senior-fv .container .intro .breadcrumbs {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  margin-bottom: 0;
  width: 100%;
}

#senior .senior-fv .container .intro .breadcrumbs .inner {
  width: max-content;
  white-space: nowrap;
  background-color: #F2F2F2;
  margin-inline: unset;
}

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

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

#senior .q-a:nth-of-type(2n) .container {
  justify-content: flex-end;
}

#senior .q-a .container {
  align-items: center;
  gap: 0 4%;
}

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

#senior .q-a .container {
  max-width: 1600px;
}

#senior .q-a .container .img {
  width: 50%;
}

@media screen and (max-width: 1000px) {
  #senior .q-a .container .img {
    width: 40%;
  }
}

#senior .q-a .container .txt {
  width: 45%;
}

@media screen and (max-width: 1000px) {
  #senior .q-a .container .txt {
    width: 55%;
  }
}

#senior .q-a .container .txt .question {
  margin-bottom: 24px;
}

#senior .q-a .container .txt .question p:first-of-type {
  font-size: 5rem;
  width: 90px;
}

@media screen and (max-width: 1000px) {
  #senior .q-a .container .txt .question p:first-of-type {
    font-size: 4rem;
    width: 80px;
  }
}

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

@media screen and (max-width: 1000px) {
  #senior .q-a .container .txt .question p:last-of-type {
    font-size: 2.4rem;
  }
}

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

#senior .q-a .container .txt .answer {
  font-size: 2rem;
  padding: 24px 5%;
  margin-left: 90px;
  line-height: 1.56;
}

@media screen and (max-width: 1000px) {
  #senior .q-a .container .txt .answer {
    margin-left: 80px;
    font-size: 1.6rem;
  }
}

#senior .schedule {
  margin: 136px auto 112px;
  padding: 64px 0 80px;
}

@media screen and (max-width: 1000px) {
  #senior .schedule {
    padding: 56px 0 64px;
  }
}

#senior .schedule .inner {
  max-width: 1000px;
}

#senior .schedule .inner h2 {
  padding-bottom: 24px;
  margin-bottom: 118px;
}

@media screen and (max-width: 1000px) {
  #senior .schedule .inner h2 {
    margin-bottom: 88px;
  }
}

#senior .schedule .inner .schedule-wrap dl {
  font-size: 2rem;
  padding: 24px 0;
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  #senior .schedule .inner .schedule-wrap dl {
    font-size: 1.6rem;
  }
}

#senior .schedule .inner .schedule-wrap dl dt {
  width: 15%;
}

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

#senior .schedule .inner .schedule-wrap .imgs {
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  flex-direction: column;
  justify-content: space-between;
  height: 90%;
}

@media screen and (max-width: 1000px) {
  #senior .schedule .inner .schedule-wrap .imgs {
    position: relative;
    transform: translateY(0);
    flex-direction: row;
    padding-top: 48px;
  }
}

#senior .schedule .inner .schedule-wrap .imgs .img {
  height: 30%;
}

@media screen and (max-width: 1000px) {
  #senior .schedule .inner .schedule-wrap .imgs .img {
    width: 30%;
  }
}

#senior .schedule .inner .schedule-wrap .imgs .img img {
  height: 100%;
  object-fit: contain;
}

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

main:not(#contents, #seniors) .other-seniors .container {
  gap: 46px;
  max-width: 946px;
}

.other-seniors a {
  width: calc(50% - 23px);
  aspect-ratio: 400 / 295;
}

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

@media screen and (max-width: 1200px) {
  .other-seniors a .department-name {
    width: 45%;
  }
}

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

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

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

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


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

#welfare .appeal {
  margin-bottom: 64px;
}

#welfare .appeal .each-appeal .container {
  align-items: center;
  justify-content: space-between;
  padding: 120px 0;
}

#welfare .appeal .each-appeal .container .txt {
  width: 60%;
}

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

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

@media screen and (max-width: 1000px) {
  #welfare .appeal .each-appeal .container .img {
    width: 35%;
  }
}


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

#application .tab_label {
  font-size: 2rem;
  height: 98px;
  flex: 1;
}

@media screen and (max-width: 1000px) {
  #application .tab_label {
    font-size: 1.7rem;
  }
}

#application .tabs .tab_label:first-of-type {
  border-radius: 10px 0 0 10px;
}

#application .tabs .tab_label:last-of-type {
  border-radius: 0 10px 10px 0;
}

#application .application-content {
  padding: 112px 5%;
  margin-bottom: 128px;
}

#application .application-content .text-link {
  justify-content: center;
  gap: 0 10%;
}

#application .tab_content {
  margin-top: 44px;
}

#application .tab_content .application-link {
  max-width: 600px;
  height: 80px;
  margin-bottom: 204px;
}

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


/*------------------------------ 海外事業 ------------------------------*/
#abroad {
  margin-bottom: 192px;
}

#abroad .now {
  margin-bottom: 40px;
}

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

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

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

#abroad .business .world-map .img {
  width: 80%;
  margin-left: auto;
}

#abroad .business .world-map a {
  max-width: 285px;
  aspect-ratio: 285 / 36;
  width: 20%;
  position: absolute;
  left: 0;
}

#abroad .business .world-map a:first-of-type {
  top: 32%;
}

@media screen and (max-width: 1300px) {
  #abroad .business .world-map a:first-of-type {
    top: 31%;
  }
}

#abroad .business .world-map a:last-of-type {
  top: 67%;
}

@media screen and (max-width: 1300px) {
  #abroad .business .world-map a:last-of-type {
    top: 66%;
  }
}

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

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

#abroad .thailand {
  padding: 56px 0 112px;
  margin-bottom: 104px;
}

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

#abroad .thailand .container .dl-wrap dl {
  padding: 10px 5% 10px 0;
}

@media screen and (max-width: 1000px) {
  #abroad .thailand .container .dl-wrap dl {
    font-size: 1.4rem;
  }
}

#abroad .thailand .container .dl-wrap dl dt {
  font-size: 1.6rem;
  width: 20%;
}

#abroad .thailand .container .dl-wrap dl dd {
  width: 72%;
}

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

#abroad .thailand .container .circle .year {
  max-width: 1017px;
}

#abroad .thailand .container .map-txt {
  justify-content: space-between;
  position: relative;
}

#abroad .thailand .container .map-txt .map {
  width: 48%;
  position: relative;
}

#abroad .thailand .container .map-txt .txt {
  width: 47%;
}

#abroad .thailand .container .map-txt .txt .text {
  margin-bottom: 40px;
}

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

#abroad .thailand .container .map-txt .tsk-link {
  height: 36px;
  width: 286px;
  margin-left: auto;
}

/* @media screen and (max-width: 1000px) {
  #abroad .thailand .container .map-txt .tsk-link {
    top: calc(100% + 16px);
  }
} */

#abroad .india .container .txt-img-dl {
  justify-content: space-between;
  margin-bottom: 88px;
}

#abroad .india .container .txt-img-dl .txt-img {
  width: 47.5%;
}

@media screen and (max-width: 1000px) {
  #abroad .india .container .txt-img-dl .txt-img {
    width: 100%;
  }
}

#abroad .india .container .txt-img-dl .txt-img .heading-logo .line-heading {
  white-space: nowrap;
}

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

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

@media screen and (max-width: 1000px) {
  #abroad .india .container .txt-img-dl .info {
    width: 100%;
  }
}

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

#abroad .india .container .txt-img-dl .info .dl-wrap dl {
  padding: 10px 0;
}

#abroad .india .container .txt-img-dl .info .dl-wrap dl dt {
  font-size: 1.6rem;
  width: 16%;
}

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

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

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

#abroad .india .container .txt-img-dl .txt-img .map .google-map iframe {
  max-height: 254px;
}


/*------------------------------ 環境活動 ------------------------------*/
#environment {
  margin-bottom: 256px;
}

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

#environment .point-list {
  font-size: 2rem;
  padding-left: 1.7em;
  margin-bottom: 12px;
}

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

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

#environment .action .container .txt-img {
  justify-content: space-between;
  max-width: 1100px;
  margin-inline: auto;
}

#environment .action .container .txt-img .txt {
  width: 50%;
}

#environment .action .container .txt-img .img {
  width: 40%;
}

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

#environment .practice {
  padding: 104px 0 192px;
  margin-bottom: 176px;
}

#environment .practice .container .practice-wrap {
  justify-content: space-between;
  gap: 152px 0;
}

#environment .practice .container .practice-wrap .each-practice {
  width: 45%;
}

#environment .practice .container .practice-wrap .each-practice h3 {
  font-size: 2rem;
  padding-left: 1.8em;
  text-indent: -1.8em;
  margin-bottom: 8px;
}

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

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

#environment .report .container .pdfs .each-pdf {
  gap: 0 5%;
  justify-content: center;
  margin-bottom: 96px;
  max-width: 1100px;
  align-items: flex-end;
}

#environment .report .container .pdfs .each-pdf .txt {
  width: 60%;
}

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

#environment .report .container .pdfs .each-pdf .txt h3 {
  font-size: 2rem;
  padding-left: 1.7em;
  text-indent: -1.7em;
}

#environment .report .container .pdfs .each-pdf .link-update a {
  margin-bottom: 8px;
}

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


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

#drone .txt-img {
  justify-content: space-between;
}

#drone .txt-img .txt {
  width: 60%;
}

#drone .txt-img .img {
  width: 30%;
}

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

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

#drone .service {
  margin-bottom: 248px;
  padding: 136px 0 208px;
}

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

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

#drone .service .container .img {
  height: max-content;
}

#drone .service .container .img {
  margin-inline: unset;
}

#drone .service .inner .service-wrap {
  justify-content: space-between;
  gap: 112px 0;
  flex-wrap: wrap;
}

#drone .service .inner .service-wrap .each-service {
  width: 45%;
}

#drone .service .inner .service-wrap .each-service .point-list {
  font-size: 2rem;
  padding-left: 1.7em;
  margin-bottom: 12px;
}

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

#drone .fit {
  margin-bottom: 200px;
}

#drone .fit .container {
  max-width: 1920px;
  width: 100%;
  justify-content: flex-start;
  gap: 0 5%;
  align-items: center;
}

#drone .fit .container .img {
  width: 60%;
  border-radius: 0 50px 50px 0;
  overflow: hidden;
}

@media screen and (max-width: 1000px) {
  #drone .fit .container .img {
    width: 55%;
  }
}

#drone .fit .container .txt {
  padding-right: 5%;
  width: 35%;
}

@media screen and (max-width: 1000px) {
  #drone .fit .container .txt {
    width: 40%;
  }
}

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

#drone .fit .container .txt .mission {
  width: 86px;
  height: 28px;
  margin-bottom: 16px;
}

#drone .fit .container .txt h3 {
  font-size: 2rem;
  margin-bottom: 32px;
}

#drone .fit .container .txt a {
  max-width: 100%;
}


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

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

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

#sk .about .container .imgs {
  justify-content: space-between;
}

#sk .about .container .imgs .img {
  width: 32%;
}

#sk .group {
  margin-bottom: 923px;
}

#sk .group .container {
  width: 100%;
  max-width: 1920px;
  justify-content: flex-start;
  align-items: center;
  gap: 0 5%;
}

#sk .group .container .img {
  width: 60%;
}

#sk .group .container .txt {
  padding-right: 5%;
}

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


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

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

#green .about .container ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 720px;
  margin-inline: auto;
  justify-content: space-between;
  gap: 48px 0;
  margin-bottom: 96px;
}

#green .about .container ul li {
  width: 47.5%;
  font-size: 2rem;
}

#green .about .container .imgs {
  justify-content: space-between;
  margin-bottom: 208px;
}

#green .about .container .imgs .img {
  width: 32%;
}

#green .carbon {
  padding: 192px 0 166px;
  margin-bottom: 249px;
}

#green .carbon .container {
  justify-content: space-between;
  align-items: center;
}

#green .carbon .container .txt {
  width: 65%;
}

#green .carbon .container .img {
  width: 30%;
}


/*------------------------------ ヘッダードロップダウン PC ------------------------------*/
.drop-menu {
  position: absolute;
  top: 70px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background-color: #fff;
}

.drop-menu .inner {
  max-width: 1100px;
  justify-content: space-between;
  padding: 40px 0;
  align-items: flex-start;

  display: none;
  opacity: 0;

  position: relative;
}

.drop-menu .inner.active {
  display: flex;
  animation: dropMenuInner .5s ease-in-out 1 forwards;
}

.drop-menu .inner::before {
  position: absolute;
  content: "";
  width: 100vw;
  height: calc(100vh - 100%);
  left: calc(50% - 50vw);
  top: 100%;
  background-color: rgba(0, 0, 0, 0.55);
}

@keyframes dropMenuInner {
  0% {}

  100% {
    opacity: 1;
  }
}

.drop-menu .inner .img {
  width: 37%;
}

.drop-menu .inner .img img {
  width: 100%;
  aspect-ratio: 400 / 250;
  object-fit: cover;
}

.drop-menu .inner.environment-menu .img img {
  object-position: left;
}

.drop-menu .recruit-menu .img img {
  object-position: right;
}

.drop-menu .inner ul {
  width: 53%;
  flex-wrap: wrap;
  gap: 24px 0;
}

.drop-menu .inner ul li {
  width: 50%;
}

.drop-menu .inner ul li a {
  font-size: 1.8rem;
  letter-spacing: 0.12em;
  font-weight: 500;
  color: #737373;
}

.drop-menu .inner ul li a:hover {
  color: #006E91;
}

@media screen and (max-width: 1000px) {
  .drop-menu .inner ul li a {
    font-size: 1.6rem;
  }
}


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

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

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

#page-top a::after {
  top: 69px;
  right: 33px;
  width: 4px;
}

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

#page-top a:before {
  border-left: 4px solid #fff;
  border-top: 4px solid #fff;
  width: 16px;
  height: 16px;
  top: 67px;
  right: 27px;
}


/*------------------------------ フィギュア ３つ並び ------------------------------*/
.figures {
  justify-content: space-between;
}

.figures figure {
  width: 30%;
}

/* 共通パーツ */
.parts {
  padding: 80px 0 96px;
  margin-bottom: 216px;
  max-width: 1600px;
}

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


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

#not-found .text-btn h2 {
  font-size: 5rem;
  line-height: 1.75;
  margin-bottom: 29.1px;
}

#not-found .text-btn p {
  max-width: 500px;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 26.1px;
}


/*------------------------------ お知らせ一覧 ------------------------------*/
#news {
  margin-bottom: 208px;
}

#news .breadcrumbs {
  padding-top: 12px;
}

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

#news .news {
  padding: 80px 0 96px;
}

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

@media screen and (max-width: 1600px) {
  #news .news::after {
    width: 98%;
  }
}

#news .news .inner {
  padding: 29px 5% 78px;
  max-width: 1100px;
}

#news .news .inner .news-wrap a {
  gap: 0 63px;
  padding: 26px 0;
}

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

#news .news .inner .pagination {
  gap: 28px;
  width: 100%;
}

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

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

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

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

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


/*------------------------------ お知らせ詳細 ------------------------------*/
#single-news {
  margin-bottom: 208px;
}

#single-news .breadcrumbs {
  padding-top: 12px;
}

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

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

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

@media screen and (max-width: 1600px) {
  #single-news .single-news::after {
    width: 98%;
  }
}

#single-news .single-news .inner {
  max-width: 1100px;
}

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

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

#single-news .single-news .inner p {
  margin-bottom: 30px;
}


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

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

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

#top.pattern-b .fv .container .mask-img {
  background-image: url(../img/top/pattern-b.jpg);
  animation: maskInfiniteB 20s linear infinite;
}

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

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

#top.pattern-c .fv .container .mask-img {
  background-image: url(../img/top/pattern-c.jpg);
  animation: maskInfiniteC 20s linear infinite;
}

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

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

#top.pattern-d .fv .container .mask-img {
  background-image: url(../img/top/pattern-d.jpg);
  animation: maskInfiniteD 20s linear infinite;
}

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

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


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

#seniors .other-seniors {
  max-width: 1600px;
  padding: 80px 0 88px;
}

@media screen and (min-width: 1300px) {
  #seniors .other-seniors {
    width: 90%;
  }
}

#seniors .other-seniors .container {
  max-width: 1200px;
}

#seniors .other-seniors .container {
  gap: 46px 3.5%;
}

@media screen and (max-width: 1200px) {
  #seniors .other-seniors .container {
    gap: 46px 5%;
  }
}

#seniors .other-seniors a {
  width: 31%;
}

@media screen and (max-width: 1200px) {
  #seniors .other-seniors a {
    width: 47.5%;
  }
}



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

#privacy .heading {
  margin-bottom: 120px;
}

#privacy .breadcrumbs {
  padding-top: 12px;
}

#privacy .breadcrumbs .inner {
  max-width: 1300px;
}

#privacy .inner {
  max-width: 860px;
  padding-left: 33px;
}

#privacy .inner h2 {
  font-size: 2rem;
  margin-bottom: 24px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#sitemap .breadcrumbs {
  padding-top: 12px;
}


