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

.com-table table,
.com-table table tbody,
.com-table table th,
.com-table table tr,
.com-table table td {
  display: block !important;
  width: 100% !important;
}

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

/*===============================================
  詳細ページ前後
===============================================*/
.paginated-link {
  padding-top: 15px;
  margin-top: 30px;
}
.paginated-link li {
  width: 90px;
}
.paginated-link li a {
  font-size: 1.4rem;
  line-height: 2.14286;
  letter-spacing: 0;
}
.paginated-link li.prev-link a:before {
  margin-right: 0.5em;
}
.paginated-link li.next-link a::after {
  margin-left: 0.5em;
}

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

/*===============================================
  header
===============================================*/
#header .h-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  height: 72px;
}
#header .h-logo {
  width: 72px;
}

/*===============================================
  footer
===============================================*/
#footer {
  padding: 50px 0 35px;
}
#footer .f-logo {
  text-align: center;
  margin-bottom: 30px;
}
#footer .f-info {
  text-align: center;
  font-size: 0.9375em;
  line-height: 1.86667;
}
#footer .f-info .add span {
  margin: 0 0.5em;
}

/*フッターナビ
-----------------------------*/
.fnav {
  padding-top: 30px;
}
.fnav .fnav-list-item {
  border-bottom: solid 1px rgba(245, 246, 250, 0.5);
  margin-bottom: 10px;
}
.fnav .fnav-list-item:last-of-type {
  margin-bottom: 0;
}
.fnav .fnav-list-item a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding: 17px 5px;
}
.fnav .fnav-list-item a .en {
  font-size: min(2.6rem, 6.5vw);
  font-family: "Oswald", serif;
  font-weight: 700;
  line-height: 26px;
  margin-right: 0.5em;
}
.fnav .fnav-list-item a .txt {
  font-size: min(1.5rem, 3.75vw);
  line-height: 16px;
}
.fnav .fnav-sub-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 20px;
}
.fnav .fnav-sub-item {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(1.2rem, 3.5vw, 1.4rem);
  line-height: 30px;
}
.fnav .fnav-sub-item::after {
  content: "|";
  margin: 0 0.5em;
}
.fnav .fnav-sub-item:last-child::after {
  display: none;
}

/*コピーライト
-----------------------------*/
.copy {
  padding-top: 25px;
}

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

/*===============================================
  visual
===============================================*/
.visual-wrap {
  background-size: 165%;
  background-position: top right 32%;
}

/*メインビジュアル
-----------------------------*/
.main-visual {
  height: 100vw;
}
.main-visual .catch {
  width: 63.4375%;
  margin-left: 5%;
  margin-bottom: 5%;
}
.main-visual #slideshow {
  width: 90%;
  -webkit-clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

/*サブビジュアル
-----------------------------*/
.sub-visual {
  height: 56.25vw;
  padding-bottom: 8px;
}
.sub-visual::before {
  width: 80%;
  -webkit-clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}
.sub-visual .catch {
  width: 88%;
  height: 50%;
  padding-left: 5%;
  -webkit-clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
}
.sub-visual .catch .en {
  font-size: 10vw;
  letter-spacing: 0.02em;
  margin-right: -0.02em;
}
.sub-visual .catch .txt {
  font-size: 5vw;
  letter-spacing: 0.02em;
  margin-right: -0.02em;
  margin-top: 0.5em;
}

/*===============================================
  main#container
===============================================*/
#container {
  font-size: 0.9375em;
  line-height: 1.86667;
  letter-spacing: 0.02em;
}

/*===============================================
  パンくずリスト
===============================================*/
.bread {
  padding-top: 8px;
}
.bread .breadcrumbs {
  width: 90%;
}
.bread .breadcrumbs li {
  font-size: 0.8em;
  line-height: 1.66667;
  letter-spacing: 0em;
}

/*===============================================
  main共通
===============================================*/
.inbox {
  width: 90%;
}

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

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

.com-mail {
  width: 240px;
  max-width: 100%;
  height: 50px;
}
.com-mail a {
  font-size: 1em;
  letter-spacing: 0.02em;
}

/*テーブル
-----------------------------*/
.com-table tr {
  padding-bottom: 24px;
  margin-bottom: 30px;
}
.com-table tr th {
  color: #00a0e9;
  margin-bottom: 12px;
}
/*テキストボックス
-----------------------------*/
.com-text-box .mb {
  margin-bottom: 20px;
}
.com-text-box br {
  display: none;
}

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

/*===============================================
  タイトル
===============================================*/
/*大タイトル
-----------------------------*/
.com-ttl01 {
  margin-bottom: 35px;
}
.com-ttl01 .en {
  font-size: min(4.8rem, 12vw);
  letter-spacing: 0.02em;
  margin-right: -0.02em;
}
.com-ttl01 .en + .txt {
  margin-top: 0.5em;
}
.com-ttl01 .txt {
  font-size: min(2.6rem, 6.5vw);
  line-height: 1.53847;
  letter-spacing: 0.02em;
  margin-right: -0.02em;
}
.com-ttl01 .txt:first-child {
  margin-top: -0.26923077em;
}
.com-ttl01 .txt:last-child {
  margin-bottom: -0.26923077em;
}

/*中タイトル
-----------------------------*/
.com-ttl02 {
  padding-bottom: 15px;
  margin-bottom: 20px;
}
.com-ttl02 > span {
  font-size: min(2.6rem, 6.5vw);
  line-height: 1.53847;
  letter-spacing: 0.02em;
  margin-right: -0.02em;
}

/*小タイトル
-----------------------------*/
.com-ttl03 {
  margin-bottom: 20px;
}
.com-ttl03 > span {
  font-size: clamp(1.8rem, 5vw, 2rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-right: -0.02em;
}

/*===============================================
  共通セクション
===============================================*/
/*お問い合わせ
-----------------------------*/
.com-contact-sec {
  padding: 64px 0;
}
.com-contact-sec .contact-ttl .en {
  font-size: min(6.2rem, 15.5vw);
}
.com-contact-sec .contact-box {
  padding: 20px;
  margin-top: 30px;
}
.com-contact-sec .contact-box > * {
  margin-bottom: 20px;
}
.com-contact-sec .contact-box .box-mail {
  width: min(320px, 75vw);
}

/*リンクセクション
-----------------------------*/
.com-links-sec {
  padding: 50px 0;
}
.com-links-sec .links-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: solid 1px #122c48;
}
.com-links-sec .links-list-item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.com-links-sec .links-list-item .item-img {
  width: 100%;
  margin-bottom: 20px;
}
.com-links-sec .links-list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.com-links-sec .links-list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.com-links-sec .links-list-item .item-ttl {
  margin-bottom: 0;
}
.com-links-sec .links-list-item .item-ttl .en {
  font-size: min(3.6rem, 9vw);
}
.com-links-sec .links-list-item .item-ttl .txt {
  font-size: min(2rem, 5vw);
  line-height: 1;
  margin: 0.75em 0 0;
}

/*===============================================
  トップページ
===============================================*/
.top .com-ttl01 .en {
  font-size: min(6.2rem, 15.5vw);
}

/*お知らせ
-----------------------------*/
.top-news {
  padding: 64px 0;
}
.top-news::before {
  height: 51px;
}
.top-news .news-list-item {
  font-size: 0.8em;
  line-height: 1.66667;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.top-news .news-list-item a {
  min-height: 30px;
  padding-right: 50px;
}
.top-news .news-list-item a::after {
  width: 30px;
  height: 30px;
  font-size: 2rem;
}
.top-news .news-list-item .tag {
  padding-top: 5px;
}
.top-news .news-list-item .tag li {
  padding: 0 1em;
  margin: 10px 10px 0 0;
}
.top-news .news-list-item .item-ttl {
  font-size: 1.25em;
  line-height: 1.66667;
  margin-top: 10px;
}
.top-news .news-btn {
  padding-top: 40px;
}

/*東海地方を中心に足場・仮設工事を手掛ける『清水技工』
-----------------------------*/
.top-about {
  padding: 64px 0;
}
.top-about::before {
  height: 51px;
}
.top-about::after {
  background-position: right top;
  background-size: 24%;
  top: 30px;
}
.top-about .about-btn {
  padding-top: 30px;
}
.top-about .about-imgs {
  padding-top: 30px;
}
.top-about .about-imgs li {
  width: 80%;
  margin-bottom: 10px;
}
.top-about .about-imgs li:last-of-type {
  margin-left: auto;
  margin-bottom: 0;
}
.top-about .about-imgs li div {
  width: 100%;
  height: 0;
  padding-top: 50%;
  position: relative;
  z-index: 0;
}
.top-about .about-imgs li div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

/*事業内容
-----------------------------*/
.top-service {
  padding: 64px 0;
}
.top-service::before {
  height: 100%;
  background-position: left bottom;
  background-size: min(360px, 64%);
}
.top-service .service-list-item {
  margin-bottom: 40px;
}
.top-service .service-list-item:last-of-type {
  margin-bottom: 0;
}
.top-service .service-list-item .item-img {
  margin-bottom: 20px;
}
.top-service .service-list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 66.6666666667%;
  position: relative;
  z-index: 0;
}
.top-service .service-list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.top-service .service-list-item .item-img figcaption {
  width: 10em;
  font-size: min(2.4rem, 6vw);
  line-height: 1.66667;
  background: #f5f6fa;
  padding: 5px 15px;
}
.top-service .service-list-item .item-btn {
  margin-top: 20px;
}

/*バナーリンクセクション
-----------------------------*/
.top-links .links-list {
  width: 100%;
}
.top-links .links-list-item {
  height: 200px;
}
.top-links .links-list-item a {
  padding: 20px 5%;
}
.top-links .links-list-item a::after {
  width: 40px;
  height: 40px;
  font-size: 2rem;
  right: 15px;
  bottom: 15px;
}

/*採用情報
-----------------------------*/
.top-recruit {
  padding: 64px 0;
}
.top-recruit::before {
  width: 100%;
  height: 100%;
}
.top-recruit .inbox {
  margin-right: 0;
}
.top-recruit .recruit-img {
  width: 90%;
}
.top-recruit .recruit-img div {
  -webkit-clip-path: polygon(0 6.8494%, 100% 0, 100% 93.151%, 0 100%);
          clip-path: polygon(0 6.8494%, 100% 0, 100% 93.151%, 0 100%);
}
.top-recruit .recruit-img figcaption {
  font-size: min(6rem, 15vw);
  line-height: 0.875;
  transform: rotate(-2.43deg);
  transform-origin: left bottom;
  left: 0;
}
.top-recruit .recruit-in {
  padding: 20px;
}
.top-recruit .recruit-in::before {
  height: calc(100% - 50px);
}
.top-recruit .recruit-btn {
  margin-top: 30px;
}
.top-recruit + .top-greeting {
  margin-top: -64px;
}

/*代表紹介
-----------------------------*/
.top-greeting {
  padding: 64px 0;
}
.top-greeting::before {
  height: 100%;
}
.top-greeting .inbox {
  margin-right: 0;
}
.top-greeting .greeting-img {
  width: 90%;
}
.top-greeting .greeting-img figcaption {
  font-size: min(6rem, 15vw);
  line-height: 0.875;
  transform: rotate(-2.43deg);
  transform-origin: left bottom;
  left: 0;
}
.top-greeting .greeting-in {
  padding: 20px;
}
.top-greeting .greeting-in::before {
  height: calc(100% - 50px);
}
.top-greeting .greeting-ttl {
  margin-bottom: 49px;
}
.top-greeting .greeting-btn {
  margin-top: 30px;
}

/*===============================================
  清水技工について
===============================================*/
/*企業理念
-----------------------------*/
.about-philosophy {
  padding: 64px 0;
}
.about-philosophy::before {
  height: 51px;
}

/*清水技工の強み
-----------------------------*/
.about-strengths {
  padding: 64px 0;
}
.about-strengths .strengths-list-item {
  margin-bottom: 56px;
}
.about-strengths .strengths-list-item:last-of-type {
  margin-bottom: 0;
}
.about-strengths .strengths-list-item .item-img {
  margin-bottom: 20px;
}
.about-strengths .strengths-list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.about-strengths .strengths-list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.about-strengths .strengths-list-item .item-img::before {
  width: 85px;
  height: 50px;
  -webkit-clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 0 100%);
}
.about-strengths .strengths-list-item .item-img::after {
  width: 70px;
  height: 50px;
  font-size: 2em;
}
.about-strengths:has(+ article[class^=about-]):not(.com-contact-sec)::before {
  height: 51px;
}

/*===============================================
  事業内容
===============================================*/
/*足場工事
-----------------------------*/
.service-scaffold {
  padding: 64px 0;
}
.service-scaffold::before {
  height: 51px;
}
.service-scaffold .scaffold-list-box {
  margin-bottom: 56px;
}
.service-scaffold .scaffold-list-box .box-img {
  margin-top: 20px;
}
.service-scaffold .scaffold-list-box .box-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.service-scaffold .scaffold-list-box .box-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

/*仮設工事
-----------------------------*/
.service-temporary {
  padding: 64px 0;
}
.service-temporary::before {
  height: 51px;
}
.service-temporary .temporary-list-box {
  margin-bottom: 56px;
}
.service-temporary .temporary-list-box .box-img {
  margin-top: 20px;
}
.service-temporary .temporary-list-box .box-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.service-temporary .temporary-list-box .box-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

/*対応エリア
-----------------------------*/
.service-area {
  padding: 20px 0 48px;
}
.service-area .area-box {
  padding: 0 20px 20px;
}
.service-area .area-box::before {
  height: calc(100% - 30px);
  background-size: 120%;
}
.service-area .area-map {
  text-align: center;
  margin-top: 20px;
}
.service-area .area-map img {
  width: 64%;
  max-width: 337px;
}

/*===============================================
  施工実績
===============================================*/
.works-contents {
  padding: 64px 0;
}
.works-contents::before {
  height: 50px;
}
.works-contents .works-list-item {
  margin-bottom: 40px;
}
.works-contents .works-list-item:last-of-type {
  margin-bottom: 0;
}
.works-contents .works-list-item .item-img {
  margin-bottom: 15px;
}
.works-contents .works-list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 62.5%;
  position: relative;
  z-index: 0;
}
.works-contents .works-list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.works-contents .works-list-item .item-img.noimg {
  padding: 1.7362%;
}
.works-contents .works-list-item .item-img.noimg div {
  width: 100%;
  height: 0;
  padding-top: 61.1510791367%;
  position: relative;
  z-index: 0;
}
.works-contents .works-list-item .item-img.noimg div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.works-contents .works-list-item .item-ttl {
  margin-bottom: 15px;
}
.works-contents .works-list-item .item-text {
  padding: 15px;
}

/*===============================================
  ご依頼の流れ
===============================================*/
.flow-contents {
  padding: 64px 0;
}
.flow-contents::before {
  height: 50px;
}
.flow-contents .flow-list-box {
  padding: 20px;
  margin-bottom: 30px;
}
.flow-contents .flow-list-box::after {
  width: 3px;
  height: 30px;
}
.flow-contents .flow-list-box .box-ttl {
  align-items: center;
}
.flow-contents .flow-list-box .box-ttl::before {
  width: 1.5em;
  font-size: min(4.8rem, 12vw);
}
.flow-contents .flow-list-box .box-links {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.flow-contents .flow-list-box .box-links > * {
  margin-top: 15px;
}
.flow-contents .flow-list-box .box-mail {
  width: min(320px, 75vw);
}
.flow-contents .flow-list-box .box-img {
  margin-top: 20px;
}
.flow-contents .flow-list-box .box-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.flow-contents .flow-list-box .box-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

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

/*求める人物像
-----------------------------*/
.recruit-ideal {
  padding: 64px 0;
}
.recruit-ideal::before {
  height: 51px;
}
.recruit-ideal .ideal-list-item {
  margin-bottom: 30px;
}
.recruit-ideal .ideal-list-item dt {
  padding: 5px 10px;
}

/*当社で働くメリット
-----------------------------*/
.recruit-advantage {
  padding: 64px 0;
}
.recruit-advantage .advantage-list-item {
  margin-bottom: 20px;
}
.recruit-advantage .advantage-list-item:last-of-type {
  margin-bottom: 0;
}
.recruit-advantage .advantage-list-item .item-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.recruit-advantage .advantage-list-item .item-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.recruit-advantage .advantage-list-item .item-img::before {
  width: 85px;
  height: 50px;
  -webkit-clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 100%, 0 100%);
}
.recruit-advantage .advantage-list-item .item-img::after {
  width: 70px;
  height: 50px;
  font-size: 2em;
}
.recruit-advantage .advantage-list-item .item-in {
  padding: 20px;
}

/*募集要項
-----------------------------*/
.recruit-description {
  padding: 64px 0;
}
.recruit-description .description-table {
  padding: 20px;
}

/*===============================================
  会社概要
===============================================*/
/*会社情報
-----------------------------*/
.company-info {
  padding: 64px 0;
}
.company-info::before {
  height: 51px;
}
.company-info .info-table td .replace {
  padding: 6px 0;
}
.company-info .info-table td .replace img {
  height: 12px;
}
.company-info .info-map {
  height: 320px;
  margin-top: 40px;
}

/*代表紹介
-----------------------------*/
.company-greeting {
  padding: 64px 0;
}
.company-greeting .greeting-img {
  margin-bottom: 24px;
}
.company-greeting .greeting-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.company-greeting .greeting-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.company-greeting .greeting-box .box-ttl > span::after {
  width: 1.5em;
  height: 1.5em;
  left: calc(100% + 12px);
  top: -0.025em;
}
.company-greeting .greeting-hobby {
  padding-top: 64px;
  clear: both;
}
.company-greeting .greeting-hobby .hobby-ttl {
  padding: 10px 15px;
}
.company-greeting .greeting-hobby .hobby-ttl > span {
  padding: 0 30px;
}
.company-greeting .greeting-hobby .hobby-img {
  margin-bottom: 20px;
}
.company-greeting .greeting-hobby .hobby-img div {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  z-index: 0;
}
.company-greeting .greeting-hobby .hobby-img div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.company-greeting .greeting-hobby .hobby-list {
  padding-top: 32px;
}
.company-greeting .greeting-hobby .hobby-list-item {
  margin-bottom: 20px;
}
.company-greeting .greeting-hobby .hobby-list-item:last-of-type {
  margin-bottom: 0;
}
.company-greeting .greeting-hobby .hobby-list-item .item-in {
  padding: 15px 0;
}

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

/*タグリスト
-----------------------------*/
.tag-select-box-wrap .tag-select-box {
  min-width: 160px;
  margin-bottom: 40px;
}
.tag-select-box-wrap .tag-select-box::after {
  right: 12px;
}
.tag-select-box-wrap .tag-select-box select {
  font-size: 0.8em;
  line-height: 1.33334;
  padding: 12px 32px 12px 12px;
}

/*==================================================
 ニュース詳細
================================================== */
.news-detail {
  padding: 64px 0;
}
.news-detail .post-data {
  font-size: 0.8em;
  line-height: 1.66667;
  margin-bottom: 16px;
}
/*==================================================
 お問い合わせ
================================================== */
.contact-contents {
  padding: 64px 0;
}
.contact-contents .contact-table {
  margin-bottom: 40px;
}
.contact-contents .contact-table th .optional-mark,
.contact-contents .contact-table th .required-mark {
  font-size: 0.8em;
  line-height: 2;
  margin-left: 0.5em;
}
.contact-contents .contact-submits-wrap {
  padding-top: 16px;
}
.contact-contents .contact-submits-wrap > * {
  width: 75vw;
  max-width: 320px;
  height: 60px;
  margin: 0 auto 20px;
}
.contact-contents .contact-submits-wrap > *:last-child {
  margin-bottom: 0;
}

/*==================================================
 お問い合わせ完了
================================================== */
.complete-contents {
  padding: 64px 0;
}
/*===============================================
  プライバシーポリシー
===============================================*/
.privacy-contents {
  padding: 64px 0;
}
.privacy-contents .item-box {
  padding: 20px;
  margin-bottom: 30px;
}

/*==================================================
 サイトマップ
================================================== */
.site-contents {
  padding: 64px 0;
}
.site-contents .site-list-item {
  margin-bottom: 10px;
}
.site-contents .site-list-item:last-of-type {
  margin-bottom: 0;
}
.site-contents .site-list-item a {
  padding: 18px 5px;
}
.site-contents .site-list-item a .en {
  font-size: min(2.6rem, 6.5vw);
  line-height: 26px;
  margin-right: 0.3em;
}
.site-contents .site-list-item a .txt {
  font-size: min(1.5rem, 3.75vw);
  line-height: 16px;
}

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