/*
Theme Name: chosei 
Description: 長誠クレーンサービスWebサイト
Version: 0.1
Author: 0
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

/* Reset styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html[lang="ja"] {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 16px;
    color: #242424;
    line-height: 32px;
}

ul {
    list-style: none;
}

a {
    color: #000;
    text-decoration: none;
}


.container {
    max-width: 1160px;
    padding: 0 40px;
    margin: 0 auto;
}

.container-right {
    width: 100%;
    padding: 0px;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
}



/* sp/pc */
.sp {
    display: none;
}

.pc {
    display: block;
}

@media screen and (max-width: 768px) {
    .sp {
        display: block;
    }
    
    .pc {
        display: none;
    }
}


/* header */
header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

header > .container {
    height: 143px;
    display: flex;
    align-items: center;
    max-width: none;
    padding: 0 60px;
}


/* ロゴ */
.area_logo_header .logo {
    display: block;
}

.area_logo_header img {
    height: 68px;
    vertical-align: bottom;
}

.top_logo_text {
    color: #FFF;
    padding-top: 5px;
    font-size: 0.8rem;
}

/* ヘッダーナビ */
.nav_header {
    margin: 0 0 0 auto;
}

.list_nav_header {
    display: flex;
    align-items: center;
    margin: 0 -15px;
}

.list_nav_header > li {
    padding: 0 35px;
    line-height: 16px;
}

.list_nav_header a {
    color: #FFF;
    font-weight: 800; 
}

span.nav_sub_title {
    color: #FFD70F;
    font-size: 10px;
}

[class*="btn_ico"] {
    color: #FFF;
    display: flex;
    align-items: center;
    height: 54px;
    padding: 0 30px 0 60px;
    background: #FFD70F;
    position: relative;
    transition: 0.8s
}

.btnarea > [class*="btn_ico"] {
    color: #2A2A2A!important;
    display: flex;
    align-items: center;
    height: 54px;
    padding: 0 30px;
    background: #FFD70F;
    position: relative;
    width: 300px;
    justify-content: center;
}
.footer_btnarea > [class*="btn_ico_mail"] {
    color: #2a2a2a;
    display: flex;
    align-items: center;
    height: 54px;
    padding: 0 30px;
    background: #FFD700;
    position: relative;
    width: 180px;
    justify-content: end;
}

.back-works-btn img {
    width: 65px;
}

.next-works-btn img {
    width: 65px;
}

.header_btnarea > [class*="btn_ico_mail"] {
    color: #009fe6;
    display: flex;
    align-items: center;
    height: 54px;
    padding: 0 30px;
    background: #ffffff;
    position: relative;
    width: 180px;
    justify-content: end;
}

[class*="btn_ico"]:before {
    content: "";
    display: block;
    width: 17px;
    height: 14px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
}
.btnarea > [class*="btn_ico"]:after {
    content: "";
    display: block;
    width: 9px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
}

[class*="btn_ico"][class*="mail"]:before {
    background: url(asset/img/ico/mail-icon-w.svg)
}
[class*="btn_ico_mail"][class*="mail"]:before {
    background: url(asset/img/ico/mail-icon-b.svg)
}
[class*="header_btn_ico_mail"][class*="mail"]:before {
    background: url(asset/img/ico/mail-icon-b.svg)
}
[class*="btn_ico"][class*="tel"]:before {
    background: url(asset/img/ico/phone-icon.svg)
}
[class*="btn_ico"][class*="more"]:after {
    background: url(asset/img/ico/arrow-b.svg)
}
[class*="btn_ico"][class*="more_b"]:after {
    background: url(asset/img/ico/arrow-b.svg)
}

.home-tel-innner img {
    width: 40px;
}


.btnarea-w > [class*="btn_ico"] {
    color: #2A2A2A;
    display: flex;
    align-items: center;
    height: 54px;
    padding: 0 30px;
    background: #FFF;
    position: relative;
    width: 350px;
    justify-content: center;
    font-weight: 800;
}

.btnarea-w > [class*="btn_ico"]:after {
    content: "";
    display: block;
    width: 9px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}



.btnarea_onimg > [class*="company_btn_ico"] {
    color: #FFF!important;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding: 0 30px;
    background: #e6003200;
    border: 2px solid #FFF;
    position: relative;
    width: 240px;
}

[class*="company_btn_ico"]:before {
    content: "";
    display: block;
    width: 17px;
    height: 14px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
}
.btnarea_onimg > [class*="company_btn_ico"]:after {
    content: "";
    display: block;
    width: 9px;
    height: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
}

[class*="company_btn_ico"][class*="more"]:after {
    background: url(asset/img/ico/arrow.svg)
}

.brad-comtents {
    padding-top: 10px;
    font-size: 0.8rem;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}
  
.breadcrumb li a:hover {
    color: #FFD70F;
    transition: 0.4s;
}
.breadcrumb li a {
    color: #747474;
}
.breadcrumb li a{
    transition: 0.4s;
}
  
.breadcrumb li:not(:last-of-type)::after {
content: "/";
margin: 0 .6em; /* 記号の左右の余白 */
color: #9d9d9d; /* 記号の色 */
}

.breadcrumb li:last-child {
    font-weight: bold;
    color: #242424;
}


/* トップビュー */
.area_top_view {
    background: url(asset/img/img/main-img.jpg) no-repeat bottom center;
    background-size: cover;
}

.area_top_view > .container {
    height: 95vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view .ttl {
    color: #FFF;
    font-size: 4.209rem;
    line-height: 112px;
    letter-spacing: .04em;
    margin: 20px 0 0;
    padding: 0 0 0 40px;
    position: absolute;
    right: calc(137vw / 1920* 100);
    bottom: 20%;
}
/* 下層ページトップビュー */
.area_top_view_works {
    background: url(asset/img/img/main-img-works.jpg) no-repeat bottom center;
    background-size: cover;
}


.area_top_view_works > .container {
    height: 40vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view_works .ttl {
    color: #FFF;
    font-size: 2rem;
    letter-spacing: .04em;
    margin: 0 auto;
    position: absolute;
    top: 25%;
}
.area_top_view_works .ttl::after {
    content: '';
    width: 60px;
    height: 4px;
    display: inline-block;
    background-color: #FFD70F;
    position: absolute;
    bottom: -20px;
    left: calc(50% - 30px);
}
.area_top_view_company {
    background: url(asset/img/img/main-img-company.jpg) no-repeat bottom center;
    background-size: cover;
}


.area_top_view_company > .container {
    height: 40vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view_company .ttl {
    color: #FFF;
    font-size: 2rem;
    letter-spacing: .04em;
    margin: 0 auto;
    position: absolute;
    top: 25%;
}
.area_top_view_company .ttl::after {
    content: '';
    width: 60px;
    height: 4px;
    display: inline-block;
    background-color: #FFD70F;
    position: absolute;
    bottom: -20px;
    left: calc(50% - 30px);
}
.area_top_view_recruit {
    background: url(asset/img/img/main-img-recruit.jpg) no-repeat bottom center;
    background-size: cover;
}


.area_top_view_recruit > .container {
    height: 40vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view_recruit .ttl {
    color: #FFF;
    font-size: 2rem;
    letter-spacing: .04em;
    margin: 0 auto;
    position: absolute;
    top: 25%;
}
.area_top_view_recruit .ttl::after {
    content: '';
    width: 60px;
    height: 4px;
    display: inline-block;
    background-color: #FFD70F;
    position: absolute;
    bottom: -20px;
    left: calc(50% - 30px);
}
.area_top_view_contact {
    background: url(asset/img/img/main-img-contact.jpg) no-repeat bottom center;
    background-size: cover;
}


.area_top_view_contact > .container {
    height: 40vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view_contact .ttl {
    color: #FFF;
    font-size: 2rem;
    letter-spacing: .04em;
    margin: 0 auto;
    position: absolute;
    top: 25%;
}
.area_top_view_contact .ttl::after {
    content: '';
    width: 60px;
    height: 4px;
    display: inline-block;
    background-color: #FFD70F;
    position: absolute;
    bottom: -20px;
    left: calc(50% - 30px);
}
.area_top_view_privacy {
    background: url(asset/img/img/main-img-privacy.jpg) no-repeat bottom center;
    background-size: cover;
}


.area_top_view_privacy > .container {
    height: 40vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.area_top_view_privacy .ttl {
    color: #FFF;
    font-size: 2rem;
    letter-spacing: .04em;
    margin: 0 auto;
    position: absolute;
    top: 25%;
}
.area_top_view_privacy .ttl::after {
    content: '';
    width: 60px;
    height: 4px;
    display: inline-block;
    background-color: #FFD70F;
    position: absolute;
    bottom: -20px;
    left: calc(50% - 30px);
}

/* エリア　ホーム */
[class*="area_home"] {
    padding: 100px 0 0 0;
}

/* ヘッド */
.head_home .ttl {
    font-size: 5.61rem;
    line-height: 110px;
    background: linear-gradient(89deg, #FFD700 0%, #F8BA24 70%);
	-webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
}
.head_home .ttl2 {
    font-size: 5.61rem;
    line-height: 110px;
    background: linear-gradient(89deg, #FFD700 0%, #F8BA24 70%);
	-webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
}
.head_home .ttl3 {
    font-size: 5.61rem;
    line-height: 110px;
    background: linear-gradient(89deg, #FFD700 0%, #F8BA24 70%);
	-webkit-background-clip:text;
	-webkit-text-fill-color: transparent;
}


.head_home .top_ttl_subttl {
    margin: 0 0 70px;
    color: #FFA200;
    font-size: 1.333rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: left;
}

.home_about_only.head_home .ttl {
    font-size: 5.61rem;
}

.head_home .top_ttl_subttl:before {
    border-top: 1px solid;
    content: "";
    display: flex;
    width: 3em;
    height: 2px;
    background: #FFA200;
    margin-right: 1em;
    bottom: 0;
}

.head_home.head_center {
    text-align: center;
    align-items: center;
    margin: 0 auto;

}

.head_center > .top_ttl_subttl {
    justify-content: center;
}

.head_center > .btnarea {
    display: flex;
    justify-content: center;
    padding: 0 0 70px;
}



/* 2分割レイアウト */
.layout_2_div {
    display: flex;
    justify-content: space-between;
}

.layout_2_div > div {
    padding: 60px 40px;
    text-align: center;
}
.layout_2_div img {
    right: 0;
}

.layout_2_rightfit {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.news_layout_2_div {
    display: flex;
    flex-wrap: wrap;
}

.news_layout_2_div > div {
    padding: 0 0 0 110px;
}
.news_layout_2_div02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 60px 0 50px 0;
}



/* 3分割レイアウト */
.layout_3_div {
    width: 100%;
    display: flex;
    justify-content: center;
}

.img_3colmn img {
    width: 446px;
    height: auto;
}

.layout_3_content {
    width: 446px;
    margin: 0 25px;
}


.rightfit_img {
    width: calc(905vw /1920*100);
    height: auto;
}


/* テキストホーム */
.text_home .ttl {
    font-size: 3.369rem;
    font-weight: 800;
    margin: 0 0 20px;
}

.text_home .btnarea {
    margin: 30px 0 0;
    display: flex;
    align-items: center;
}

.text_home p.ttl {
    font-size: 2.369rem;
    line-height: 4rem;
}

.layout_2_textarea {
    max-width: 695px;
    width: calc(695vw /1920*100);
    margin-right: 80px;
}

/* バックグラウンド */
.bg_gray {
    color: #FFF;
    background: #2A2A2A;
}

.bg_gray_half {
    color: #242424;
    background: linear-gradient(#2A2A2A 60%, white 60%);
}

.text_home ul li a:hover {
    opacity: 60%;
    transition: 0.7s;
}

/* 長誠クレーンとは */
img.home-widthfull-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 施工事例 */
.workstitle_day {
    display: flex;
    justify-content: left;
}

p.home_works_ttl {
    color: #FFA200;
    font-weight: 800;
    padding: 0 20px 0 0;
}

p.home_works_day {
    color: #A4A4A4;
    font-weight: 800;
}

.works-preparing {
    margin: 0 auto;
    padding: 100px 0;
    font-size: 20px;
    font-weight: 700;
}

/* 会社情報 */


.company_layout_3_content {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 673px;
    width: 33.3333%;
    background-image: url(asset/img/img/top-img05.jpg);
    background-size: cover;
}

.company_layout_3_content:nth-child(2) {
    background-image: url(asset/img/img/top-img06.jpg);
}
.company_layout_3_content:nth-child(3) {
    background-image: url(asset/img/img/top-img07.jpg);
}


/* 採用情報 */

.area_home_recruit {
    position: relative;
    padding: 100px 0 130px 0;
}

.area_home_recruit::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(1187vw /1920*100);
    height: calc(552% /970*100);
    background-color: #2A2A2A;
}

.layout_center_content {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    margin: auto;
}

.recruit_img {
    width: 50%;
    height: 252px;
}
.recruit_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recruit_main {
    width: 50%;
    height: 252px;
}

.recruit_btn {
    position: absolute;
    right: 0;
    bottom: -30px;
}

.recruit_head .ttl {
    position: absolute;
    left: 0;
    top: -43px;
    color: #FFF;
    background: unset;
	-webkit-background-clip:unset;
	-webkit-text-fill-color: unset;
}

.text_home.recruit_main {
    background: #E2E5EB;
    padding: 36px 0 0 50px;
}


.recruit_main .recruitsub_caption {
    margin: 0 0 10px;
    color: #FFA200;
    font-size: 1.333rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: left;
}

.recruit_main .recruitsub_caption:before {
    border-top: 1px solid;
    content: "";
    display: flex;
    width: 3em;
    height: 2px;
    background: #FFA200;
    margin-right: 1em;
    bottom: 0;
}

p.home_company_ttl {
    font-size: 2rem;
    color: #FFF;
    font-weight: 600;
}

.text_home.company_toptext {
    text-align: center;
}

p.home_company_subttl {
    color: #FFF;
}

.company_description {
    color: #FFF;
}

.btnarea_onimg {
    padding-top: 70px;
}

.text_home.company_toptext p {
    line-height: 3rem;
}

section.area_home_company {
    padding: 100px 0 0 0;
}

/* お知らせ */

.news_contents {
    display: flex;
    justify-content: center;
}

.news_list_date time {
    color: #A4A4A4;
    font-weight: 800;
    padding-right: 40px;
}

.news_list_date {
    display: flex;
    width: calc(930vw / 1920* 100);
    border-bottom: 1px solid #707070;
    margin-bottom: 35px;
}

section.area_home_news {
    background: #E2E5EB;
    padding-bottom: 100px;
}

/* お問い合わせ */
.home-telcontent {
    background: #FFD70F;
    width: 45%;
}

.home-mailcontent {
    background: #FFD70F;
    width: 45%;
}

.home-contact-title {
    color: #2A2A2A;
    font-weight: 800;
    font-size: 1.333rem;
    position: relative;
}
.home-contact-title::before {
    position: absolute;
    content: "";
    border-bottom: 1px solid #2A2A2A;
    top: 130%;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
}

.home-tel-innner {
    display: flex;
    text-align: center;
    justify-content: center;
    font-size: 3rem;
    padding-top: 30px;
    color: #FFF;
    letter-spacing: 4px;
}
.home-tel-innner a {
    color: #2A2A2A;
}

.zen-old-mincho-regular {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }

section.area_home_contact {
    background: url(asset/img/img/top-img11.jpg);
    background-size: cover;
    padding-bottom: 30px;
}

.home-mail-innner {
    padding-top: 30px;
    display: flex;
    justify-content: center;
}

/* footer */
footer {
    width: 100%;
    background: #2A2A2A;
    padding: 100px 0 0 0;
}

.area_logo_footer {
    text-align: center;
    margin-bottom: 56px;
}

.area_logo_footer img {
    height: 88px;
}

.footer_description {
    text-align: center;
    color: #FFF;
    font-weight: 600;
}

.footer_text_home {
    padding: 0 0 70px 0;
}

.list_nav_footer {
    display: flex;
    justify-content: center;
}

.list_nav_footer > li {
    line-height: 16px;
}

.list_nav_footer a {
    color: #FFF;
    font-weight: 800; 
}

span.footer_nav_sub_title {
    color: #FFF;
    font-size: 10px;
}

.footer_nav_area {
    padding-bottom: 65px;
}


.footer_nav_sub {
    line-height: 2rem;
}

.footer_nav_subcont {
    padding-bottom: 20px;
}

.footer-list-spacer{
    padding-right: 100px;
}

.footer_nav_sub {
    position: relative;
}

.footer_ttl_subttl {
    color: #ffffff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: left;
}

.footer_ttl_subttl:before {
    border-top: 1px solid;
    content: "";
    display: flex;
    width: 1em;
    background: #ffffff;
    margin-right: 1em;
    bottom: 0;
}

.footer_end {
    background: #FFD70F;
    padding: 5px 0;
    text-align: center;
    font-size: 0.8rem;
}

/* アニメーション */

.lagchild {
opacity:0;
transform:translateY(50%);
}
    
    
    
.huwa {
animation:huwa 0.8s ease-out forwards;
}

@keyframes huwa {

to {

transform:initial;
opacity:1;
}

}

/* ハンバーガーメニュー */
.header_inner {
    position: relative;
    padding: 15px;
  }
  .logo{
    position: absolute;
    top: 0;
    left: 0;
    padding: 30px 25px;
  }
  .title{
    font-size: 2rem;
    font-weight: 600;
  }
  
  /* header固定のため余白をつける。メニューのCSSには関係ない */
  .main{  
    margin-top: 60px;
  }
  
  @media only screen and (max-width: 1370px) {
    .nav {
      position: fixed;
      right: -320px; /* 右から出てくる */
      top: 0;
      width: 300px; /* スマホに収まるサイズ */
      height: 100vh;
      padding-top: 60px;
      background-color: #FFD70F;
      transition: all .6s;
      z-index: 200;
      overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    }
    .hamburger {
      position: absolute;
      right: 15px;
      top: 8px;
      width: 40px; /* クリックしやすい幅 */
      height: 40px; /* クリックしやすい高さ */
      cursor: pointer;
      z-index: 300;
    }
    .nav_list {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .nav_item {
      text-align: left;
      padding: 0 14px;
    }
    .nav_item a {
      display: block;
      padding: 18px 0;
      border-bottom: 1px solid #eee;
      text-decoration: none;
      color: #ffffff;
    }
    .nav_item a:hover {
      background-color: #eee;
    }
    .hamburger_border {
      position: absolute;
      left: 11px;
      width: 18px;
      height: 2px;
      background-color: #009fe6;
      transition: all .6s;
    }
    .hamburger_border_top {
      top: 14px;
    }
    .hamburger_border_center {
      top: 20px;
    }
    .hamburger_border_bottom {
      top: 26px;
    }

    .humburger_fixed {
        position: fixed;
        overflow: auto;
    }
    .black_bg {
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      z-index: 100;
      background-color: #333;
      opacity: 0;
      visibility: hidden;
      transition: all .6s;
      cursor: pointer;
    }

    /* 表示された時用のCSS */

    .nav-open .nav {
      right: 0;
    }
    .nav-open .black_bg {
      opacity: .8;
      visibility: visible;
    }
    .nav-open .hamburger_border_top {
      transform: rotate(45deg);
      top: 20px;
    }
    .nav-open .hamburger_border_center {
      width: 0;
      left: 50%;
    }
    .nav-open .hamburger_border_bottom {
      transform: rotate(-45deg);
      top: 20px;
    }
    .header_inner {
        display: block!important;
        position: relative;
        width: 100%;
        padding: 15px 30px;
        margin-left: auto;
        margin-right: auto;
    }
  }/* sp */
  
  @media only screen and (max-width: 1370px) {


            
    .logo{
      padding: 12px 30px
    }
    .nav_list{
      text-align: right;
    }
    .nav_list li{
        display: list-item;
        text-align: left;
    }
    .nav_list li a{
      color: #fff;
      font-weight: 600;
    }

    .nav_header {
        display: none;
    }

    .list_nav_footer {
        display: none;
        margin: 0;
    }
    .layout_3_content {
        width: 100%;
        margin: 30px 0;
        padding: 0 10px;
    }
  }/* pc */


  /* すべてのsp */
  @media only screen and (max-width: 768px) {
    .layout_3_div {
        display: block;
    }
    .layout_2_rightfit {
        width: 100%;
        display: block;
        padding: 0 20px;
    }



    .area_top_view .ttl {
        font-size: 1.6rem;
        padding: 0;
        letter-spacing: 0;
        margin: 0;
        right: 20px;
        top: 190px;
        line-height: 2.5rem;
    }

    .area_logo_header img {
        height: 58px;
    }

    [class*="btn_ico"] {
        color: #FFA200!important;
        display: flex;
        align-items: center;
        height: 54px;
        padding: 0 30px 0 60px;
        background: #ffffff;
        position: relative;
        margin: -10px 0 0 0;
    }
    .layout_2_textarea {
        width: 100%;
    }

    img.home-widthfull-img {
        padding: 30px 0 0 0;
        width: 190%;
    }

    .img_3colmn img {
        width: 100%;
        height: auto;
    }

    .news_contents {
        display: block;
    }

    .news_list_date {
        display: block;
        width: 100%;
    }

    .news_layout_2_div > div {
        padding: 50px 0 0 0;
    }
    .news_layout_2_div02 > div {
        padding: 50px 0 0 0;
    }

    .news_layout_2_div {
        display: block;
    }

    .area_top_view > .container {
        height: 45vh;
    }

    .container {
        width: 100%;
        max-width: 100%;
        padding: 0 20px;
        margin: 0;
    }

    .layout_2_div {
        display: block;
    }

    .area_logo_footer img {
        height: 58px;
    }

    .recruit_img {
        width: 100%;
        height: 122px;
    }

    .layout_center_content {
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: left;
        align-items: stretch;
        flex-wrap: wrap;
        margin: auto;
    }
    .area_home_recruit::before {
        width: 70%;
        height: 40%;
    }

    .text_home.recruit_main {
        width: 100%;
        background: #E2E5EB;
        padding: 20px 20px 60px 20px;
        height: 100%;
    }

    .layout_2_div > div {
        padding: 60px 20px;
        text-align: center;
        width: 100%;
        margin: 0 0 50px 0;
    }

    .home-tel-innner {
        font-size: 1.8rem;
        letter-spacing: 0px;
    }

    .head_center > .top_ttl_subttl {
        justify-content: center;
    }

    .head_home .ttl2 {
        font-size: 3rem;
    }

    .home_about_only.head_home .ttl {
        font-size: 3rem;
        text-align: center;
    }

    .recruit_head .ttl {
        font-size: 3rem;
        top: -53px;
    }

    .company_layout_3_content {
        height: 400px;
        width: 100%;
    }

    .home-mail-innner {
        padding-top: 60px;
    }

    .btnarea-w > [class*="btn_ico"] {
        height: 84px;
        width: 270px;
    }

    .head_home .ttl3 {
        text-align: center;
        font-size: 3rem;
    }

    .text_home ul li a {
        display: block!important;
        width: 100%!important;
    }

    .head_home.head_center {
        padding: 0 20px;
    }

    .area_home_recruit {
        position: relative;
        padding: 100px 0 100px 0!important;
    }

    .text_home p.ttl {
        font-size: 1.6rem;
    }

    .head_home.lagchild.huwa {
        text-align: center;
    }

    .head_home .top_ttl_subttl {
        justify-content: center;
    }

    .btnarea {
        display: flex;
        justify-content: center;
    }

    .layout_3_content.lagchild.huwa {
        padding-bottom: 50px;
    }

    [class*="area_home"] {
        padding: 20px 0 0 0;
    }

    section.area_home_company {
        padding: 0 0 0 0;
    }

    section.area_home_news {
        background: #E2E5EB;
        padding-bottom: 30px;
    }

    .footer_nav_area {
        padding-bottom: 0px;
    }

    footer {
        width: 100%;
        background: #2A2A2A;
        padding: 70px 0 0 0;
    }

    .head_home .top_ttl_subttl:before {
        width: 1.5em;
    }

    .recruit_main .recruitsub_caption:before {
        width: 1.5em;
    }
    

  }

.header_inner {
    display: none;
    position: relative;
    padding: 15px;
}

/* hover */

.list_nav_header li a {
    transition: 0.9s;
}

.list_nav_header li a:hover {
    color: #FFD70F;
    transition: 0.9s;
}

[class*="btn_ico"]:hover {
    color: #2A2A2A!important;
    background: #FFA200;
}

.layout_3_content.lagchild.huwa a img {
    transition: .6s;
}

.layout_3_content.lagchild.huwa a img:hover {
    filter: brightness(0.5);
    transition: .6s;
}

a.company_btn_ico_more {
    color: #FFF;
}


a.company_btn_ico_more:hover {
    background: #FFD70F;
    border: none;
    transition: .6s;
}

span.home-tel-number.zen-old-mincho-regular a{
    transition: .6s;
}
span.home-tel-number.zen-old-mincho-regular a:hover {
    color: #FFA200;
    transition: .6s;
}

ul.list_nav_footer a {
    transition: .6s;
}
ul.list_nav_footer a:hover {
    color: #FFD70F;
    transition: .6s;
}

/* 施工事例 */
.container-works {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.main {
    flex: 0.66;
}
.main h1 {
    color: #FFD70F;
}
.main ul {
    list-style: none;
    display: flex;
    padding: 10x 0 10px 0;
}
.main ul li {
    margin-right: 40px;
}

.main img {
    width: 100%;
}

.main .article-intro {
    text-align: left;
    padding: 10px 0px 80px 0px;
}

article a{
    text-decoration: none;
    color: #FFD70F;
    display: block;
    margin-top: 10px;
}

article a::after {
    content: "";
    display: block;
    width: 100px;
    background-color: #FFD70F;
    height: 1px;
}

aside {
    flex: 0.33;
}


.archive {
    margin-top: 60px;
}

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

.archive ul {
    list-style: none;
    width: 80%;
    margin: 0 auto;
    border-bottom: 1px solid rgb(124, 124, 124);
    text-align: center;
}

.archive ul li {
    padding: 25px;
    border-top: 1px solid rgb(124, 124, 124);
}
.archive ul li a {
    color: #3b3b3b;
    transition: 0.5s;
}
.archive ul li a:hover {
    color: #FFD70F;
    transition: 0.5s;
}

.archive-title {
    font-weight: bold;
}

.container-pagenation {
    display: flex;
    justify-content: center;
    padding: 20px 0;
    align-items: center;
}

.back-works-btn {
    padding: 30px;
}

.back-works-btn img {
    transform: scale(-1.1);
    padding: 0 30px;
}
.next-works-btn img {
    padding: 0 30px;
}
.back-works-btn img:hover {
    opacity: 0.7;
    transition: 0.5s;
}
.next-works-btn img:hover  {
    padding: 0 30px;
    opacity: 0.7;
    transition: 0.5s;
}

.start-works-btn {
    padding: 30px;
}
.next-works-btn {
    padding: 30px;
}
.back-works-btn a {
    color: #FFD70F;
    font-weight: 800;
    transition: 0.5s;
}
.start-works-btn a {
    color: #FFD70F;
    font-weight: 800;
    transition: 0.5s;
}
.next-works-btn a {
    color: #FFD70F;
    font-weight: 800;
    transition: 0.5s;
}
.back-works-btn a:hover {
    color: #FFA200;
    transition: 0.5s;
}
.start-works-btn a:hover {
    color: #FFA200;
    transition: 0.5s;
}
.next-works-btn a:hover {
    color: #FFA200;
    transition: 0.5s;
}

.vr {
    background-color:rgb(190, 190, 190); 
    width:2px; 
    height:20px;
}


.page-works {
    display: flex;
    justify-content: space-between;
    margin: 60px auto 50px auto;
}

.page-works-onecont {
    width: 33.33%;
    padding: 0 10px;
    transition: 0.5s;
}

.page-works-onecont:hover {
    opacity: 0.7;
    transition: 0.5s;
}

.works-all-img img {
    width: -webkit-fill-available;
}

/* works sp */
@media only screen and (max-width: 768px) {
    .container-works {
        display: block;
        flex-direction: column;
    }

    .workstitle_day {
        flex-direction: column;
    }

    .page-works-onecont {
        width: 100%;
    }

    .page-works-onecont {
        padding: 0 0px 30px 0;
    }

    .page-works {
        margin: 0px auto 0px auto;
    }

    .workstop-ma {
        margin-top: 60px;
    }

    .page-works-onecont-top {
        margin-top: 60px;
    }
    
    .area_top_view_works .ttl {
        padding: 0 20px;
        text-align: center;
    }

    .back-works-btn img {
        padding: 0 10px;
        width: 26px;
    }

    .next-works-btn img {
        padding: 0 10px;
    }

    .back-works-btn {
        padding: 10px;
    }
    .start-works-btn {
        padding: 10px;
    }
    .next-works-btn {
        padding: 10px;
    }

    .container-pagenation {
        font-size: 0.7rem;
        text-align: center;
    }

    .next-works-btn img {
        width: 26px;
    }
}

/* 会社概要 */
.company_overview, .company_access, .company_business {
    margin-top: 30px;
    padding: 20px;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

.page-contents-all-title {
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    padding: 60px 0 10px 0;
    border-bottom: 2px solid #ddd;
    position: relative;
    max-width: 1190px;
    margin: 0 auto;
}

.page-contents-all-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2px;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background-color: #FFD70F;
}

.company_table {
    width: 100%;
    border-collapse: collapse;
}

.company_table th, .company_table td {
    padding: 10px;
    border: 1px solid #292c32;
}

.company_table th {
    background-color: #FFD70F;
    text-align: center;
    color: #2a2a2a;
    width: 20%;
}

.company-page-img {
    display: flex;
    padding-left: 20px;
}
.company-page-img img {
    width: 100%;
}

.company-accsess-text {
    line-height: 2rem;
    padding-right: 20px;
    margin: auto;
}

.access-text-title {
    background: #FFD70F;
    color: #2a2a2a;
    font-weight: 800;
    padding: 10px;
    margin: 20px 0 10px 0;
}

.access-main-nav {
    font-weight: 800;
}

.company-bussiness-img {
    display: flex;
    justify-content: space-between;
}

.company-bussiness-img img {
    width: 100%;
}

.container-bussiness {
    text-align: center;
}
.container-privacy {
    text-align: left;
}

.contaoner-bussiness-title {
    padding: 10px;
    margin: 20px 0 10px 0;
    background-color: #FFD70F;
    color: #2a2a2a;
}

.contaoner-bussiness-list {
    display: flex;
    justify-content: center;
}

.bussinesslist-item:not(:first-child):before {
    content: "/";
    padding: 0 2px 0 0;
}

.bussinesslist-item {
    padding: 0 2px;
}

.company-last {
    margin: 30px 0 50px 0;
}

/* company-sp */
@media only screen and (max-width: 768px) {
    .company_table th, .company_table td {
        display: block;
        width: 100%;
    }
    .map iframe {
        width: 100%;
    }

    .contaoner-bussiness-list {
        flex-direction: column;
    }

    .company-page-img {
        padding: 20px 0 0 0;
    }

    .bussinesslist-item:not(:first-child):before {
        content: "";
    }

    .company-bussiness-img {
        flex-direction: column;
    }
}

/* recruit */

.recruit-link-set a {
    color: #FFA200;
    font-weight: 800;
    transition: 0.5s;   
}
.recruit-link-set a:hover {
    color: #2a2a2a;
    transition: 0.5s;
}

.recruit-contents {
    margin-bottom: 50px;
}

/* contact */
.contact-top-text {
    padding: 20px 0;
    text-align: center;
}

.contact-top-text a {
    color: #FFD70F;
    font-weight: 800;
    transition: 0.5s;
}

.contact-top-text a:hover {
    color: #72caf2;
    transition: 0.5s;
}

/* privacy */

.privacy-main-contents {
    padding-top: 20px;
}

.privacy-all-contents {
    margin: 60px 0 50px 0;
}

.privacy-mini-contents {
    padding-left: 12px;
}

.privacy-mail a:hover {
    color: #FFD70F;
    transition: 0.4s;
}

/* shortcode */
.text_home ul li a {
    display: flex;
    width: calc(930vw / 1920* 100);
    border-bottom: 1px solid #707070;
    margin-bottom: 35px;
    transition: 0.7s;
}

p.news_date {
    color: #A4A4A4;
    font-weight: 800;
    padding-right: 40px;
}

h3.news_title {
    font-weight: normal;
    font-size: 16px;
}

.layout_3_content a img {
    transition: 0.7s;
}
.layout_3_content a img:hover {
    filter: brightness(60%);
    transition: 0.7s;
}





.page-works-onecont02 {
    width: calc(33.33% - 20px); /* 各要素を3つ横並びに */
    margin-bottom: 20px; /* 下部にマージンを追加 */
}

/* レスポンシブ対応（画面が小さいときのスタイル） */
@media (max-width: 768px) {
    .page-works-onecont02 {
        width: calc(50% - 20px); /* 2つ横並びに */
    }
}

@media (max-width: 480px) {
    .page-works-onecont02 {
        width: 100%; /* 1つずつ縦に表示 */
    }
}


.page-works-onecont02 a img:hover {
    filter: brightness(60%);
    transition: 0.7s;
}
.page-works-onecont02 a img {
    transition: 0.7s;
}

.container-pagenation02 {
    clear: both; 
    text-align: center; 
    margin: 30px 0 50px 0;
    position: relative; /* または absolute */
    z-index: 10; /* 他の要素よりも前面に表示 */
}

.container-pagenation02 a {
    background: #fff;
    color: #FFD70F;
    font-weight: bold;
    transition: all 0.15s linear;
    margin: 20px;

}

.container-pagenation02 .current02 {
    width: 45px;
    height: 45px;
    background-color: #FFD70F;
    color: #fff;
}

span.page-numbers.current {
    margin: 30px;
}


.toggle-button-unique-xyz123 {
    background-color: transparent;
    border: none;
    font-size: 16px; /* ボタンのサイズ */
    cursor: pointer;
}

.news-content-unique-xyz123 {
    padding: 10px; /* コンテンツの余白 */
    border: 1px solid #ddd; /* 境界線のスタイル */
    margin-top: 5px; /* 上部マージン */
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    width: 100%;
    max-width: 1160px;
}

.news-content-unique-xyz123.active {
    display: block; /* 常に表示状態 */
    opacity: 1;    /* 完全に表示する */
}


.accordion-002 {
    width: 1000px;
    margin-bottom: 10px;
    border-bottom: 2px solid #A4A4A4;
    height: 70px;
}

.accordion-002 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    background-image: url('asset/img/ico/circle-y.png');
    background-position: right calc(2em - 7px) center;
    background-size: 22px;
    background-repeat: no-repeat;
    color: #FFA200;
    font-weight: 600;
    cursor: pointer;
}

.accordion-002 summary::-webkit-details-marker {
    display: none;
}

.accordion-002 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-bottom: 3px solid #2a2a2a;
    border-right: 3px solid #2a2a2a;
    content: '';
    transition: transform .3s;
}

.accordion-002[open] summary::after {
    transform: rotate(225deg);
}
.accordion-002[open]{
    height: auto;
}

.accordion-002 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    color: #333333;
    transition: transform .3s;
    display: none;
}

.accordion-002[open] p {
    transform: none;
    opacity: 1;
    margin: 20px;
    display: block;
}

.accordion-002 p.news-content {
    opacity: 0;
    transition: opacity 0.5s ease; /* フェード効果を追加 */
}

.accordion-002[open] p.news-content {
    opacity: 1;
    display: block; /* 内容を表示 */
}

span.news-date-unique-xyz123 {
    padding-right: 20px;
    color: #A4A4A4;
}

.news-info {
    display: flex; 
    align-items: center;
}

@media (max-width: 768px){
    .accordion-002 {
        height: auto;
            width: 100%;
        }
   

    .news-info {
        display: block; 
        width: 320px;
        margin: 20px;
    }

    .accordion-002 summary {
        padding: 0;
    }

    .news-info-text-title {
        width: 90%;
    }

    .accordion-002 summary::after {
        transform: translateY(-25%) translateX(-430%) rotate(45deg);
    }

    .accordion-002[open] summary::after {
        transform: translateY(13%) translateX(-430%) rotate(225deg);
    }

    .news_layout_2_div02 {
        display: block;
    }

    ul.news-list-unique-xyz123 img {
        width: 100%;
    }

    .bg_gray_half {
        background: linear-gradient(#2A2A2A 32%, white 32%);
    }

    .accordion-002[open] img {
        width: 100%;
        margin: 0!important;
    }
    
    .home-tel-innner img {
        width: 20px;
        padding: 8px 0 0 0;
    }
}

a.header_btn_ico_mail {
    color: #1A1A1A;
}

.accordion-002[open] img {
    transform: none;
    opacity: 1;
    margin: 20px;
    display: block;
    height: auto!important;
}

.accordion-002 img {
    margin: 0;
    opacity: 0;
    transform: translateY(-10px);
    height: 0;
}

.accordion-002[open] figure.wp-block-image.size-full{
    display: block;
}
.accordion-002 figure.wp-block-image.size-full{
    display: none;
}

/* service */

.service-top-copy {
    text-align: center;
    padding: 40px 0;
    font-size: 1.5rem;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: gold;
}

.service-box{
    position: relative;
}

.service-box img {
    filter: brightness(50%);
    height: 100%;
}

.service-box-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFF;
    text-align: center;
    width: 90%;
    font-weight: 800;
}

.service-last-textbox {
    padding: 30px 0;
}

.overlay-border {
    position: absolute;
    top: 5%;
    left: 5%;
    right: 5%;
    bottom: 5%;
    border: 1px solid #FFF;
    pointer-events: none;
    box-sizing: border-box;
    margin: 10px;
}

.service-detail-area {
    text-align: left;
    padding: 40px 0 20px;
}

.service-detail-block {
    display: flex;
    gap: 35px;
    padding: 45px 40px;
    margin-bottom: 35px;
    background: #fff;
    border-left: 6px solid #FFD70F;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08);
}

.service-detail-num {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    background: #FFD70F;
    color: #2A2A2A;
    font-size: 1.8rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-detail-content h2 {
    font-size: 1.45rem;
    line-height: 1.7;
    margin-bottom: 18px;
    color: #2A2A2A;
}

.service-detail-content p {
    line-height: 2;
    margin-bottom: 28px;
}

.service-detail-content h3 {
    display: inline-block;
    background: #2A2A2A;
    color: #fff;
    font-size: 1rem;
    padding: 6px 18px;
    margin-bottom: 18px;
}

.service-detail-content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 25px;
}

.service-detail-content li {
    position: relative;
    padding-left: 18px;
    line-height: 1.8;
}

.service-detail-content li::before {
    content: "";
    width: 7px;
    height: 7px;
    background: #FFD70F;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 13px;
}

@media only screen and (max-width: 768px) {
    .service-detail-area {
        padding: 25px 0 0;
    }

    .service-detail-block {
        display: block;
        padding: 30px 22px;
        margin-bottom: 25px;
    }

    .service-detail-num {
        width: 58px;
        height: 58px;
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .service-detail-content h2 {
        font-size: 1.2rem;
    }

    .service-detail-content ul {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}