@charset "UTF-8";
/*common*/
.pc-only { display: block !important; }

.sp-only { display: none !important; }

section, main { position: relative; display: block; }

body { width: 100%; overflow-x: hidden; }

img { max-width: 100%; }

.mt20 { margin-top: 2.0rem; }

@media screen and (max-width: 900px) {
    .pc-only { display: none !important; }
    .sp-only { display: block !important; }
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
/*.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,
.no-js .top_main_scroll { opacity: 1!important; }
.no-js body.home #loading { display: none; }
.no-js body#home #header {-webkit-transform: translateY(0);transform: translateY(0);}
.no-js body:not(.home) #loading { display: none; }*/
/*loading*/

body #loading { background: #fff; display: block; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 100010; pointer-events: none; -webkit-transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; }

body #loading.is-animation { opacity: 0; }

/*loop*/
@keyframes loop {
    0% { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}
@keyframes loop2 {
    0% { transform: translateX(0); }
  to { transform: translateX(-200%); }
}

/*fade*/
.js-scroll-fade { opacity: 0; }

.js-scroll-fade.isActive { -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-animation-duration: 1.8s; animation-duration: 1.8s; -webkit-animation-name: fadeUp; animation-name: fadeUp; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }

@-webkit-keyframes fadeUp {
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; trfooter_logo_setansform: none; } 
}
@keyframes fadeUp { 
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; transform: none; } 
}

/*header*/
header { width: 30.0rem; }
header > .inner { padding: 6.8rem 0 4.0rem; box-sizing: border-box; background: rgba(255, 255, 255, 0.95); box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.25); position: relative; z-index: 2;}
body.home header > .inner  { min-height: 100vh; z-index: 4; }
.header_logo { width: 19.8rem; margin: 0 auto; }

.op_global_nav { display: none; }
.global_nav { margin-top: 3.0rem; }
.global_nav li { margin-top: 1.5rem; font-size: 2.3rem; font-weight: 500; line-height: 1.5; text-align: center; position: relative; }
.global_nav li a:before { content: ""; display: block; width: 100%; height: 3px; background: rgba(162, 140, 29, 0.30); position: absolute; left: 0; top: calc(50% -  1.5px); opacity: 0; -webkit-transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);  }
.global_nav li a:hover:before { opacity: 1; }
body.home .global_nav #nav01:before { opacity: 1; }

.header_catch { font-size: 1.4rem; font-weight: 500; color: #A3A3A3; line-height: 1.5; width: 20.0rem; margin: 3.0rem auto 0; }
.header_tel { display: flex; align-items: center; justify-content: center; margin-top: 2.0rem; }
.header_tel .num { margin-left: 0.8rem; font-weight: 500; font-size: 3.0rem; line-height: 1.0; }
.header_tel .ico { width: 1.4rem; }
.header_tel .ico img { line-height: 0; }
.header_time { width: 20.0rem; margin: 1.9rem auto 0; font-size: 1.6rem; font-weight: 500; line-height: 1.5; text-align: center; }

.btn_humberger_box { display: none; }

body.home .global_nav li a#nav01:before,
body.service .global_nav li a#nav02:before,
body.post-type-archive-works .global_nav li a#nav03:before,
body.tax-works_cat .global_nav li a#nav03:before,
body.single-works .global_nav li a#nav03:before,
body.post-type-archive-news .global_nav li a#nav04:before,
body.tax-news_cat .global_nav li a#nav04:before,
body.single-news .global_nav li a#nav04:before,
body.company .global_nav li a#nav05:before,
body.recruit .global_nav li a#nav06:before{ opacity: 1; }

@media screen and (max-width: 900px) {
    header { width: 15.0rem; margin-left: 6.7vw; }
    header > .inner { min-height: auto!important; padding: 2.3rem 0; background: rgba(255, 255, 255, 0.95); box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.25); }
    .header_logo { width: 10.0rem; margin: 0 auto; }

    .op_global_nav { display: block; opacity: 0; pointer-events: none; position: fixed; top: 0; right: 0; z-index: 9998; width: 45.0rem; height: 100vh; background: rgba(62, 58, 57, 0.98); -webkit-transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); overflow-y: scroll; scrollbar-width: none; -ms-overflow-style: none; }
    .op_global_nav::-webkit-scrollbar { display: none; }
    body.open .op_global_nav { opacity: 1; pointer-events: visible; }
    
    .global_nav,
    .header_catch,
    .header_tel,
    .header_time { display: none;  }
    
    .btn_humberger_box { display: block; position: fixed; right: 0; top: 0; z-index: 9999; }
    .btn_humberger_box .line { display: block; width: 7.0rem; height: 7.0rem; background: #A28C1D; position: relative; filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.25)); }
    .btn_humberger_box .line span { width: 3.0rem; height: 3px; background: #3E3A39; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); -webkit-transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .btn_humberger_box .line span:nth-child(1) { margin-top: -1.0rem; }
    .btn_humberger_box .line span:nth-child(2) { margin-top: 1.0rem; }
    body.open .btn_humberger_box .line span:nth-child(1) { margin-top: 0; -webkit-transform: translate(-50%,-50%) rotate(45deg); transform: translate(-50%,-50%) rotate(45deg); }
    body.open .btn_humberger_box .line span:nth-child(2) { margin-top: 0; -webkit-transform: translate(-50%,-50%) rotate(-45deg); transform: translate(-50%,-50%) rotate(-45deg); }
    .btn_humberger_box .txt { position: relative; height: 1.0em; margin-top: 0.6rem; font-size: 1.5rem; color: #fff; }
    .btn_humberger_box .txt span { position: absolute; left: 0; width: 100%; text-align: center; }
    .btn_humberger_box .txt .close { opacity: 0; }
}

/*top*/
.top_header { display: flex; }

.top_main { width: calc(100% - 30.0rem); position: relative; }
.top_main_ph .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.top_main_ph .catch { width: 29.9%; position: absolute; top: 50%; left: 20.54%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top_main_ph .catch .copy { width: 37.9%; position: absolute; bottom: 0; right: -55.62%; -webkit-transform: translateX(100%); transform: translateX(100%); }

.top_main_news { position: absolute; bottom: 0; display: flex; align-items: center; width: 100%; background: #fff; }
.top_main_news .hd { padding: 2.5rem 1.5rem; font-size: 1.4rem; background: #A28C1D; color: #fff; }
.top_main_news .post { padding: 0 2.0rem; font-size: 1.6rem; }

.top_about,
.top_service { position: relative; min-height: 100vh; z-index: 3; }
.top_service { margin-top: 0.5rem; }
.top_about_ph img,
.top_service_ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.top_common_txt { width: 45.0rem; padding: 19.4rem 0 19.4rem 45.35%; position: relative; }
.top_common_txt * { color: #fff; }
.top_common_txt .en { font-size: 1.4rem; }
.top_common_txt .ttl { font-size: 9.0rem; letter-spacing: 0; white-space: nowrap; }
.top_common_txt .txt { margin: 1.5rem 0 0 27.78%; }
.top_common_txt .link_more { margin-top: 2.0rem; }
.link_more a { font-size: 2.0rem; color: #fff; display: block; background: #A18C1E; text-align: center; position: relative; }
.link_more a .arrow { display: inline-block; width: 2.0rem; height: 2.0rem; border-radius: 50%; background: #3E3A39; position: absolute; top: 50%; right: 1.0rem; -webkit-transform: translateY(-50%); transform: translateY(-50%); overflow: hidden; }
.link_more a .arrow svg { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

.top_service2 { background: #EFEFEF; padding-bottom: 8.9rem; position: relative; z-index: 4;}
.top_service2_list { width: 100%; position: absolute; top: 0; z-index: 2; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top_service2_list ul { width: 57.14%; min-width: 70.0rem; margin: 0 auto; display: flex; justify-content: space-between; }
.top_service2_list li { width: 20%; }
.top_service2_list li img { width: 100%; }

.top_service2_set { position: relative; }
.top_service2_ph { position: absolute; right: 0; top: 0; width: 58.64%; }
.top_service2_ph img { width: 100%; }
.top_service2_txt { width: 35.71%; min-height: 57.85vw; box-sizing: border-box; margin-left: 14.28%; padding-top: 13.9rem; position: relative; z-index: 2; }
.top_service2_txt .en { font-size: 2.0rem; color: #A28C1D; }
.top_service2_txt .ttl { margin-top: 3.0rem; font-size: 5.0rem; line-height: 1.6; white-space: nowrap; }
.top_service2_txt .copy { width: 84%; margin-top: 4.5rem; }

.top_service2_area { width: 70%; margin: 3.0rem 0 0 14.28%; display: flex; justify-content: space-between; }
.top_service2_areatxt .ttl { font-size: 5.0rem; line-height: 1.6; white-space: nowrap; }
.top_service2_arealist { width: 45%; }
.top_service2_arealist ul { display: grid; grid-template-rows: repeat(2, 1fr); grid-template-columns: repeat(4, 1fr); column-gap: 1.3rem; row-gap: 2.4rem; }
.top_service2_arealist li { min-width: 5em; padding: 0.2rem 0; background: #3E3A39; position: relative; border-radius: 3.0rem; overflow: hidden; font-size: 1.7rem;  color: #fff; text-align: center; }
.top_service2_arealist li:before { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; left: 1.5rem; top: 0; -webkit-transform: translate(-100%,0%) rotate(30deg); transform: translate(-100%,0%) rotate(30deg); transform-origin: right top; background: #A28C1D; }
.top_service2_arealist li:after { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; right: 1.5rem; bottom: 0; -webkit-transform: translate(50%,50%) rotate(45deg); transform: translate(100%,0%) rotate(30deg); background: #A28C1D; transform-origin: left bottom; }
.top_service2_arealist li span { display: block; width: 100%; text-align: center; }
.top_service2_arealist .notes { font-size: 1.7rem; margin-top: 1.5rem; }

.top_service2 .link_more { width: 30.0rem; margin: 7.5rem auto 0; }

.common_hd .ttl { display: flex; align-items: center; white-space: nowrap; font-size: 2.5rem; }
.common_hd .ttl:before { content: ""; display: block; width: 50%; height: 0.5rem; margin-right: 1.8rem; background: #A28C1D; }
.common_hd .ttl:after { content: ""; display: block; width: 50%; height: 0.5rem; margin-left: 1.8rem; background: #A28C1D; }
.common_hd .en { font-size: 1.5rem; line-height: 1.5; text-align: center; color: #A28C1D; }

.top_works { margin-top: 11.0rem; }

.works_archive_list { width: 64.28%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.works_archive_item { width: 44.44%; margin-top: 8.0rem; }
.works_archive_item .ph { position: relative; }
.works_archive_item .ph > div { padding-bottom: 75%; position: relative; overflow: hidden; }
.works_archive_item .ph > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.works_archive_item .ph .cat { font-size: 1.4rem; color: #fff; background: #A18C1E; padding: 0.5rem 2.2rem; position: absolute; right: -2.0rem; top: -2.0rem; }
.works_archive_item .ph .cat._newscat { background: #3E3A39; }
.works_archive_item .date { font-size: 1.2rem; color: #808080; margin-top: 1.5rem; }
.works_archive_item .ttl { font-size: 1.8rem; line-height: 1.5; margin-top: 1.5rem; }
.works_archive_item p { font-size: 1.4rem; line-height: 1.5; margin-top: 1.5rem; }
.top_works .link_more { width: 30.0rem; margin: 7.5rem auto 0; }
.archive_body .nopost { text-align: center; }

.top_contact { margin-top: 16.0rem; }
.top_contact p { margin-top: 1.5rem;  font-size: 1.4rem; text-align: center; }

footer { background: #3E3A39; padding-bottom: 2.2rem; }

.footer_tel { margin-top: 6.0rem; padding: 3.0rem 0; background: #3E3A39; }
.footer_tel * { color: #fff; }
.footer_tel .tel { display: flex; justify-content: center; align-items: center; }
.footer_tel .tel .num { font-size: 4.5rem; line-height: 1; margin-left: 0.9rem; }
.footer_tel .notes { font-size: 1.6rem; text-align: center; }

.footer_contact { background: #CDCDCD; padding: 23.0rem 0; }
.footer_contact > .inner { display: flex; justify-content: space-between; width: 71.42%; margin: 0 auto; }
.footer_contact_form { width: 50%; }
.footer_contact_access { width: 45%; }
.footer_contact_form { position: relative; }
.footer_contact_form .notes { font-size: 1.2rem; padding-left: 1.2rem; position: absolute; top: -1.0rem; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
.form_item + .form_item { margin-top: 3.0rem; }
.form_btn {  width: 100%; position: absolute; bottom: -3.0rem; -webkit-transform: translateY(100%); transform: translateY(100%);  }
.form_btn input { display: block; width: 100%; padding: 1.0rem 0; font-size: 1.2rem; line-height: 1.5; background: #333; color: #fff; }

.footer_contact_access { display: flex; flex-direction: column; position: relative; }
.footer_contact_access address { font-size: 1.8rem; line-height: 1.5; }
.footer_contact_access .googlemap { margin-top: 3.0rem; flex-grow: 2; }
.footer_contact_access .googlemap iframe { width: 100%; height: 100%; }
.footer_contact_access .btn {  width: 100%; position: absolute; bottom: -3.0rem; -webkit-transform: translateY(100%); transform: translateY(100%);  }
.footer_contact_access .btn a { display: block; width: 100%; padding: 1.0rem 0; font-size: 1.2rem; line-height: 1.5; background: #333; color: #fff; text-align: center; }

.footer_function * { color: #fff; }
.footer_business * { color: #fff; }

.footer_function { margin-top: 15.0rem;  padding: 10.8rem 0 5.9rem; }
.footer_contact + .footer_function { margin-top: 0; }
.footer_function .inner{ display: flex; }
.footer_function_logo { margin-left: 4.28%; width: 12.50rem; }
.footer_function_nav { display: flex; width: 68.85%; margin-left: 6.07%; }
.footer_function_nav .nav { display: flex; flex-wrap: wrap; margin-left: 7.03%; }
.footer_function_nav .nav_item { width: 19.20%; margin: 0 0 6.3rem 6.39%; }
.footer_function_nav .nav_item:nth-child(4n + 1) { margin-left: 0; }
.footer_function_nav .hd { font-size: 1.2rem; }
.footer_function_nav .ja { font-size: 3.0rem; line-height: 1.5; }
.footer_function_nav .en { font-size: 1.2rem; color: #A28C1D; }
.footer_function_nav ul { margin-top: 1.0rem;}
.footer_function_nav li { font-size: 1.4rem; }
.footer_function_nav li a { padding-left: 0.5rem; position: relative; }
.footer_function_nav li a:before { color: #fff; content: "-"; display: inline-block; position: absolute; left: 0; }

.footer_business { width: 65%; margin: 0 auto; padding: 2.0rem 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff; } 
.footer_business > .inner { display: flex; align-items: center; }
.footer_business .hd { font-size: 1.2rem; color: #A28C1D; }
.footer_business .name { font-size: 2.0rem; line-height: 1.5; margin-left: 3.4%; }
.footer_business .area { font-size: 1.4rem; line-height: 1.5; margin-left: 12.41%; flex-grow: 2; }
.footer_business .link { margin-right: 5.38%; }
.footer_business .link a { font-size: 1.2rem; color: #A28C1D; }

.footer_copyrights { font-size: 1.2rem; color: #fff; margin: 2.2rem 0 0 2.07%; }

.pagetop a { display: flex; width: 7.0rem; height: 7.0rem; position: fixed; right: 0; bottom: 0; background: #A28C1D; opacity: 0; pointer-events: none; -webkit-transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
.pagetop.set a { opacity: 1; pointer-events: visible; }
.pagetop svg { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }


@media screen and (max-width: 900px) {
    .top_header { display: block; }
    .top_header header { position: absolute; z-index: 10; }

    .top_main { width: 100%; height: 100vh; position: relative; }
.top_main_ph .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
    .top_main_ph .catch { width: 51.56%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    .top_main_ph .catch .copy { width: 37.9%; margin-top: 2.95rem; position: relative; bottom: 0; right: auto; -webkit-transform: translateX(0%); transform: translateX(0%); }

.top_about,
.top_service { position: relative; min-height: 100vh; }
    .top_service { margin-top: 0.5rem; }
.top_about_ph img,
.top_service_ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
    .top_common_txt { width: 70.31%; padding: 0; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.top_common_txt * { color: #fff; }
.top_common_txt .en { font-size: 1.4rem; }
    .top_common_txt .ttl { font-size: 7.0rem; letter-spacing: 0; white-space: nowrap; }
.top_common_txt .txt { margin: 1.5rem 0 0 27.78%; }
.top_common_txt .link_more { margin-top: 2.0rem; }
.link_more a { font-size: 2.0rem; color: #fff; display: block; background: #A18C1E; text-align: center; position: relative; }
.link_more a .arrow { display: inline-block; width: 2.0rem; height: 2.0rem; border-radius: 50%; background: #3E3A39; position: absolute; top: 50%; right: 1.0rem; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.link_more a .arrow svg { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    
    .top_service2 { background: #EFEFEF; padding-bottom: 7.3rem; }
    .top_service2_list { width: 100%; margin: 0 auto; position: relative; top: 0; z-index: 2; -webkit-transform: translateY(-25%); transform: translateY(-25%); }
    .top_service2_list ul { width: 53.12%; min-width: auto; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
    .top_service2_list li { width: 47.05%; margin-bottom: 2.95%; }
.top_service2_list li img { width: 100%; }

.top_service2_set { position: relative; }
    .top_service2_ph { position: relative; right: 0; top: 0; width: 100%; margin-top: 5.0rem; }
.top_service2_ph img { width: 100%; }
    .top_service2_txt { width: 74.06%; min-height: auto; box-sizing: border-box; margin: 0 auto; padding-top: 0; }
.top_service2_txt .en { font-size: 2.0rem; color: #A28C1D; }
    .top_service2_txt .ttl { margin-top: 3.0rem; font-size: 3.7rem; line-height: 1.6; white-space: nowrap; }
    .top_service2_txt .copy { width: auto; margin-top: 4.5rem; }

    .top_service2_area { width: 69.06%; margin: 3.0rem auto 0; display: flex; justify-content: space-between; }
    .top_service2_areatxt .ttl { font-size: 3.2rem; line-height: 1.4; white-space: nowrap; position: absolute; top: -10px; left: 11.71%; }
    .top_service2_arealist { width: 100%; }
.top_service2_arealist ul { display: grid; grid-template-rows: repeat(2, 1fr); grid-template-columns: repeat(4, 1fr); grid-auto-flow: column; column-gap: 1.0rem; row-gap: 1.0rem; }
.top_service2_arealist li { min-width: 5em; padding: 0.2rem 0; background: #3E3A39; position: relative; border-radius: 3.0rem; overflow: hidden; font-size: 1.7rem;  color: #fff; text-align: center; }
.top_service2_arealist li:before { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; left: 1.5rem; top: 0; -webkit-transform: translate(-100%,0%) rotate(30deg); transform: translate(-100%,0%) rotate(30deg); transform-origin: right top; background: #A28C1D; }
.top_service2_arealist li:after { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; right: 1.5rem; bottom: 0; -webkit-transform: translate(50%,50%) rotate(45deg); transform: translate(100%,0%) rotate(30deg); background: #A28C1D; transform-origin: left bottom; }
.top_service2_arealist li span { display: block;  width: 100%; text-align: center; }
.top_service2_arealist .notes { font-size: 1.7rem; margin-top: 1.5rem; }

.top_service2 .link_more { width: 30.0rem; margin: 7.5rem auto 0; }

.common_hd .ttl { display: flex; align-items: center; white-space: nowrap; font-size: 2.5rem; }
.common_hd .ttl:before { content: ""; display: block; width: 50%; height: 0.5rem; margin-right: 1.8rem; background: #A28C1D; }
.common_hd .ttl:after { content: ""; display: block; width: 50%; height: 0.5rem; margin-left: 1.8rem; background: #A28C1D; }
.common_hd .en { font-size: 1.5rem; line-height: 1.5; text-align: center; color: #A28C1D; }

.top_works { margin-top: 11.0rem; }

    .works_archive_list { width: 65.62%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.works_archive_item { width: 44.44%; margin-top: 8.0rem; }
.works_archive_item .ph { position: relative; }
.works_archive_item .ph .cat { font-size: 1.4rem; color: #fff; background: #A18C1E; padding: 0.5rem 2.2rem; position: absolute; right: -2.0rem; top: -2.0rem; }
.works_archive_item .date { font-size: 1.2rem; color: #808080; margin-top: 1.5rem; }
.works_archive_item .ttl { font-size: 1.8rem; line-height: 1.5; margin-top: 1.5rem; }
.works_archive_item p { font-size: 1.4rem; line-height: 1.5; margin-top: 1.5rem; }
.top_works .link_more { width: 30.0rem; margin: 7.5rem auto 0; }

.top_contact { margin-top: 16.0rem; }
.top_contact p { margin-top: 1.5rem;  font-size: 1.4rem; text-align: center; }

footer { background: #3E3A39; padding-bottom: 2.2rem; }

.footer_tel { margin-top: 6.0rem; padding: 3.0rem 0; background: #3E3A39; }
.footer_tel * { color: #fff; }
.footer_tel .tel { display: flex; justify-content: center; align-items: center; }
.footer_tel .tel .num { font-size: 4.5rem; line-height: 1; margin-left: 0.9rem; }
.footer_tel .notes { font-size: 1.6rem; text-align: center; }

    .footer_contact { background: #CDCDCD; padding: 6.0rem 0 7.5rem; }
    .footer_contact .inner { display: block; justify-content: space-between; width: auto; margin: 0 auto; }
    .footer_contact_form { width: 78.12%; margin: 0 auto; }
.footer_contact_access { width: 70.31%; margin: 0 auto; }
.footer_contact_form { position: relative; }
    .footer_contact_form .notes { font-size: 1.2rem; padding-left: 1.2rem; position: relative; top: auto; -webkit-transform: translateY(0%); transform: translateY(0%); }
.form_item + .form_item { margin-top: 3.0rem; }
    .form_btn { width: 100%; margin-top: 2.5rem; position: relative; bottom: auto; -webkit-transform: translateY(0%); transform: translateY(0%);  }
.form_btn input { display: block; width: 100%; padding: 1.0rem 0; font-size: 1.2rem; line-height: 1.5; background: #333; color: #fff; }

    .footer_contact_access { margin-top: 2.5rem; display: flex; flex-direction: column; position: relative; }
.footer_contact_access address { font-size: 1.8rem; line-height: 1.5; }
    .footer_contact_access .googlemap { margin-top: 3.0rem; padding-bottom: 100%; flex-grow: 2; position: relative; }
    .footer_contact_access .googlemap iframe { width: 100%; height: 100%; object-fit: cover; position: absolute; }
    .footer_contact_access .btn { width: 100%; margin-top: 2.5rem; position: relative; bottom: auto; -webkit-transform: translateY(0%); transform: translateY(0%);  }
.footer_contact_access .btn a { display: block; width: 100%; padding: 1.0rem 0; font-size: 1.2rem; line-height: 1.5; background: #333; color: #fff; text-align: center; }

.footer_function * { color: #fff; }
.footer_business * { color: #fff; }

    .footer_function { margin-top: 8.0rem;  padding: 5.0rem 0 0; }
.footer_contact + .footer_function { margin-top: 0; }
    .footer_function .inner{ display: block; }
    .footer_function_logo { margin: 0 auto; width: 17.50rem; }
    .footer_function_nav { display: block; width: 73.04%; max-width: 46.5rem; margin: 3.0rem auto; }
    .footer_function_nav .nav { display: grid; grid-template-rows: repeat(4, 1fr); grid-template-columns: repeat(2, 1fr); grid-auto-flow: column; column-gap: 3.0rem; row-gap: 3.0rem; margin-left: 0; }
    .footer_function_nav .nav_item { display: flex; align-items: center; width: 100%; margin: 0; padding-left: 0; }
.footer_function_nav .nav_item:nth-child(4n + 1) { margin-left: 0; }
.footer_function_nav .hd { display: none; }
    .footer_function_nav .ja { width: 5.0em; font-size: 2.0rem; line-height: 1.5; }
    .footer_function_nav .en { font-size: 1.2rem; color: #A28C1D; padding-left: 5%; }
    .footer_function_nav ul { display: none; }
    
    .op_global_nav .footer_function { margin-top: 0; padding: 13.0rem 0 0;  }
    .op_global_nav .footer_function_nav .nav { display: block; margin-bottom: 7.0rem; }
    .op_global_nav .footer_function_nav .nav_item { margin-bottom: 3.0rem; }
    .op_global_nav .footer_function_nav .ja { width: 50%; padding-left: 5%; box-sizing: border-box; font-size: 2.5rem; line-height: 1.5; }
    .op_global_nav .footer_business { border-bottom: none; }

    .footer_business { width: 78.12%; margin: 0 auto; padding: 2.5rem 0 1.0rem; border-top: 1px solid #fff; border-bottom: 1px solid #fff; } 
    .footer_business > .inner { display: block; }
.footer_business .hd { font-size: 1.2rem; color: #A28C1D; }
    .footer_business .area { font-size: 1.4rem; line-height: 1.5; text-align: center; margin-left: auto; flex-grow: 2; }
.footer_business .link { margin-right: 5.38%; }
.footer_business .link a { font-size: 1.2rem; color: #A28C1D; }
    .footer_business .address { font-size: 1.4rem; text-align: center; }
    .footer_business .footer_tel { margin-top: auto; }
    .footer_business .footer_tel .tel { margin-bottom: 1.5rem; }
    .footer_business .footer_tel .tel .num { font-size: 3.0rem; }
    .footer_business .footer_tel .tel .ico { width: 1.4rem; }
    
    .footer_sns { width: 78.12%; margin: 0 auto; padding: 3.9rem 0 4.5rem; border-top: 1px solid #fff; }
    .footer_sns > .inner { display: flex; justify-content: center; }
    .footer_sns .item a { display: flex; align-items: center; }
    .footer_sns .item + .item { margin-left: 5.0rem; }
    .footer_sns .item .txt { font-size: 1.5rem; color: #fff; }
    .footer_sns .item .ico { width: 5.0rem; height: 5.0rem; margin-right: 2.0rem; border: 1px solid #fff; border-radius: 50%; position: relative; }
    .footer_sns .item .ico img { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

    .footer_copyrights { font-size: 1.2rem; color: #fff; text-align: center; margin: 3.0rem 0 0; }

.pagetop a { display: flex; width: 7.0rem; height: 7.0rem; position: fixed; right: 0; bottom: 0; background: #A28C1D; z-index: 10; }
.pagetop svg { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

}

@media screen and (max-width: 767px) { 
    .works_archive_item { width: 100%; margin-top: 8.0rem; }
}

/*common*/
.page_header { position: absolute; z-index: 3; }
.page_ttl { height: 50.0rem; position: relative; }
.page_ttl .txt { position: absolute; top: 50%; left: 0; z-index: 2; width: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); text-align: center; }
.page_ttl .ttl { font-size: 5.0rem; color: #fff; }
.page_ttl .en { font-size: 2.0rem; color: #fff; }
.page_ttl .ph { height: 50.0rem; position: relative; }
.page_ttl .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }

.page_nav { width: 42.85%; margin: -10.0rem auto 0; border-left: 5px solid #A28C1D; background: #fff; border-right: 5px solid #A28C1D; position: relative; z-index: 2; }
.page_nav .inner { padding: 12.5%; }
.page_nav .hd { font-size: 2.0rem; text-align: center; }
.mokuji_list { margin-top: 4.0rem; border-top: 1px dotted #808080; }
.mokuji_list li { font-size: 2.0rem; border-bottom: 1px dotted #808080; }
.mokuji_list li a { display: block; position: relative; padding: 1.0rem 0; }
.mokuji_list li a:before { content: "・"; color: #A28C1D; display: inline-block; }
.mokuji_list li a:after { content: ""; display: block; width: 2.0rem; height: 1.3rem; background: url("../img/arrow_pagenav.svg") no-repeat; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.page_nav + section .common_hd { margin-top: -1.7rem; position: relative; z-index: 2; }


@media screen and (max-width: 900px) { 
.page_header { position: absolute; z-index: 2; }
.page_ttl { height: 50.0rem; position: relative; }
    .page_ttl .ph img { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
    .page_ttl .txt { position: absolute; top: 50%; left: 0; width: 100%; -webkit-transform: translateY(-50%); transform: translateY(-50%); text-align: center; z-index: 2; }
.page_ttl .ttl { font-size: 5.0rem; color: #fff; }
.page_ttl .en { font-size: 2.0rem; color: #fff; }

    .page_nav { width: 93.75%; margin: -10.0rem auto 0; border-left: 5px solid #A28C1D; background: #fff; border-right: 5px solid #A28C1D; position: relative; z-index: 2; }
    .page_nav .inner { padding: 3.5rem 12.5% 7.0rem; }
.page_nav .hd { font-size: 2.0rem; text-align: center; }
.mokuji_list { margin-top: 4.0rem; border-top: 1px dotted #808080; }
.mokuji_list li { font-size: 2.0rem; border-bottom: 1px dotted #808080; }
.mokuji_list li a { display: block; position: relative; padding: 1.0rem 0; }
.mokuji_list li a:before { content: "・"; color: #A28C1D; display: inline-block; }
.mokuji_list li a:after { content: ""; display: block; width: 2.0rem; height: 1.3rem; background: url("../img/arrow_pagenav.svg") no-repeat; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

.page_nav + section .common_hd { margin-top: -1.7rem; position: relative; z-index: 2; }
}

/*service*/
.service_point_item { display: flex; justify-content: space-between; margin-top: 20.0rem; }
.service_point_item:nth-child(2n + 1) { margin-left: 25.92%; flex-direction: row-reverse; }
.service_point_item:nth-child(2n) { margin-right: 25.92%; }
.service_point_item .ph { width: 57.85%; position: relative; }
.service_point_item .txt { width: 38.57% }
.service_point_item .txt .ttl { margin: -1.0em 0 0; font-size: 9.0rem; line-height: 1.45; color: #A28C1D; white-space: nowrap; position: relative; z-index: 2; }
.service_point_item:nth-child(2n + 1) .txt .ttl { margin-left: -6.0rem; }
.service_point_item .txt p { margin-top: 1.5rem; }
.service_point_item .ph .num { width: 21.429rem; height: 10rem; position: absolute; top: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.service_point_item:nth-child(2n + 1) .ph .num { right: 1.3rem; }
.service_point_item:nth-child(2n) .ph .num { left: 1.3rem; }
.service_point_item .ph .num .num_txt { font-size: 2.0rem; color: #fff; line-height: 1; position: absolute; text-align: center; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
.service_point_item .ph .num .num_txt b { font-size: 5.0rem; display: block; }
.service_point_item .ph .num .bg { }
.service_point_item .ph .num .bg svg { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.service_point_item figcaption { font-size: 1.4rem; }

.service_type { margin-top: 11.0rem; }
.service_type > .inner { width: 71.42%; margin: 9.0rem auto 0; }
.service_type_read { font-size: 9.0rem; color: #A28C1D; line-height: 1.5; }
.service_type_list { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 5.0rem; row-gap: 8.0rem; margin-top: 5.9rem; }
.service_type_item .ttl { font-size: 3.5rem; line-height: 1.5; margin: 2.0rem 0 1.0rem; }
.service_type_paint .ttl { font-size: 3.5rem; text-align: center; line-height: 1.5; margin: 6.0rem 0 3.0rem; }
.service_type_orignal { display: flex; justify-content: space-between; margin-top: 6.0rem; }
.service_type_orignal .ph { width: 30%; }
.service_type_orignal .txt { width: 65%; }
.service_type_orignal .txt .ttl { font-size: 3.5rem; }

.service_paint_item { width: 100%; align-items: center; border-bottom: 1px solid #333; }
.service_paint_item td { border-top: 1px solid #333; border-bottom: 1px solid #333; vertical-align: middle; }
.service_paint_item .img { min-width: 7.6rem; width: 7.6rem; padding: 1.2rem 7.8rem 1.2rem 1.2rem; }
.service_paint_item .year { min-width: 16.0rem; margin-left: 6.6rem; font-size: 3.5rem; font-weight: 700; position: relative; }
.service_paint_item .year small { font-size: 2.0rem; }
.service_paint_item .price { min-width: 5.0rem; padding: 0 5.0rem; font-size: 5.0rem; font-weight: 700; position: relative; }
.service_paint_item .detail { padding: 1.2rem 0; font-size: 1.4rem; line-height: 1.6;    white-space: nowrap; }
.service_paint_item .hd { width: 9.0rem; background: #3E3A39; font-size: 1.2rem; color: #fff; text-align: center; position: absolute; left: 50%; top: 0; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); border-radius: 3.0rem; }

.service_detail { margin-top: 10.0rem; }
.service_detail > .inner { width: 71.42%; margin: 0 auto;}
.service_detail_list { margin-top: 10.0rem; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto; column-gap: 5%; row-gap: 10.0rem; }
.service_detail_item._main { display: flex; justify-content: space-between; grid-column: span 3; }
.service_detail_item._main .ph { width: 60%; }
.service_detail_item .ph { position: relative; }
.service_detail_item._main .txt { width: 30%; align-self: flex-end; }
.service_detail_item._main .ph .ico { width: 16.0rem; position: absolute; left: -2.0rem; top: -3.0rem; }
.service_detail_item:not(._main) .ph .ico { width: 10.0rem; position: absolute; left: -2.0rem; top: -2.0rem; }
.service_detail_item .ttl { font-size: 3.5rem; line-height: 1.5; margin: 3.0rem 0 1.5rem; }
.service_detail_item._main .ttl { margin-top: 0; }
.service_detail_item .ttl .num { color: #A28C1D; }

.service_detail_catitem { margin-top: 5.0rem; }
.service_detail_catitem ul { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: auto auto; column-gap: 2.73%; row-gap: 1.0rem; margin-top: 2.0rem; }
.service_detail_catitem li { padding: 0.5rem 0; background: #3E3A39; position: relative; border-radius: 3.0rem; overflow: hidden; font-size: 1.7rem;  color: #fff; text-align: center; }
.service_detail_catitem li:before { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; left: 1.5rem; top: 0; -webkit-transform: translate(-100%,0%) rotate(30deg); transform: translate(-100%,0%) rotate(30deg); transform-origin: right top; background: #A28C1D; }
.service_detail_catitem li:after { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; right: 1.5rem; bottom: 0; -webkit-transform: translate(50%,50%) rotate(45deg); transform: translate(100%,0%) rotate(30deg); background: #A28C1D; transform-origin: left bottom; }
.service_detail_catitem .ttl { padding-bottom: 2.0rem; font-size: 3.5rem; line-height: 1.5; border-bottom: 1px solid #333; }

.service_flow  { margin-top: 10.0rem; }
.service_flow > .inner { width: 51%; margin: 8.3rem auto 0; }
.service_flow_item { display: flex; }
.service_flow_item .ph { width: 21.0%; position: relative; }
.service_flow_item .ph:before { content: ""; display: block; width: 3px; height: 100%; position: absolute; left: 50%; top: 0; background: #A28C1D; }
.service_flow_item:last-child .ph:before { display: none; }
.service_flow_item .ph img { border-radius: 50%; position: relative; z-index: 2; }
.service_flow_item .txt { width: 79.0%; margin-top: 8.5%; padding-bottom: 4.5rem; position: relative; z-index: 3; }
.service_flow_item .ttl { width: 106.38%; padding: 0.5rem 0; margin: 0 0 1.5rem -6.38%; background: #3E3A39; font-size: 1.4rem; color: #fff; text-align: center;border-radius: 3.0rem 0 0 3.0rem; position: relative; }
.service_flow_item .ttl._pickup { background: #A28C1D; }
.service_flow_item .ttl .num { position: absolute; left: 0.5rem; }
.service_flow .notes { margin-top: 9.0rem; }

@media screen and (max-width: 900px) { 
    .service_point_item { display: flex; flex-direction: column-reverse; width: 78.12%; margin: 2.0rem auto 0; }
    .service_point_item + .service_point_item { margin-top: 6.4rem; }
    .service_point_item:nth-child(2n + 1) { margin-left: auto; flex-direction: column-reverse; }
    .service_point_item:nth-child(2n) { margin-right: auto; }
    .service_point_item .ph { width: auto; margin-top: 7.0rem; position: relative; }
    .service_point_item .txt { width: auto; }
    .service_point_item .txt .ttl { margin: 0; font-size: 7.0rem; line-height: 1.45; color: #A28C1D; white-space: nowrap; position: relative; z-index: 2; }
    .service_point_item:nth-child(2n + 1) .txt .ttl { margin-left: auto; }
    .service_point_item .txt p { margin-top: 3.0rem; }
    .service_point_item .ph .num { width: 21.429rem; height: 10rem; position: absolute; top: -2.0rem; right: -2.0rem; -webkit-transform: translateY(0%); transform: translateY(0%); }
    .service_point_item:nth-child(2n + 1) .ph .num { right: -2.0rem; }
    .service_point_item:nth-child(2n) .ph .num { left: auto; }
    .service_point_item .ph .num .num_txt { font-size: 2.0rem; color: #fff; line-height: 1; position: absolute; text-align: center; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
.service_point_item .ph .num .num_txt b { font-size: 5.0rem; display: block; }
    .service_point_item .ph .num .bg svg { width: 100; height: 100%; object-fit: contain; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    .service_point_item figcaption { margin-top: 0.8rem; font-size: 1.4rem; text-align: right; }

.service_type { margin-top: 11.0rem; }
    .service_type > .inner { width: 82.81%; margin: 0.5rem auto 0; }
    .service_type_read { font-size: 7.0rem; color: #A28C1D; line-height: 1.45; margin-bottom: 2.5rem; }
    .service_type_list { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 3.0rem; row-gap: 3.0rem; margin-top: 2.5rem; }
    .service_type_item .ttl { font-size: 3.0rem; line-height: 1.5; margin: 2.0rem 0 1.0rem; }
    .service_type_paint .ttl { font-size: 3.5rem; text-align: center; line-height: 1.5; margin: 5.0rem 0; }
    .service_type_paint .service_paint_list { width: 120.74%; margin-left: -10.37%; padding: 1.5rem 10.37% 0; }
    
    .service_type_paint .service_paint_list { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-right: -20px; padding-right: 20px; }
    .service_type_paint .service_paint_list::-webkit-scrollbar { display: none; }
    
    .service_type_orignal { display: block; justify-content: space-between; margin-top: 10.0rem; }
    .service_type_orignal .ph { width: auto; }
    .service_type_orignal .ph  img { width: 100%;}
    .service_type_orignal .txt { width: auto; }
    .service_type_orignal .txt .ttl { margin: 2.0rem 0 2.5rem; font-size: 3.5rem; }

    .service_paint_item { display: block; min-width: 800px; width: 100%; align-items: center; border-bottom: none; }
.service_paint_item td { border-top: 1px solid #333; border-bottom: 1px solid #333; vertical-align: middle; }
.service_paint_item .img { min-width: 7.6rem; width: 7.6rem; padding: 1.2rem 7.8rem 1.2rem 1.2rem; }
.service_paint_item .year { min-width: 16.0rem; margin-left: 6.6rem; font-size: 3.5rem; font-weight: 700; position: relative; }
.service_paint_item .year small { font-size: 2.0rem; }
.service_paint_item .price { min-width: 5.0rem; padding: 0 5.0rem; font-size: 5.0rem; font-weight: 700; position: relative; }
.service_paint_item .detail { padding: 1.2rem 0; font-size: 1.4rem; line-height: 1.6;    white-space: nowrap; }
.service_paint_item .hd { width: 9.0rem; background: #3E3A39; font-size: 1.2rem; color: #fff; text-align: center; position: absolute; left: 50%; top: 0; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); border-radius: 3.0rem; }

    .service_detail { margin-top: 8.5rem; }
    .service_detail > .inner { width: 82.81%; margin: 0 auto;}
    .service_detail_list { margin-top: 5.0rem; display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto; column-gap: 5%; row-gap: 4.4rem; }
    .service_detail_item._main { display: block; margin: 0 2.83%; grid-column: span 2; }
    .service_detail_item._main .ph { width: auto; }
.service_detail_item .ph { position: relative; }
    .service_detail_item._main .txt { width: auto; align-self: flex-end; }
    .service_detail_item._main .ph .ico { width: 16.0rem; position: absolute; left: -5.0rem; top: -3.0rem; }
.service_detail_item:not(._main) .ph .ico { width: 10.0rem; position: absolute; left: -2.0rem; top: -2.0rem; }
.service_detail_item .ttl { font-size: 3.5rem; line-height: 1.5; margin: 3.0rem 0 1.5rem; }
    .service_detail_item._main .ttl { margin-top: 3.0rem; }
.service_detail_item .ttl .num { color: #A28C1D; }

.service_detail_catitem { margin-top: 5.0rem; }
    .service_detail_catitem ul { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto; column-gap: 2.83rem; row-gap: 1.0rem; margin-top: 2.0rem; }
.service_detail_catitem li { padding: 0.5rem 0; background: #3E3A39; position: relative; border-radius: 3.0rem; overflow: hidden; font-size: 1.7rem;  color: #fff; text-align: center; }
.service_detail_catitem li:before { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; left: 1.5rem; top: 0; -webkit-transform: translate(-100%,0%) rotate(30deg); transform: translate(-100%,0%) rotate(30deg); transform-origin: right top; background: #A28C1D; }
.service_detail_catitem li:after { content: ""; display: block; width: 7.0rem; height: 7.0rem; position: absolute; right: 1.5rem; bottom: 0; -webkit-transform: translate(50%,50%) rotate(45deg); transform: translate(100%,0%) rotate(30deg); background: #A28C1D; transform-origin: left bottom; }
.service_detail_catitem .ttl { padding-bottom: 2.0rem; font-size: 3.5rem; line-height: 1.5; border-bottom: 1px solid #333; }

.service_flow  { margin-top: 10.0rem; }
    .service_flow > .inner { width: 94.37%; margin: 8.3rem 0 0 -1.71%; }
.service_flow_item { display: flex; }
    .service_flow_item .ph { width: 25%; position: relative; }
.service_flow_item .ph:before { content: ""; display: block; width: 3px; height: 100%; position: absolute; left: 50%; top: 0; background: #A28C1D; }
.service_flow_item:last-child .ph:before { display: none; }
.service_flow_item .ph img { border-radius: 50%; position: relative; z-index: 2; }
    .service_flow_item .txt { width: 75.0%; margin-top: 10.5%; padding-bottom: 1.5rem; position: relative; z-index: 3; }
    .service_flow_item .ttl { width: 106.38%; padding: 0.5rem 0; margin: 0 0 1.5rem -6.38%; background: #3E3A39; font-size: 1.4rem; color: #fff; text-align: center;border-radius: 0; position: relative; }
.service_flow_item .ttl._pickup { background: #A28C1D; }
    .service_flow_item .ttl .num { font-size: 2.0rem; line-height: 1.0; position: absolute; left: 0.5rem; }
    .service_flow .notes { width: 81.25%; margin: 8.0rem auto 0; }
    
}

/*archive*/
._lineTop { border-top: 5px solid #A28C1D; }
.archive_body { padding-top: 2.5rem; }
.archive_list { margin-top: 3.6rem; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto; column-gap: 10.52%; row-gap: 2.9rem; }
.archive_list li a { display: block; padding: 0.5rem 0; font-size: 1.4rem; color: #fff; text-align: center; background: #A18C1E; }
.archive_list._newscat li a { background: #3E3A39; }

.wp-pagenavi { display: flex; justify-content: center; margin-top: 8.0rem; }
.wp-pagenavi .prev.page-numbers,
.wp-pagenavi .next.page-numbers { width: 3.0rem; height: 3.0rem; margin: 0 1.15rem; background: #3E3A39; color: #fff; text-align: center; border-radius: 50%; } 
.wp-pagenavi .page-numbers:not(.prev):not(.next),
.wp-pagenavi .current { width: 3.0rem; height: 3.0rem; padding: 0.3rem 0; margin: 0 1.15rem; border: 1px solid #3E3A39; font-size: 1.4rem; line-height: 1.5; box-sizing: border-box; text-align: center; border-radius: 50%; } 
.wp-pagenavi .extend { margin: 0 1.15rem; }

@media screen and (max-width: 900px) { 
._lineTop { border-top: 5px solid #A28C1D; }
.archive_body { padding-top: 2.5rem; }
.archive_list { margin-top: 3.6rem; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto; column-gap: 10.52%; row-gap: 2.9rem; }
.archive_list li a { padding: 0.5rem 0; font-size: 1.4rem; color: #fff; text-align: center; background: #A18C1E; }

.wp-pagenavi { display: flex; justify-content: center; margin-top: 8.0rem; }
.wp-pagenavi .prev.page-numbers,
.wp-pagenavi .next.page-numbers { width: 3.0rem; height: 3.0rem; margin: 0 1.15rem; background: #3E3A39; color: #fff; text-align: center; border-radius: 50%; } 
    .wp-pagenavi .prev.page-numbers svg,
    .wp-pagenavi .next.page-numbers svg { width: 0.6rem; line-height: 0; }
.wp-pagenavi .page-numbers:not(.prev):not(.next),
.wp-pagenavi .current { width: 3.0rem; height: 3.0rem; padding: 0.3rem 0; margin: 0 1.15rem; border: 1px solid #3E3A39; font-size: 1.4rem; line-height: 1.5; box-sizing: border-box; text-align: center; border-radius: 50%; } 
.wp-pagenavi .extend { margin: 0 1.15rem; }
    
}

/*single*/
.single_body > .inner { width: 57.14%; margin: 0 auto; padding-top: 27.5rem; }
.single_head { display: flex; justify-content: space-between; align-items: flex-end; }
.single_head .date { font-size: 1.2rem; color: #808080; }
.single_head .ttl { font-size: 2.4rem; }
.single_head .cat { min-width: 10.0rem; }
.single_head .cat a { display: block; padding: 0.5rem 0; font-size: 1.4rem; color: #fff; text-align: center; background: #A18C1E; }
.single_head .cat._newscat a { background: #3E3A39; }
.single_main { margin-top: 2.0rem; }
.single_main > * + * { margin-top: 2.0rem; }
.single_main > * + figure { margin-top: 7.0rem; }
.single_body .btn_index a { display: block; width: 30.0rem; margin: 11.0rem auto 0; padding: 0.8rem 0; font-size: 2.0rem; line-height: 1.0; text-align: center; color: #fff; background: #A28C1D; position: relative; }
.single_body .btn_index a .arrow { display: block; width: 2.0rem; height: 2.0rem; line-height: 0.8; background: #3E3A39; border-radius: 50%; position: absolute; right: 1.0rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.single_body .btn_index a svg { line-height: 0; }

.single_body ul { margin-left: 2em; }
.single_body ul li { font-size: 1.6rem; list-style: disc; }
.single_body ol { margin-left: 2em; }
.single_body ol li { font-size: 1.6rem; list-style: decimal; }

.post_recommend { margin-top: 14.5rem; }
.post_recommend .recommend_works { width: 65.71%; margin: 0 auto; padding: 0 7.0rem; overflow: hidden; position: relative; }
.post_recommend .swiper-button-prev,
.post_recommend .swiper-button-next { width: 3.0rem; height: 3.0rem; background: #3E3A39; text-align: center; border-radius: 50%; }
.post_recommend .swiper-button-prev svg,
.post_recommend .swiper-button-next svg { width: 0.6rem; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.post_recommend .swiper-button-next:after,
.post_recommend .swiper-button-prev:after { display: none; }

@media screen and (max-width: 900px) { 
    .single_body > .inner { width: 78.12%; margin: 0 auto; padding-top: 9.0rem; }
.single_head { display: flex; justify-content: space-between; align-items: flex-end; }
.single_head .date { font-size: 1.2rem; color: #808080; }
.single_head .ttl { font-size: 2.4rem; }
.single_head .cat { min-width: 10.0rem; }
    .single_head .cat a { display: block; padding: 0.5rem 0; font-size: 1.4rem; color: #fff; text-align: center; background: #A18C1E; }
.single_main { margin-top: 2.0rem; }
.single_main > * + * { margin-top: 2.0rem; }
.single_main > * + figure { margin-top: 7.0rem; }
    .single_body .btn_index a { display: block; width: 30.0rem; margin: 9.0rem auto 0; padding: 0.8rem 0; font-size: 2.0rem; line-height: 1.0; text-align: center; color: #fff; background: #A28C1D; position: relative; }
.single_body .btn_index a .arrow { display: block; width: 2.0rem; height: 2.0rem; line-height: 0.8; background: #3E3A39; border-radius: 50%; position: absolute; right: 1.0rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.single_body .btn_index a svg { line-height: 0; }

    .post_recommend { margin-top: 10.0rem; }
    .post_recommend .recommend_works { width: 100%; margin: 0 auto; padding: 0 12.0rem; box-sizing: border-box; overflow: visible; position: relative; }
    .post_recommend .swiper-button-prev,
    .post_recommend .swiper-button-next { width: 3.0rem; height: 3.0rem; background: #3E3A39; text-align: center; border-radius: 50%; top: auto; bottom: 0; left: 50%; right: auto; }
    .post_recommend .swiper-button-prev { -webkit-transform: translate(-200%, 200%); transform: translate(-200%, 200%); }
    .post_recommend .swiper-button-next { -webkit-transform: translate(100%, 200%); transform: translate(100%, 200%); }
.post_recommend .swiper-button-prev svg,
.post_recommend .swiper-button-next svg { width: 0.6rem; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.post_recommend .swiper-button-next:after,
.post_recommend .swiper-button-prev:after { display: none; }
    
}

/*recruitment*/
.recruitment_message_body { display: flex; justify-content: space-between; width: 71.42%; margin: 16.0rem auto 0; }
.recruitment_message_body .ph { width: 30%; }
.recruitment_message_body .txt { width: 65%; }
.recruitment_message_body .ttl { font-size: 3.0rem; margin-bottom: 2.0rem; }

.recruitment_staff { margin-top: 12.0rem; }
.recruitment_staff_list { width: 71.42%; margin: 16.0rem auto 11.5rem; }
.recruitment_staff_item { width: 90%; margin-top: 10.0rem; display: flex; justify-content: space-between; }
.recruitment_staff_item .ph { width: 33.33%; }
.recruitment_staff_item .txt { width: 55.55%; }
.recruitment_staff_item table { border-top: 1px solid #BEBEBF; }
.recruitment_staff_item table th,
.recruitment_staff_item table td { padding: 1.0rem 0 1.0rem 1.0rem; font-size: 2.0rem; line-height: 1.5; border-bottom: 1px solid #BEBEBF; }
.recruitment_staff_item table th { width: 5em; }

@media screen and (max-width: 900px) { 
    .recruitment_message_body { display: flex; flex-direction: column; justify-content: space-between; align-items: center; width: 78.12%; margin: 3.0rem auto 0; }
    .recruitment_message_body .ph { width: 30.0rem; }
    .recruitment_message_body .txt { width: 100%; margin-top: 5.0rem; }
.recruitment_message_body .ttl { font-size: 3.0rem; margin-bottom: 2.0rem; }

    .recruitment_staff { margin-top: 10.0rem; }
    .recruitment_staff_list { width: 78.12%; margin: 5.0rem auto 11.5rem; }
    .recruitment_staff_item { width: 100%; margin-top: 5.0rem; display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
    .recruitment_staff_item .ph { width: 30.0rem; }
    .recruitment_staff_item .txt { width: 100%; margin-top: 5.0rem; }
.recruitment_staff_item table { border-top: 1px solid #BEBEBF; }
.recruitment_staff_item table th,
.recruitment_staff_item table td { padding: 1.0rem 0 1.0rem 1.0rem; font-size: 2.0rem; line-height: 1.5; border-bottom: 1px solid #BEBEBF; }
.recruitment_staff_item table th { width: 5em; }
    
}

/*company*/
.company_profile > .inner { width: 57.14%; margin: 10.0rem auto 0; }
.company_profile_data table { width: 100%; border-top: 1px solid #BEBEBF; }
.company_profile_data table th,
.company_profile_data table td { padding: 1.0rem 0 1.0rem 1.0rem; font-size: 2.0rem; line-height: 1.5; border-bottom: 1px solid #BEBEBF; }
.company_profile_data table th { width: 10em; }

.company_profile_access { margin-top: 9.3rem; display: grid; grid-template-columns:grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto; column-gap: 0; row-gap: 0; }
.company_profile_access .map { grid-column: span 2; }

.company_profile_address { display: flex; justify-content: space-between; margin-top: 5.0rem; }
.company_profile_address address { font-size: 2.0rem; line-height: 1.5; padding-left: 3.35rem; }
.common_btn a{ display: block; width: 30.0rem; padding: 0.8rem 0; font-size: 2.0rem; line-height: 1.0; text-align: center; color: #fff; background: #A28C1D; position: relative; }
.common_btn a .arrow { display: block; width: 2.0rem; height: 2.0rem; line-height: 0.8; background: #3E3A39; border-radius: 50%; position: absolute; right: 1.0rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.common_btn a svg { line-height: 0; }

.company_message { margin-top: 10.0rem; }
.company_message > .inner { width: 74.42%; margin: 10.0rem auto 0; }
.company_message_item { display: flex; justify-content: space-between; margin-top: 14.0rem; }
.company_message_item .ph { width: 30.0%; }
.company_message_item .txt { width: 65.0%; }
.company_message_item .ttl { font-size: 3.0rem; margin-bottom: 2.0rem; }
.company_message_item:nth-child(2n) { flex-direction: row-reverse; }

.company_safety { margin-top: 22.0rem; }
.company_safety > .inner { width: 57.14%; margin: 4.5rem auto 0; }
.company_safety .read {font-size: 2.0rem; }
.company_safety_list { border-top: 1px solid #BEBEBF; border-bottom: 1px solid #BEBEBF; margin-top: 6.0rem; padding: 3.0rem 0; } 
.company_safety_list li { font-size: 2.0rem; }
.company_safety_list li + li { margin-top: 1em; }
.company_safety_list li:before { content: "・"; display: inline-block; }

@media screen and (max-width: 900px) { 
    .company_profile > .inner { width: 78.12%; margin: 5.0rem auto 0; }
.company_profile_data table { width: 100%; border-top: 1px solid #BEBEBF; }
.company_profile_data table th,
    .company_profile_data table td { padding: 1.0rem 0 1.0rem 1.0rem; font-size: 1.6rem; line-height: 1.5; border-bottom: 1px solid #BEBEBF; }
    .company_profile_data table th { width: 6em; }

    .company_profile_access { margin-top: 7.0rem; display: grid; grid-template-columns:grid-template-columns: repeat(2, 1fr); grid-template-rows: auto auto; column-gap: 0; row-gap: 0; }
.company_profile_access .map { grid-column: span 2; }

    .company_profile_address { display: block; margin-top: 4.0rem; }
    .company_profile_address address { font-size: 2.0rem; line-height: 1.5; padding-left: 0; }
    .company_profile_address .common_btn { margin-top: 4.0rem; }
    .company_profile_address .common_btn a { margin: 0 auto; }
    .common_btn a{ display: block; width: 30.0rem; padding: 0.8rem 0; font-size: 2.0rem; line-height: 1.0; text-align: center; color: #fff; background: #A28C1D; position: relative; }
.common_btn a .arrow { display: block; width: 2.0rem; height: 2.0rem; line-height: 0.8; background: #3E3A39; border-radius: 50%; position: absolute; right: 1.0rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.common_btn a svg { line-height: 0; }

    .company_message { margin-top: 9.0rem; }
    .company_message > .inner { width: 78.12%; margin: 5.0rem auto 0; }
    .company_message_item { display: flex; flex-direction: column; align-items: center; margin-top: 5.0rem; }
.company_message_item .ph { width: 30.0rem; }
    .company_message_item .txt { width: 100%; margin-top: 4.5rem; }
.company_message_item .ttl { font-size: 3.0rem; margin-bottom: 2.0rem; }
    .company_message_item:nth-child(2n) { flex-direction: column; }

    .company_safety { margin-top: 10.0rem; }
    .company_safety > .inner { width: 78.12%; margin: 3.5rem auto 0; }
.company_safety .read {font-size: 2.0rem; }
.company_safety_list { border-top: 1px solid #BEBEBF; border-bottom: 1px solid #BEBEBF; margin-top: 6.0rem; padding: 3.0rem 0; } 
.company_safety_list li { font-size: 2.0rem; }
.company_safety_list li + li { margin-top: 1em; }
.company_safety_list li:before { content: "・"; display: inline-block; }
}

/*contact*/
.required { color: #B7282E; }
.form_item dt { font-size: 1.8rem; margin-top: 4.5rem; }
.form_item dd { font-size: 1.8rem; margin-top: 1.0rem; }
.form_item select,
.form_item input[type="text"],
.form_item input[type="tel"],
.form_item input[type="email"],
.form_item textarea { width: 100%; padding: 1.0rem 1.2rem; border: none; box-sizing: border-box; }
.form_item textarea { height: 17.9rem; }
.form_item input::placeholder,
.form_item textarea::placeholder { color: #BEBEBF; }

.contact_item .fukidashi { margin-top: 2.5rem; padding: 3.5rem 4.3rem; font-size: 1.6rem; background: #F7E6E2; position: relative; }
.contact_item .fukidashi:before { content: ""; display: block; width: 0;height: 0;border-style: solid;border-right: 1.3rem solid transparent;border-left: 1.3rem solid transparent;border-bottom: 2.4rem solid #f7e6e2;border-top: 0; position: absolute; top: 0; left: 5.17%; -webkit-transform: translateY(-100%); transform: translateY(-100%); }

.hidden { display: none; }

@media screen and (max-width: 767px) { 
    .contact_item { padding-left: 0; }
    .contact_item + .contact_item { margin-top: 6.7rem; }
.contact_item table th { width: 100%; }
.contact_item table { width: 100%; border-top: 1px solid #B7282E; }
    .contact_item table th, .contact_item table td { font-size: 1.3rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.5rem 0; }
.contact_item table th { width: 50%; padding-right: 5%; box-sizing: border-box; font-weight: 500; }

.required { color: #B7282E; }
    .form_item dt { font-size: 1.5rem; margin-top: 4.0rem; }
    .form_item dd { font-size: 1.5rem; margin-top: 1.0rem; }
.form_item select,
.form_item input[type="text"],
.form_item input[type="tel"],
.form_item input[type="email"],
.form_item textarea { width: 100%; padding: 1.5rem 2.7rem; border: 1px solid #BFBFBF; box-sizing: border-box; border-radius: 0.5rem; }
.form_item textarea { height: 17.9rem; }

    .contact_item .fukidashi { margin-top: 1.5rem; padding: 2.5rem 3.3rem; font-size: 1.3rem; background: #F7E6E2; position: relative; }
    .contact_item .fukidashi:before { content: ""; display: block; width: 0;height: 0;border-style: solid;border-right: 0.9rem solid transparent;border-left: 0.9rem solid transparent;border-bottom: 1.6rem solid #f7e6e2;border-top: 0; position: absolute; top: 0; left: 5.17%; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
    
}

input[type="radio"] {
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid #BFBFBF;
  border-radius: 50%;
  vertical-align: bottom;
    background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: #000;
  content: '';
}

input[type="checkbox"] {
  position: relative;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid #696969;
    border-radius: 3px;
    background: #fff;
  vertical-align: bottom;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 0.2rem;
  left: 0.7rem;
  transform: rotate(50deg);
  width: 0.6rem;
  height: 1.2rem;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}

@media screen and (max-width: 767px) { 
    input[type="radio"] {
      position: relative;
      width: 2.3rem;
      height: 2.3rem;
    }
    input[type="radio"]:checked:before {
      width: 1.1rem;
      height: 1.1rem;
    }
    
    input[type="checkbox"] {
      position: relative;
      width: 1.8rem;
      height: 1.8rem;
    }
    input[type="checkbox"]:checked:before {
      position: absolute;
      top: 0.1rem;
      left: 0.5rem;
      transform: rotate(50deg);
      width: 0.5rem;
      height: 0.9rem;
      border-right: 2px solid #000;
      border-bottom: 2px solid #000;
      content: '';
    }
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
.formError .formErrorContent { font-size: 1.1rem!important; margin-top: 5px; }
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none!important; }

.error-message .undefinedformError { display: none!important; }
.error-message .parentFormcontact-form .formErrorContent { border-radius: 5px!important; }

.wpcf7-checkbox.acceptance .wpcf7-list-item-label { display: none!important; }

.privacy_txt .wpcf7-list-item { margin: 0 0.5rem 0 0; }
.form_item .wpcf7-list-item { margin-left: 0; }
.form_item .wpcf7-list-item + .wpcf7-list-item { margin-left: 3.0rem; }

.wpcf7-turnstile { text-align: center; margin-top: 8.0rem;}

.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }

/*privacy*/
.page_main._privacy > * { padding-left: 9.37%; }
.privacy_hd { font-size: 2.5rem; font-weight: 700; margin-bottom: 1.0rem; }
p + .privacy_hd { margin-top: 5.5rem; }
.page_main._privacy p + p { margin-top: 2em; }

@media screen and (max-width: 767px) { 
    .page_main._privacy > * { padding-left: 0; }
    .privacy_hd { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.0rem; }
    p + .privacy_hd { margin-top: 3.0rem; }
.page_main._privacy p + p { margin-top: 2em; }
    
}

/*link*/
a.link_txt { text-decoration: underline; }

@keyframes link_arrow {
    0% {
        margin-left: 0;
    }

    50% {
        margin-left: 2.0rem;
    }

    51% {
        margin-left: -2.0rem;
    }

    to {
        margin-left: 0;
    }
}

@media (hover: hover) and (pointer: fine) {
    a.link_txt:hover { text-decoration: none; }
    
    .link_more a:hover .arrow svg {
        animation: link_arrow 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    .link_more a { -webkit-transition: background 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: background 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .link_more a:hover { background: #b9a124; }
    
    .works_archive_item .ph > div img { -webkit-transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .works_archive_item:hover .ph > div img { -webkit-transform: scale(1.05); transform: scale(1.05); }
    
    .footer_function_nav a,
    .top_main_news a { -webkit-transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1); transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
    .footer_function_nav a:hover,
    .top_main_news a:hover { opacity: 0.5; }

    
}

