@charset "utf-8";

.tbsp,
.sp {
  display: none;
}

tbody {
    -webkit-text-size-adjust: 100%;
  } 

/* -------------------------------------------------- */
/* IE対応 */
/* -------------------------------------------------- */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
}

/* -------------------------------------------------- */
/* TAB&SP */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
  html {
    font-size: 10px;
    -webkit-text-size-adjust: 100%;
  }

  img {
    display: block;
    max-width: 100%;
    margin: auto;
  }

  .pc {
    display: none !important;
  }

  .tbsp {
    display: block;
  }

  /* -------------------------------------------------- */
  /* ヘッダー */
  /* -------------------------------------------------- */
  #header {
    padding: 20px 5px 10px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #header::before,
  #header::after {
    display: none;
  }

  #header h1 {
    padding: 0;
  }

  #headerLogo {
    max-width: 50%;
  }

  #spHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  /* ログイン */
  /* -------------------------------------------------- */
  #spLogin a {
    color: #00c1f1;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
  }

  #spLogin a::before {
    display: inline-block;
    content: url(../images/icon_login.png);
  }

  /* ハンバーガーメニュー */
  /* -------------------------------------------------- */
  #hamburger {
    width: 50px;
    height: 50px;
    border-radius: 5px;
    z-index: 100;
    cursor: pointer;
    position: relative;
  }

  #hamburger span {
    display: inline-block;
    transition: all 0.3s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #00c1f1;
    width: 45%;
  }

  #hamburger span:nth-of-type(1) {
    top: 15px;
  }

  #hamburger span:nth-of-type(2) {
    top: 23px;
  }

  #hamburger span:nth-of-type(3) {
    top: 31px;
  }

  #hamburger.active span:nth-of-type(1) {
    top: 18px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
  }

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

  #hamburger.active span:nth-of-type(3) {
    top: 30px;
    left: 12px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
  }

  /* スマホナビゲーション */
  /* -------------------------------------------------- */
  #spNav {
    position: fixed;
    top: 0;
    right: -120%;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.3s;
    z-index: 50;
  }

  #spNav.panelactive {
    right: 0;
  }

  #spNavList {
    padding: 70px 50px 50px;
  }

  .spNavItem a {
    color: #000000;
    display: block;
    font-size: 1.8rem;
    text-align: center;
    line-height: 2.3;
  }

  .spNavItem a:hover,
  .spNavItem a:active {
    color: #00c1f1;
    text-decoration: none;
  }

  /* -------------------------------------------------- */
  /* フッター */
  /* -------------------------------------------------- */
  #footer {
    height: auto;
    padding: 40px 10px 20px;
  }

  #footer p,
  #footer div {
    position: inherit;
    top: inherit;
    left: inherit;
  }

  .f_logo {
    margin-bottom: 20px;
    text-align: center;
  }

  #footer .add01 {
    width: fit-content;
    margin: auto;
  }

  /* -------------------------------------------------- */
  /* トップページ */
  /* -------------------------------------------------- */

  /* メインビジュアル */
  /* -------------------------------------------------- */
  #mainTitle .en {
    font-size: 5rem;
  }

  #mainArea h3 {
    font-size: 3.5rem;
  }

  .menuList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    row-gap: 20px;
  }

  .menuList li {
    max-width: inherit;
  }

  /* サービス */
  /* -------------------------------------------------- */
  #serviceArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .service_col {
    width: 50%;
  }

  /* ニュース */
  /* -------------------------------------------------- */
  #newsArea {
    max-width: 90%;
  }

  .jspContainer {
    max-width: 100% !important;
  }

  .jspPane {
    max-width: 100% !important;
    left: 0 !important;
  }

  /* -------------------------------------------------- */
  /* 下層ページ */
  /* -------------------------------------------------- */

  /* 共通 */
  /* -------------------------------------------------- */
  #pankuzu {
    width: 92%;
    margin-bottom: 50px;
  }

  .entry {
    width: 92%;
    margin-bottom: 60px;
  }

  /* 業務内容 */
  /* -------------------------------------------------- */
  .work_txt {
    font-size: 2rem;
  }

  .work_cont {
    padding: 15px;
  }

  .work_box {
    width: 250px;
    height: 250px;
    padding-top: 50px;
  }

  /* FSプロデュースウォッシャー */
  /* -------------------------------------------------- */
  .produce_box {
    width: 48%;
  }

  /* アップサイクルウォッシャー */
  /* -------------------------------------------------- */
  .entry .cen img {
    margin: auto;
  }

  .up_exe_inner {
    width: 48%;
  }

  .up_exe_box {
    background-size: 3%;
  }

  .up_inner {
    width: calc((100% - 60px) / 3);
    padding: 10px;
  }

  .up_inner img {
    margin: auto;
  }

  .up_inner ul {
    margin: 0;
  }

  .up_inner > h5 {
    font-size: 1.8rem;
  }

  /* DWプロテクトサービス */
  /* -------------------------------------------------- */
  .inner_protect {
    width: calc((100% - 30px) / 2);
  }

  .protect_box02 {
    background-size: 3%;
  }

  .protext_box03 {
    width: 100%;
    margin-bottom: 30px;
  }

  .in_protect_box02 p {
    text-align: left;
  }

  #protectDateBox a {
    width: 48%;
  }

  /* DWレンタルシステム */
  /* -------------------------------------------------- */
  .rental_txt01,
  .rental_txt02,
  .rental_txt03 {
    position: inherit;
    top: inherit;
    left: inherit;
  }

  p.rental_txt00 {
    text-align: left;
  }

  /* 当社の特徴 */
  /* -------------------------------------------------- */
  .special_box02 {
    width: 48%;
  }

  .special_box02 h4 {
    text-align: center;
  }

  .runningTxt {
    font-size: 2rem;
  }

  .special_box01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 50px;
  }

  .inner_special {
    width: calc((100% - 40px) / 2);
    max-width: none;
    margin: 0;
  }

  .inner_special h4 {
    margin-bottom: 10px;
  }

  .inner_special > p {
    margin-bottom: 10px;
  }

  .inner_special img {
    margin: auto;
  }

  .spacila_l {
    float: none;
    width: 100%;
    margin-bottom: 25px;
  }

  .special_r {
    float: none;
    width: 100%;
    text-align: center;
  }

  .special_r img {
    margin: auto;
  }

  p#ionTxt01:after {
    display: none;
  }

  .in_special01,
  .in_special02 {
    padding: 20px 10px;
  }

  .special01 {
    width: 98px;
    height: 98px;
    padding: 20px 0 0;
  }

  .special_box02 h4 {
    font-size: 2rem;
  }

  #solutionImg {
    height: auto;
  }

  .special_box03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 15px 4%;
  }

  .special_box03::before,
  .special_box03::after {
    display: none;
  }

  .in_special03 {
    float: none;
    width: 48%;
    max-width: none;
    margin: 0;
  }

  .special_box04 {
    width: 48%;
  }

  /* 実績紹介 */
  /* -------------------------------------------------- */
  .sani_entry {
    width: 92%;
    margin-bottom: 60px;
  }

  .sani_img {
    width: 48%;
  }

  .sani_box {
    background-size: 3%;
  }

  .inner_sani {
    width: 48%;
  }

  .sani_ttl2 {
    font-size: 1.8rem;
  }

  /* 会社概要 */
  /* -------------------------------------------------- */
  .sub_ttl01 {
    margin-bottom: 30px;
  }

  .sub_ttl01 img {
    margin: auto;
  }

  .about_txt {
    font-size: 2.4rem;
  }

  /* お問い合わせ */
  /* -------------------------------------------------- */
  .in_tel {
    width: 48%;
  }
}

/* -------------------------------------------------- */
/* TAB(調整) */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
}

/* -------------------------------------------------- */
/* SP(調整) */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
  .pctb {
    display: none;
  }

  .sp {
    display: block;
  }

  /* -------------------------------------------------- */
  /* ヘッダー */
  /* -------------------------------------------------- */
  #header {
    padding: 3px 0 3px 4%;
  }

  /* -------------------------------------------------- */
  /* フッター */
  /* -------------------------------------------------- */
  #footerNav ul li a {
    font-size: 1.3rem;
  }
  .add01 p,
  .add02 p {
    font-size: 1.3rem;
  }
  .add01 p span,
  .add02 p span {
    font-size: 1.4rem;
  }

  /* -------------------------------------------------- */
  /* トップページ */
  /* -------------------------------------------------- */

  /* メインビジュアル */
  /* -------------------------------------------------- */
  #mainArea {
    padding: 0 10px 110px;
    position: inherit;
    top: 80px;
  }

  #mainTitle .en {
    font-size: 4rem;
    line-height: 1.2;
  }

  #mainTitle .ja {
    font-size: 2rem;
  }

  #mainTitle .ja::before,
  #mainTitle .ja::after {
    width: 10px;
    margin: 0 5px;
  }

  #mainArea h3 {
    font-size: 2.2rem;
  }

  #mainArea p {
    font-size: 1.4rem;
    text-align: left;
  }

  .menuList li {
    width: calc((100% - 60px) / 3);
  }

  /* サービス */
  /* -------------------------------------------------- */
  #serviceArea {
    margin-bottom: 50px;
  }

  .service_num span.service_img {
    margin: 0;
  }

  .service_txt {
    font-size: 1.2rem;
  }

  /* ニュース */
  /* -------------------------------------------------- */
  #newsArea {
    margin-bottom: 50px;
  }

  .news_ttl span {
    display: block;
    width: auto;
  }

  .news_txt p {
    padding: 0;
    font-size: 1.4rem;
  }

  /* -------------------------------------------------- */
  /* 下層ページ */
  /* -------------------------------------------------- */

  /* 共通 */
  /* -------------------------------------------------- */
  .header_area {
    height: 350px;
  }

  #subpageTtl h2 .en {
    font-size: 3.8rem;
  }

  .sub_ttl05 {
    margin-bottom: 25px;
  }

  .entry p {
    font-size: 1.3rem;
  }

  .entry li {
    font-size: 1.3rem !important;
  }

  /* 業務内容 */
  /* -------------------------------------------------- */
  .work_txt {
    font-size: 1.6rem;
    margin-bottom: 30px;
    padding: 0 10px;
  }

  .work_cont {
    margin-bottom: 70px;
    background-size: contain;
  }

  .work_box {
    width: 150px;
    height: 150px;
    padding-top: 15px;
  }

  .work_box > h3 {
    font-size: 2rem;
  }

  .work_box > p {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }

  .work_box > a {
    width: 130px;
  }

  /* FSプロデュースウォッシャー */
  /* -------------------------------------------------- */
  .produce_box {
    width: 100%;
  }

  .produce_box:not(:last-child) {
    margin-bottom: 30px;
  }

  .produce_box h4 {
    margin-bottom: 10px;
  }

  .produce_box02 {
    height: auto;
    padding-top: 0;
    background: none;
  }

  .produce_box02 {
    padding: 10px;
    background: #ededed;
  }

  /* アップサイクルウォッシャー */
  /* -------------------------------------------------- */
  .up_col {
    margin-bottom: 30px;
    padding-bottom: 30px;
    font-size: 1.4rem;
  }

  .entry .up_ttl01 {
    font-size: 2rem;
    margin-bottom: 10px;
  }

  .up_exe_box {
    background-image: url(../images/arr06.jpg);
    background-size: auto 22px;
  }

  .up_exe_inner {
    width: 100%;
  }

  .up_exe_inner:not(:last-child) {
    margin-bottom: 30px;
  }

  .up_inner {
    width: 100%;
  }

  .up_arr {
    float: none;
    margin: auto;
    padding: 0;
  }

  .up_arr img {
    transform: rotate(90deg);
  }

  .up_box {
    width: 100%;
    max-width: none;
    margin: 0 0 20px;
  }

  .up_box img {
    margin: auto;
  }

  /* DWプロテクトサービス */
  /* -------------------------------------------------- */
  .protect_intro {
    font-size: 2rem;
  }

  .protect_ttl {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .in_protect_box01 > h4 {
    line-height: 1.3;
  }

  .sub_ttl02 {
    line-height: 1.3;
  }

  .protect_box02 {
    background: none;
  }

  .inner_protect {
    width: 100%;
  }

  .inner_protect:not(:last-child) {
    margin-bottom: 30px;
  }

  .in_protect_box01,
  .in_protect_box02 {
    padding: 20px;
    height: auto;
  }

  .protext_box03 {
    padding: 20px;
  }

  #protectDateBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #protectDateBox a {
    width: 100%;
  }

  #protectDateBox span {
    display: block;
    text-align: center;
  }

  /* DWレンタルシステム */
  /* -------------------------------------------------- */
  .rental_box {
    height: auto;
    margin-bottom: 50px;
  }

  /* 当社の特徴 */
  /* -------------------------------------------------- */
  .entry .special_subttl01 {
    font-size: 2.4rem;
    line-height: 1.2;
  }

  .special_box02 {
    width: 100%;
  }

  .special_box02 h4 span {
    font-size: 3rem;
  }

  .special_box02:first-child {
    margin-bottom: 30px;
  }

  .inner_special {
    width: 100%;
  }

  .inner_special > p {
    margin-bottom: 10px;
    height: auto !important;
  }

  #ionBox {
    padding: 15px;
  }

  p#ionTxt02 {
    font-size: 2rem;
  }

  .movieBox iframe {
    width: 100%;
  }

  .in_special03 {
    width: 100%;
  }

  .special_box04 {
    width: 100%;
  }

  /* 実績紹介 */
  /* -------------------------------------------------- */
  .sani_ttl {
    font-size: 2rem;
  }

  .sani_box {
    background-image: url(../images/arr06.jpg);
    background-size: auto 23px;
  }

  .sani_img {
    width: 100%;
  }

  .sani_img:not(:last-child) {
    margin-bottom: 30px;
  }

  .inner_sani {
    width: 100%;
  }

  .inner_sani p {
    font-size: 1.3rem;
    padding: 0;
  }

  .sani_ttl2 {
    padding: 5px 10px;
    font-size: 1.5rem;
  }

  /* 会社概要 */
  /* -------------------------------------------------- */
  .about_tab th,
  .about_tab td {
    display: block;
    padding: 10px 5px;
  }

  .about_tab th {
    width: 100%;
    padding-bottom: 0;
    border: none;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
  }

  .about_tab td {
    padding-top: 0;
    font-size: 1.3rem;
  }

  /* 採用情報 */
  /* -------------------------------------------------- */
  .recruit_tab {
    width: 100%;
  }
  .recruit_tab th,
  .recruit_tab td {
    display: block;
    padding: 5px 10px;
    /* font-size: 1.3rem !important; */
    font-size: 13px !important;
  }

  .recruit_tab th {
    width: 100%;
    border: none;
  }

  /* サイトマップ */
  /* -------------------------------------------------- */
  #sitemapLink li {
    padding: 10px;
  }

  /* お問い合わせ */
  /* -------------------------------------------------- */
  #contactTable {
    width: 100%;
  }
  .contact_ttl {
    margin-bottom: 10px;
  }
  .in_tel {
    width: 100%;
    padding: 15px;
  }
  .in_tel p {
    margin-bottom: 0 !important;
  }
  .contact_tel,
  .contact_tel span {
    font-size: 2rem !important;
  }

  .in_tel:not(:last-child) {
    margin-bottom: 20px;
  }

  p.contact_txt {
    text-align: left;
  }

  #contactTable th,
  #contactTable td {
    display: block;
    width: 100%;
    padding: 10px;
    /* font-size: 1.3rem !important; */
    font-size: 13px !important;
  }

  input[type="text"],
  textarea {
    padding: 10px;
  }

  .box450_sp {
    width: 100% !important;
  }

  .required {
    font-size: 1.1rem;
  }

  #contactTable .box450 {
    width: 100% !important;
  }

  #backBtn {
    float: none;
    margin: auto;
    margin-bottom: 15px;
  }

  #nextBtn {
    float: none;
    margin: auto;
  }

  #contactTable.confirm th {
    border: none;
    padding-bottom: 0;
  }

  #submitBtn a,
  #backBtn a,
  #nextBtn a,
  #homeBtn a {
    font-size: 1.4rem;
    padding: 10px;
  }
  .errIn {
    font-size: 1.3rem;
  }
}
