@charset "UTF-8";
@import url(all.css);
/* ###################### */
/* ######## 変数 ######## */
/* ###################### */
/* カラー */
/* パターン */
/* 書式 */
/* ###################### */
/* ######## 関数 ######## */
/* ###################### */
/*===============================================
  切り替え用
===============================================*/
.pc-none {
  display: none !important;
}

a[href^="tel:"] {
  pointer-events: none;
}

/*===============================================
  ページネーション
===============================================*/
.pagenation {
  padding-top: 48px;
}
.pagenation li {
  width: 36px;
  font-size: 1.6rem;
  line-height: 40px;
  margin: 5px 4px 0;
}

/*===============================================
  詳細ページ前後
===============================================*/
.paginated-link {
  padding-top: 24px;
  margin-top: 32px;
}
.paginated-link li {
  width: 110px;
}
.paginated-link li a {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 0em;
}
.paginated-link li.prev-link a::before {
  margin-right: 1em;
}
.paginated-link li.next-link a::after {
  margin-left: 1em;
}

/*===============================================
  wrapper
===============================================*/
#wrapper {
  min-width: 1280px;
}

/*===============================================
  header
===============================================*/
#header .h-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 60px);
  max-width: 1860px;
}
#header .h-logo {
  padding: 7px 0 5px;
}
#header .h-oth {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}
#header .h-oth > * {
  margin-left: clamp(20px, 1.5625vw, 25px);
}
#header .h-oth > *:first-child {
  margin-left: 0;
}
#header .h-tels .com-tel {
  font-size: clamp(3rem, 2.3333333333vw, 3.5rem);
}
#header .h-mail {
  width: clamp(160px, 12.5vw, 200px);
}

/*===============================================
  footer
===============================================*/
#footer {
  padding: 100px 0 50px;
}
#footer .f-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#footer .f-oth {
  padding-bottom: 50px;
}
#footer .f-oth > * {
  margin-bottom: 30px;
}
#footer .f-oth > *:last-child {
  margin-bottom: 0;
}
#footer .f-info {
  font-size: 1.5rem;
  line-height: 1.33334;
  letter-spacing: 0.05em;
}
#footer .f-info > * {
  margin: -3px 0 -2px;
}
#footer .f-info .add span {
  display: block;
}

/*フッターナビ
-----------------------------*/
.fnav {
  max-width: calc(50% + 80px);
}
.fnav ul {
  margin-bottom: 100px;
}
.fnav ul:last-child {
  margin-bottom: 0;
}
.fnav ul:last-child.fnav-sub-list {
  margin-bottom: -4px;
}
.fnav .fnav-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  margin-top: -50px;
}
.fnav .fnav-list-item {
  margin-top: 50px;
  margin-left: 36px;
}
.fnav .fnav-list-item:first-child {
  margin-left: 0;
}
.fnav .fnav-list-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.fnav .fnav-list-item a span {
  display: block;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.fnav .fnav-list-item a span.en {
  font-size: 2.6rem;
  font-family: "Oswald", serif;
}
.fnav .fnav-list-item a span.txt {
  font-size: 1.5rem;
  margin-top: 9px;
}
.fnav .fnav-sub-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: -4px 0;
}
.fnav .fnav-sub-item {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.66667;
}
.fnav .fnav-sub-item::after {
  content: "|";
  margin: 0 0.5em;
}
.fnav .fnav-sub-item:last-of-type::after {
  display: none;
}

/*コピーライト
-----------------------------*/
.copy {
  width: 1080px;
  margin: 0 auto;
}
.copy p {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.83334;
  margin: -5px 0;
  position: absolute;
  left: 0;
  bottom: 0;
}

/*===============================================
  fixed固定
===============================================*/
/*ページトップ
-----------------------------*/
#pagetop {
  bottom: 10px;
  right: 10px;
}

/*サイドボタン
-----------------------------*/
#side {
  bottom: 10px;
  right: 10px;
}

/*===============================================
  visual
===============================================*/
.visual-wrap {
  background-size: min(2244px, 116.875%);
}

/*メインビジュアル
-----------------------------*/
.main-visual {
  max-width: 1920px;
  height: clamp(565px, 43.9583333333vw, 844px);
  background: url(../img/common/visual/bg-deco.svg) no-repeat center top/100%;
  margin: 0 auto;
}
.main-visual .catch {
  width: 30.2084%;
  margin: 0 0 3.125% 5.2084%;
}
.main-visual #slideshow {
  width: 93.75%;
  margin-right: 1.71875%;
  -webkit-clip-path: polygon(22.2223% 0, 100% 0, 77.7778% 100%, 0 100%);
          clip-path: polygon(22.2223% 0, 100% 0, 77.7778% 100%, 0 100%);
}

/*サブビジュアル
-----------------------------*/
.sub-visual {
  height: clamp(400px, 31.25vw, 600px);
  background: url(../img/common/visual/bg-deco.svg) no-repeat center top/min(1920px, 100%);
  padding-bottom: 8px;
}
.sub-visual::before {
  width: 87.7084%;
  max-width: 1684px;
  right: max(50% - 927px, 1.71875%);
  -webkit-clip-path: polygon(16.86461% 0, 100% 0, 83.1354% 100%, 0 100%);
          clip-path: polygon(16.86461% 0, 100% 0, 83.1354% 100%, 0 100%);
}
.sub-visual .catch {
  width: 82.292%;
  max-width: calc(50% + 620px);
  height: 38.334%;
  min-width: 160px;
  padding-left: max(50% - 540px, 21.875%);
  -webkit-clip-path: polygon(0 0, 94.937% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 94.937% 0, 100% 100%, 0 100%);
}
.sub-visual .catch .en {
  font-size: clamp(5.6rem, 4.375vw, 8.4rem);
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  margin: -0.1428572em -0.05em -0.047619048em 0;
}
.sub-visual .catch .txt {
  font-size: clamp(2.4rem, 1.8229166667vw, 3.5rem);
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  margin-top: 0.42857143em;
}

/*===============================================
  グローバルナビ
===============================================*/
#nav .gnav-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
#nav .gnav-list-item {
  font-size: clamp(1.3rem, 1.0135135135vw, 1.5rem);
  font-weight: 500;
  color: #122c48;
  letter-spacing: 0;
  line-height: 30px;
  margin-right: 40px;
}
#nav .gnav-list-item:last-of-type {
  margin-right: 0;
}
#nav .gnav-list-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 0;
}
#nav .gnav-list-item a > span {
  display: block;
  white-space: nowrap;
}
#nav .gnav-list-item a > span.en {
  font-family: "Oswald", serif;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
  transition: all 0.24s ease-out;
}
#nav .gnav-list-item a > span.txt {
  font-family: "Zen Kaku Gothic New", serif;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-out;
}
#nav .gnav-list-item a:hover .en {
  opacity: 0;
  visibility: hidden;
}
#nav .gnav-list-item a:hover .txt {
  opacity: 1;
  visibility: visible;
}
#nav .gnav-list-item.current a {
  color: #00a0e9;
}

/*===============================================
  main#container
===============================================*/
#container {
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

/*===============================================
  パンくずリスト
===============================================*/
.bread {
  height: 60px;
}
.bread .breadcrumbs {
  width: 1080px;
}
.bread .breadcrumbs li {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.66667;
}

/*===============================================
  main共通
===============================================*/
.inbox {
  width: 1080px;
}

/*電話番号
-----------------------------*/
.com-tels {
  align-items: flex-end;
}
.com-tels .com-tel {
  font-size: 3.5rem;
  letter-spacing: 0.05em;
}
.com-tels .com-tel::before {
  font-size: 1.5rem;
  margin-right: 0.25em;
}
.com-tels .com-tel a {
  margin: -0.085714286em -0.05em -0.057142858em 0;
}
.com-tels .com-replace {
  margin-top: 8px;
}
.com-tels .com-replace img {
  height: 11px;
}

/*ボタン
-----------------------------*/
.com-btn a {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
.com-btn a > span {
  margin-right: -0.05em;
}
.com-btn a::after {
  width: 40px;
  height: 40px;
  font-size: 2rem;
  margin-left: 20px;
}

.com-mail {
  width: 200px;
  height: 50px;
}
.com-mail a {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

/*テーブル
-----------------------------*/
.com-table tr th {
  width: 160px;
  padding: 25px 10px 15px 20px;
}
.com-table tr td {
  padding: 25px 20px 15px 0;
}
.com-table tr:first-child {
  margin-top: -8px;
}
.com-table tr:first-child th,
.com-table tr:first-child td {
  padding-top: 0;
}
.com-table tr:last-child {
  margin-bottom: -7px;
}
.com-table tr:last-child th,
.com-table tr:last-child td {
  padding-bottom: 0;
}

/*テキストボックス
-----------------------------*/
.com-text-box {
  margin: -8px 0 -7px;
}
.com-text-box p {
  margin-right: -0.05em;
}
.com-text-box .mb {
  margin-bottom: 30px;
}

/*SB未記入テキスト
-----------------------------*/
.com-no-txt {
  font-size: 2.4rem;
  line-height: 1.66667;
  padding: 60px 0;
}

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-ttl01 {
  margin-bottom: 50px;
}
.com-ttl01 .en {
  font-size: 8rem;
  letter-spacing: 0.05em;
  margin: -0.125em -0.05em -0.05em 0;
  white-space: nowrap;
}
.com-ttl01 .en + .txt {
  margin-top: 0.6em;
}
.com-ttl01 .txt {
  font-size: 3.5rem;
  line-height: 1.42858;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.com-ttl01 .txt:last-child {
  margin-bottom: -0.2em;
}

/*中タイトル
-----------------------------*/
.com-ttl02 {
  padding-bottom: 25px;
  margin-bottom: 25px;
}
.com-ttl02 > span {
  font-size: 3.5rem;
  line-height: 1.42858;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.com-ttl02:not(.ttl-c) > span {
  margin-top: calc(-0.2em - 1px);
  margin-bottom: -0.2em;
}
.com-ttl02.ttl-c > span:first-child {
  margin-top: calc(-0.2em - 1px);
}
.com-ttl02.ttl-c > span:last-child {
  margin-bottom: -0.2em;
}

/*小タイトル
-----------------------------*/
.com-ttl03 {
  margin-bottom: 20px;
}
.com-ttl03 > span {
  font-size: 2.6rem;
  line-height: 1.34616;
  letter-spacing: 0.05em;
  margin-right: -0.05em;
}
.com-ttl03:not(.ttl-c) > span {
  margin-top: -0.1923077em;
  margin-bottom: -0.153846154em;
}
.com-ttl03.ttl-c > span:first-child {
  margin-top: -0.1923077em;
}
.com-ttl03.ttl-c > span:last-child {
  margin-bottom: -0.153846154em;
}

/*===============================================
  共通セクション
===============================================*/
/*お問い合わせ
-----------------------------*/
.com-contact-sec {
  padding: 80px 0;
}
.com-contact-sec .inbox {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.com-contact-sec .inbox > * {
  width: 50%;
}
.com-contact-sec .contact-in {
  min-height: 250px;
}
.com-contact-sec .contact-ttl {
  margin-bottom: 55px;
}
.com-contact-sec .contact-ttl .en {
  font-size: 12em;
}
.com-contact-sec .contact-box {
  padding: 40px;
}
.com-contact-sec .contact-box > * {
  margin-bottom: 40px;
}
.com-contact-sec .contact-box .box-tels .com-tel {
  font-size: 4.8rem;
}
.com-contact-sec .contact-box .box-tels .com-tel::before {
  font-size: 2rem;
}
.com-contact-sec .contact-box .box-mail {
  width: 380px;
  height: 70px;
}

/*リンクセクション
-----------------------------*/
.com-links-sec {
  padding: 71px 0;
}
.com-links-sec::before {
  width: calc(100% - 80px);
  max-width: 1280px;
  height: calc(100% - 100px);
}
.com-links-sec .links-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 1120px;
}
.com-links-sec .links-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 560px;
  padding: 20px;
  border-right: solid 1px #122c48;
}
.com-links-sec .links-list-item:nth-of-type(2n), .com-links-sec .links-list-item:last-of-type {
  border-right: none;
}
.com-links-sec .links-list-item .item-img {
  width: 100%;
  margin-bottom: 30px;
}
.com-links-sec .links-list-item .item-ttl {
  margin-bottom: 0;
}
.com-links-sec .links-list-item .item-ttl .en {
  font-size: 4.8rem;
  margin-bottom: -0.0625em;
}
.com-links-sec .links-list-item .item-ttl .txt {
  font-size: 2.6rem;
  line-height: 1;
  margin: 20px 0 0;
}

/*===============================================
  トップページ
===============================================*/
.top .com-ttl01 .en {
  font-size: 12rem;
}

/*お知らせ
-----------------------------*/
.top-news {
  padding: 100px 0 150px;
}
.top-news::before {
  height: 101px;
}
.top-news .news-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 264px;
}
.top-news .news-list {
  width: 690px;
}
.top-news .news-list-item {
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.top-news .news-list-item a {
  min-height: 40px;
  padding-right: 70px;
}
.top-news .news-list-item a::after {
  width: 40px;
  height: 40px;
  font-size: 2rem;
}
.top-news .news-list-item .date {
  line-height: 1;
}
.top-news .news-list-item .tag {
  font-size: 1.2rem;
  line-height: 1.66667;
  margin-top: -5px;
}
.top-news .news-list-item .tag li {
  padding: 0 1em;
  margin: 10px 10px 0 0;
}
.top-news .news-list-item .item-ttl {
  line-height: 1.66667;
  margin-top: 10px;
}
.top-news .news-btn {
  position: absolute;
  left: 0;
  bottom: 0;
}

/*東海地方を中心に足場・仮設工事を手掛ける『清水技工』
-----------------------------*/
.top-about {
  padding: 80px 0 90px;
}
.top-about::before {
  height: 101px;
}
.top-about::after {
  min-width: 1800px;
  max-width: 1920px;
  background-size: 19.584%;
  top: 4px;
}
.top-about .inbox {
  min-height: 880px;
}
.top-about .about-ttl {
  margin-bottom: 60px;
}
.top-about .about-ttl .en {
  margin-left: auto;
  margin-right: auto;
}
.top-about .about-text {
  max-width: 540px;
}
.top-about .about-btn {
  padding-bottom: 10px;
  margin-top: 60px;
}
.top-about .about-imgs {
  width: 50vw;
  max-width: 960px;
  min-width: 640px;
  position: absolute;
  left: 50%;
  bottom: 0;
}
.top-about .about-imgs li {
  margin-bottom: -40px;
  -webkit-clip-path: polygon(0 0, 100% 60px, 100% 100%, 0 calc(100% - 60px));
          clip-path: polygon(0 0, 100% 60px, 100% 100%, 0 calc(100% - 60px));
}
.top-about .about-imgs li:last-child {
  margin-bottom: 0;
}
.top-about .about-imgs li div {
  height: 460px;
}
.top-about .about-imgs li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*事業内容
-----------------------------*/
.top-service {
  padding: 80px 0 86px;
}
.top-service::before {
  min-width: 1920px;
  height: 60%;
  max-height: 490px;
}
.top-service .service-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: -60px;
}
.top-service .service-list-item {
  width: 520px;
  margin-top: 60px;
  margin-right: 40px;
}
.top-service .service-list-item:nth-of-type(2n), .top-service .service-list-item:last-of-type {
  margin-right: 0;
}
.top-service .service-list-item .item-img {
  margin-bottom: 30px;
}
.top-service .service-list-item .item-img figcaption {
  width: 270px;
  font-size: 2.6rem;
  line-height: 1.53847;
  padding: 10px 30px;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
}
.top-service .service-list-item .item-text {
  line-height: 1.6;
  margin: -5px 0 -4px;
}
.top-service .service-list-item .item-btn {
  justify-content: flex-end;
  margin-top: 30px;
}

/*バナーリンクセクション
-----------------------------*/
.top-links .links-list {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.top-links .links-list-item {
  width: 100%;
  height: 480px;
}
.top-links .links-list-item a {
  padding: 100px min(74px, 7.7084%);
}
.top-links .links-list-item a::after {
  width: 65px;
  height: 65px;
  font-size: 3.2rem;
  right: 30px;
  bottom: 30px;
}

/*採用情報
-----------------------------*/
.top-recruit {
  padding: 171px 0 242px;
}
.top-recruit::before {
  width: calc(50% + 240px);
  height: calc(100% - 99px);
  -webkit-clip-path: polygon(0 50px, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 50px, 100% 0, 100% 100%, 0 100%);
}
.top-recruit .recruit-img {
  width: calc(50% + 240px);
  height: calc(100% - 100px);
  position: absolute;
  top: 0;
  right: calc(50% - 240px);
  z-index: 1;
  -webkit-clip-path: polygon(0 0, 100% 50px, 100% 100%, 0 calc(100% - 50px));
          clip-path: polygon(0 0, 100% 50px, 100% 100%, 0 calc(100% - 50px));
}
.top-recruit .recruit-img div {
  height: 100%;
}
.top-recruit .recruit-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-recruit .recruit-img figcaption {
  font-size: clamp(12rem, 8.8541666667vw, 17rem);
  line-height: 0.94118;
  transform: rotate(2.43deg);
  transform-origin: right bottom;
  bottom: 8px;
}
.top-recruit .recruit-in {
  width: 580px;
  padding: 0 40px 40px;
  margin-left: auto;
}
.top-recruit .recruit-in::before {
  height: calc(100% - 47px);
}
.top-recruit .recruit-ttl {
  margin-bottom: 49px;
}
.top-recruit .recruit-btn {
  margin-top: 49px;
}

/*代表紹介
-----------------------------*/
.top-greeting {
  min-height: 720px;
  padding: 101px 0 163px;
}
.top-greeting::before {
  height: 60%;
  max-height: 450px;
}
.top-greeting .greeting-img {
  width: calc(50% + 240px);
  position: absolute;
  top: 0;
  left: calc(50% - 240px);
  z-index: 1;
}
.top-greeting .greeting-img figcaption {
  font-size: clamp(12rem, 8.8541666667vw, 17rem);
  line-height: 0.94118;
  transform: rotate(-2.43deg);
  transform-origin: left bottom;
  right: 0;
  bottom: 8px;
}
.top-greeting .greeting-in {
  width: 580px;
  padding: 0 40px 40px;
}
.top-greeting .greeting-in::before {
  height: calc(100% - 47px);
}
.top-greeting .greeting-ttl {
  margin-bottom: 49px;
}
.top-greeting .greeting-btn {
  margin-top: 49px;
}

/*===============================================
  清水技工について
===============================================*/
/*企業理念
-----------------------------*/
.about-philosophy {
  padding: 100px 0 170px;
}
.about-philosophy::before {
  height: 101px;
}
.about-philosophy .inbox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about-philosophy .philosophy-box {
  width: 490px;
}

/*清水技工の強み
-----------------------------*/
.about-strengths {
  padding: 80px 0;
}
.about-strengths .strengths-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.about-strengths .strengths-list-item {
  width: 350px;
  margin-right: 15px;
}
.about-strengths .strengths-list-item:nth-of-type(3n), .about-strengths .strengths-list-item:last-of-type {
  margin-right: 0;
}
.about-strengths .strengths-list-item:nth-of-type(3n + 2) {
  margin-top: 50px;
}
.about-strengths .strengths-list-item:nth-of-type(3n) {
  margin-top: 100px;
}
.about-strengths .strengths-list-item .item-img {
  margin-bottom: 20px;
}
.about-strengths .strengths-list-item .item-img::before {
  width: 100px;
  height: 60px;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
}
.about-strengths .strengths-list-item .item-img::after {
  width: 80px;
  height: 60px;
  font-size: 4rem;
}
.about-strengths .strengths-list-item .item-text p {
  display: inline;
}
.about-strengths:has(+ article[class^=about-]):not(.com-contact-sec)::before {
  height: 101px;
}

/*===============================================
  事業内容
===============================================*/
/*足場工事
-----------------------------*/
.service-scaffold {
  padding: 100px 0;
}
.service-scaffold::before {
  height: 101px;
}
.service-scaffold .scaffold-list-box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  min-height: 594px;
  margin-bottom: 30px;
  position: relative;
  z-index: 0;
}
.service-scaffold .scaffold-list-box > * {
  width: 100%;
}
.service-scaffold .scaffold-list-box .box-img {
  width: calc(50vw + 80px);
  max-width: 1040px;
  min-width: 720px;
  position: absolute;
  top: 0;
}
.service-scaffold .scaffold-list-box .box-img div {
  height: 594px;
}
.service-scaffold .scaffold-list-box .box-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-scaffold .scaffold-list-box:nth-of-type(2n + 1) {
  padding-right: 580px;
}
.service-scaffold .scaffold-list-box:nth-of-type(2n + 1) .box-img {
  left: calc(50% - 80px);
}
.service-scaffold .scaffold-list-box:nth-of-type(2n + 1) .box-img div {
  -webkit-clip-path: polygon(26.9231% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(26.9231% 0, 100% 0, 100% 100%, 0 100%);
}
.service-scaffold .scaffold-list-box:nth-of-type(2n) {
  padding-left: 580px;
}
.service-scaffold .scaffold-list-box:nth-of-type(2n) .box-img {
  right: calc(50% - 80px);
}
.service-scaffold .scaffold-list-box:nth-of-type(2n) .box-img div {
  -webkit-clip-path: polygon(0 0, 73.077% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 73.077% 0, 100% 100%, 0 100%);
}

/*仮設工事
-----------------------------*/
.service-temporary {
  padding: 100px 0;
}
.service-temporary::before {
  height: 101px;
}
.service-temporary .temporary-list-box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  min-height: 594px;
  margin-bottom: 30px;
  position: relative;
  z-index: 0;
}
.service-temporary .temporary-list-box > * {
  width: 100%;
}
.service-temporary .temporary-list-box .box-img {
  width: calc(50vw + 80px);
  max-width: 1040px;
  min-width: 720px;
  position: absolute;
  top: 0;
}
.service-temporary .temporary-list-box .box-img div {
  height: 594px;
}
.service-temporary .temporary-list-box .box-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.service-temporary .temporary-list-box:nth-of-type(2n + 1) {
  padding-right: 580px;
}
.service-temporary .temporary-list-box:nth-of-type(2n + 1) .box-img {
  left: calc(50% - 80px);
}
.service-temporary .temporary-list-box:nth-of-type(2n + 1) .box-img div {
  -webkit-clip-path: polygon(26.9231% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(26.9231% 0, 100% 0, 100% 100%, 0 100%);
}
.service-temporary .temporary-list-box:nth-of-type(2n) {
  padding-left: 580px;
}
.service-temporary .temporary-list-box:nth-of-type(2n) .box-img {
  right: calc(50% - 80px);
}
.service-temporary .temporary-list-box:nth-of-type(2n) .box-img div {
  -webkit-clip-path: polygon(0 0, 73.077% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 73.077% 0, 100% 100%, 0 100%);
}

/*対応エリア
-----------------------------*/
.service-area {
  padding: 20px 0 50px;
}
.service-area .area-box {
  min-height: 394px;
  padding: 0 530px 20px 50px;
}
.service-area .area-box::before {
  height: calc(100% - 30px);
}
.service-area .area-map {
  position: absolute;
  top: 50px;
  right: 120px;
}

/*===============================================
  施工実績
===============================================*/
.works-contents {
  padding: 100px 0;
}
.works-contents::before {
  height: 100px;
}
.works-contents .works-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: -70px;
}
.works-contents .works-list-item {
  width: 520px;
  margin-top: 70px;
}
.works-contents .works-list-item .item-img {
  margin-bottom: 20px;
}
.works-contents .works-list-item .item-img.noimg {
  padding: 10px;
}
.works-contents .works-list-item .item-ttl {
  margin-bottom: 25px;
}
.works-contents .works-list-item .item-ttl > span {
  font-size: 2rem;
  line-height: 1.5;
  margin-top: -0.25em;
  margin-bottom: -0.25em;
}
.works-contents .works-list-item .item-text {
  line-height: 1.6;
  padding: 11px 15px;
}

/*===============================================
  ご依頼の流れ
===============================================*/
.flow-contents {
  padding: 100px 0;
}
.flow-contents::before {
  height: 100px;
}
.flow-contents .inbox {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.flow-contents .flow-ttl {
  width: 100%;
}
.flow-contents .flow-list-item {
  max-width: 360px;
  margin-bottom: 20px;
}
.flow-contents .flow-list-item::before {
  width: 100px;
  height: 60px;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
  margin-right: 12px;
}
.flow-contents .flow-list-item::after {
  width: 80px;
  height: 60px;
  font-size: 4rem;
}
.flow-contents .flow-list-item p {
  font-size: 2rem;
  line-height: 1.5;
}
.flow-contents .flow-list-box {
  width: 720px;
  min-height: 225px;
  padding: 30px 30px 30px 290px;
  margin-bottom: 50px;
}
.flow-contents .flow-list-box::after {
  width: 5px;
  height: 50px;
}
.flow-contents .flow-list-box .box-ttl {
  align-items: center;
}
.flow-contents .flow-list-box .box-ttl::before {
  width: 64px;
  font-size: 4.8rem;
  margin: -5px 0 -3px;
}
.flow-contents .flow-list-box .box-ttl > span {
  max-width: calc(100% - 64px);
}
.flow-contents .flow-list-box .box-text {
  line-height: 1.6;
  margin: -5px 0 -4px;
}
.flow-contents .flow-list-box .box-text p {
  display: inline;
}
.flow-contents .flow-list-box .box-links {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.flow-contents .flow-list-box .box-links > * {
  margin-top: 20px;
}
.flow-contents .flow-list-box .box-tels .com-tel {
  font-size: 4rem;
}
.flow-contents .flow-list-box .box-tels .com-tel a {
  margin-top: -0.1em;
  margin-bottom: -0.05em;
}
.flow-contents .flow-list-box .box-mail {
  width: 100%;
  height: 60px;
}
.flow-contents .flow-list-box .box-img {
  width: 240px;
  position: absolute;
  top: 30px;
  left: 30px;
}

/*===============================================
  採用情報
===============================================*/
/*動画でわかる清水技工
-----------------------------*/
.recruit-video {
  padding: 100px 0 80px;
}
.recruit-video::before {
  max-height: 637px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 100px));
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 100px));
}
.recruit-video + .recruit-ideal {
  margin-top: -80px;
}

/*求める人物像
-----------------------------*/
.recruit-ideal {
  padding: 80px 0;
}
.recruit-ideal::before {
  height: 101px;
}
.recruit-ideal .ideal-list-item {
  margin-bottom: 30px;
}
.recruit-ideal .ideal-list-item dt {
  padding: 7px 16px;
}
.recruit-ideal .ideal-list-item dd {
  line-height: 1.6;
  margin: -5px 0 -4px;
}

/*当社で働くメリット
-----------------------------*/
.recruit-advantage {
  padding: 80px 0;
}
.recruit-advantage .advantage-list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: -50px;
}
.recruit-advantage .advantage-list-item {
  width: 520px;
  margin-top: 50px;
}
.recruit-advantage .advantage-list-item .item-img::before {
  width: 100px;
  height: 60px;
  -webkit-clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
}
.recruit-advantage .advantage-list-item .item-img::after {
  width: 80px;
  height: 60px;
  font-size: 4rem;
}
.recruit-advantage .advantage-list-item .item-in {
  padding: 30px 20px;
}
.recruit-advantage .advantage-list-item .item-ttl {
  margin-bottom: 30px;
}
.recruit-advantage .advantage-list-item .item-text {
  line-height: 1.6;
  margin: -5px 0 -4px;
}

/*募集要項
-----------------------------*/
.recruit-description {
  padding: 80px 0;
}
.recruit-description .description-table {
  padding: 42px 30px;
}

/*===============================================
  会社概要
===============================================*/
/*会社情報
-----------------------------*/
.company-info {
  padding: 100px 0;
}
.company-info::before {
  height: 101px;
}
.company-info .info-table {
  margin: -8px 0 -7px;
}
.company-info .info-table td .replace {
  padding: 9px 0;
}
.company-info .info-table td .replace img {
  height: 12px;
}
.company-info .info-map {
  height: 350px;
  margin-top: 80px;
}

/*代表紹介
-----------------------------*/
.company-greeting {
  padding: 80px 0;
}
.company-greeting .inbox {
  overflow: hidden;
}
.company-greeting .com-text-box {
  line-height: 1.6;
  margin: -5px 0 -4px;
}
.company-greeting .greeting-ttl {
  float: left;
}
.company-greeting .greeting-img {
  width: 440px;
  float: right;
}
.company-greeting .greeting-img div {
  height: 580px;
}
.company-greeting .greeting-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company-greeting .greeting-box {
  width: 600px;
  float: left;
}
.company-greeting .greeting-box .box-ttl > span::after {
  width: 56px;
  height: 54px;
  left: calc(100% + 13px);
  top: -6px;
}
.company-greeting .greeting-hobby {
  padding-top: 80px;
  clear: both;
}
.company-greeting .greeting-hobby .hobby-ttl {
  padding: 7px 16px;
  margin-bottom: 30px;
}
.company-greeting .greeting-hobby .hobby-ttl > span {
  padding: 0 40px;
}
.company-greeting .greeting-hobby .hobby-in {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.company-greeting .greeting-hobby .hobby-in > * {
  width: calc(50% - 20px);
}
.company-greeting .greeting-hobby .hobby-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.company-greeting .greeting-hobby .hobby-list-item {
  width: 520px;
  margin-top: 50px;
}
.company-greeting .greeting-hobby .hobby-list-item .item-in {
  padding: 30px 20px;
}
.company-greeting .greeting-hobby .hobby-list-item .item-ttl {
  margin-bottom: 30px;
}

/*==================================================
 ニュース一覧
================================================== */
.news-contents {
  padding: 100px 0;
}
.news-contents .news-list-item {
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.news-contents .news-list-item a {
  min-height: 40px;
  padding-right: 70px;
}
.news-contents .news-list-item a::after {
  width: 40px;
  height: 40px;
  font-size: 2rem;
}
.news-contents .news-list-item .date {
  line-height: 1;
}
.news-contents .news-list-item .tag {
  font-size: 1.2rem;
  line-height: 1.66667;
  margin-top: -5px;
}
.news-contents .news-list-item .tag li {
  padding: 0 1em;
  margin: 10px 10px 0 0;
}
.news-contents .news-list-item .item-ttl {
  line-height: 1.66667;
  margin-top: 10px;
}

/*タグリスト
-----------------------------*/
.tag-select-box-wrap .tag-select-box {
  min-width: 240px;
  margin-bottom: 48px;
}
.tag-select-box-wrap .tag-select-box::after {
  right: 18px;
}
.tag-select-box-wrap .tag-select-box select {
  font-size: 1.4rem;
  line-height: 1.42858;
  padding: 12px 48px 12px 12px;
}

/*==================================================
 ニュース詳細
================================================== */
.news-detail {
  padding: 100px 0;
}
.news-detail .post-data {
  font-size: 1.4rem;
  line-height: 1.42858;
  margin-bottom: 20px;
}
/*==================================================
 お問い合わせ
================================================== */
.contact-contents {
  padding: 100px 0;
}
.contact-contents .contact-table {
  margin-bottom: 56px;
}
.contact-contents .contact-table th {
  width: 350px;
  text-align: left;
  line-height: 2.53334;
}
.contact-contents .contact-table th .optional-mark,
.contact-contents .contact-table th .required-mark {
  font-size: 1.2rem;
  line-height: 2.33334;
  margin-left: 1em;
}
.contact-contents .contact-table td {
  vertical-align: middle;
  line-height: 2.53334;
}
.contact-contents .contact-submits-wrap {
  padding-top: 32px;
}
.contact-contents .contact-submits-wrap > * {
  width: 320px;
  height: 60px;
  margin: 20px 15px 0;
}

/*==================================================
 お問い合わせ完了
================================================== */
.complete-contents {
  padding: 100px 0;
}
.complete-contents .complete-box {
  /* text-align: center; */
}

/*==================================================
プライバシーポリシー
================================================== */
.privacy-contents {
  padding: 100px 0;
}
.privacy-contents .item-box {
  padding: 40px;
  margin-bottom: 40px;
}

/*==================================================
 サイトマップ
================================================== */
.site-contents {
  padding: 100px 0;
}
.site-contents .site-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: column;
  max-height: 460px;
  margin-top: -15px;
}
.site-contents .site-list-item {
  width: 500px;
  margin-right: 80px;
  margin-top: 15px;
}
.site-contents .site-list-item a {
  padding: 15px 5px;
}
.site-contents .site-list-item a .en {
  font-size: 3rem;
  line-height: 1;
  margin-right: 0.5em;
}
.site-contents .site-list-item a .txt {
  font-size: 1.5rem;
  line-height: 20px;
}

/*===============================================
  404エラー
===============================================*/
.error-contents {
  padding: 100px 0;
}