/*======================= menu =======================*/
/*=== 
・基礎設定
・共通クラス
・ボタン
・cta
・ヘッダー
・下層ページヘッダー
・フッター
・トップ
・会社概要
・事業内容
・保有機器・資格
・採用情報
・協力会社募集
・施工実績
・お知らせ
・お問い合わせ
・プライバシーポリシー
・レスポンシブ
　tub
    1023
  カラム切り替え
    781
    700
    639
　WP切り替えサイズ
    600
　sp
    435
===*/
/*======================= menuここまで =======================*/
/*======================= 基礎設定 =======================*/
html {
    scroll-behavior: smooth;
    scroll-padding-top: 125px;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.075em;
    line-height: 1.7;
    overflow-x: hidden;
}
.l-contents__inner:last-child {
    padding-bottom: 0;
}
/*======================= 共通クラス =======================*/
p,
a,
li,
td {
    font-weight: 500;
}
p {
    margin-top: 0 !important;
}
/* h2タイトル */
.ttl {
    position: relative;
}
.h2-ttl {
    font-size: clamp(2.5rem, 0.864rem + 8.18vw, 7rem);
    line-height: 1!important;
    color: #232323;
    font-family:"Libre Baskerville", serif;
    opacity: 0.1;
    white-space: nowrap;
    font-weight: normal;
}
.h2-subttl {
    position: absolute;
    top: 47%;
    transform: translateY(-50%);
    left: 50px;
    font-size: 2.5rem!important;
    color: #232323;
    font-family: "Shippori Mincho", serif;
    z-index: 1;
}
/* 中央配置_h2タイトル */
.ttl_cen .h2-ttl {
    text-align: center;
}
.ttl_cen .h2-subttl {
    top: 47%;
    transform: translate(-50%, -50%)!important;
    left: 50%!important;
    white-space: nowrap !important; 
}
/* 中央配置_h2タイトルここまで */
a {
    text-decoration: none !important;
}
/* padding・margin左右上下リセット */
.p_0 {
    padding: 0 !important;
}
.m_0 {
    margin: 0 !important;
}
.p_20 {
    padding: 20px !important;
}
.pt_0 {
    padding-top: 0 !important;
}
.pb_0 {
    padding-bottom: 0 !important;
}
.pb_0 {
    padding-bottom: 0 !important;
}
.pl_0 {
    padding-left: 0 !important;
}
.pr_0 {
    padding-right: 0 !important;
}
.mt_0 {
    margin-top: 0 !important;
}
.mb_0 {
    margin-bottom: 0 !important;
}
.ml_0 {
    margin-left: 0 !important;
}
.mr_0 {
    margin-right: 0 !important;
}
/* padding・margin 10px・20px */
.pt_10 {
    padding-top: 10px !important;
}
.pb_10 {
    padding-bottom: 10px !important;
}
.pt_20 {
    padding-top: 20px !important;
}
.pb_20 {
    padding-bottom: 20px !important;
}
.pt_30 {
    padding-top: 30px !important;
}
.pb_30 {
    padding-bottom: 30px !important;
}
.pb_120 {
    padding-bottom: 120px;
}
.pt_120 {
    padding-top: 120px;
}
.mt_10 {
    margin-top: 10px !important;
}
.mb_10 {
    margin-bottom: 10px !important;
}
.mt_20 {
    margin-top: 20px !important;
}
.mb_20 {
    margin-bottom: 20px !important;
}
.sc_pt_pb {
    padding-top: 120px!important;
    padding-bottom: 120px!important;
}
/* FLEX関連 */
.d_flex {
    display: flex;
}
.d_flex.f_wrap {
    flex-wrap: wrap;
}
.inline_b {
    display: inline-block;
}
.jc_ct {
    justify-content: center;
}
.jc_fs {
    justify-content: flex-start !important;
}
.jc_fe {
    justify-content: flex-end !important;
}
.ai_ct {
    align-items: center;
}
.fd_cm {
    flex-direction: column;
}
.fd_rr {
    flex-direction: row-reverse;
}
.gap_0 {
    gap: 0 !important;
}
.gap_10 {
    gap: 10px !important;
}
.gap_20 {
    gap: 20px !important;
}
/* Z-INDEX */
.z_0 {
    z-index: 0;
}
.z_1 {
    z-index: 1;
}
.z_999 {
    z-index: 999;
}
/* POSITION */
.p_ab {
    position: absolute;
}
.p_rel {
    position: relative;
}
.o_hidden {
    overflow: hidden;
}
.mincho {
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
}
.en {
    font-family: "Libre Baskerville", serif;
    font-weight: normal;
}
/* アイコン */
svg.svg-inline--fa {
    margin-right: 7px;
}
.p-global-nav--hover-extend-underline .c-navbar__item.cta:hover>a:after {
    width: 0;
}
/* アンダーライン */
.underline {
    line-height: 1.7;
    text-decoration: underline;
    text-underline-offset: 8px;
    text-decoration-thickness: 1px;
}
/* テキストアンダーラインのアニメーション　白 */
.scroll-line {
    position: relative;
    display: inline;
    background-image: linear-gradient(transparent calc(100% - 1px), #ffffff calc(100% - 1px));
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1s ease-out;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.scroll-line.is-active {
    background-size: 100% 100%;
}
/* テキストアンダーラインのアニメーション 黒 */
.scroll-line_black {
    position: relative;
    display: inline;
    background-image: linear-gradient(transparent calc(100% - 1px), #232323 calc(100% - 1px));
    background-repeat: no-repeat;
    background-size: 0% 100%;
    transition: background-size 1s ease-out;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.scroll-line_black.is-active {
    background-size: 100% 100%;
}
/* テキストアンダーラインのアニメーションここまで */
/*======================= ボタン =======================*/
a.smb-btn {
    position: relative;
    width: 300px !important;
    padding: 13px 0;
    border-radius: 0;
    background-color: transparent;
    border: 1px solid #687224;
    font-size: 1.1rem;
    color: #687224;
    text-align: center;
    transition: color 0.5s ease;
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
}
.smb-btn__label {
    color: #687224;
}
a.smb-btn:hover .smb-btn__label {
    color: #fcfbfa;
}
a.smb-btn:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}
a.smb-btn::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #687224;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
}
.smb-btn__label {
    position: relative;
    padding-right: 10px;
}
a.smb-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 15px;
    height: 1px;
    background: #687224;
    z-index: 2;
    pointer-events: none;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), background 0.5s ease;
}
a.smb-btn:hover::after {
    background: #fcfbfa;
    transform: translateY(-50%) translateX(5px); 
}
/* 黒背景時の白ボタン */
.btn_w a.smb-btn:hover .smb-btn__label {
    color: #232323;
}
.btn_w a.smb-btn {
    border: 1px solid #fcfbfa;
    color: #fcfbfa;
}
.btn_w .smb-btn__label {
    color: #fcfbfa;
}
.btn_w a.smb-btn::before {
    background: #fcfbfa;
}
.btn_w a.smb-btn::after {
    background: #fcfbfa;
}
.btn_w a.smb-btn:hover::after {
    background: #232323;
}
/* ボタンここまで */
.img-sepia img {
  filter: sepia(35%);  
}
/* スマホで自動で表示される特定のリンク消す */
.no-link a[x-apple-data-detectors] {
    color: inherit !important;
    text-decoration: none !important;
    pointer-events: none;
}
.no-link a[href^="https://apple.com"] {
    color: inherit !important;
    text-decoration: none !important;
    
    /* 文字列全体を1つの塊にしてクリックを拒否 */
    display: inline-block !important; 
    pointer-events: none !important;
}
/* 中の文字やスペースのクリック判定もすべて */
.no-link a[x-apple-data-detectors] *,
.no-link a[href*="://apple.com"] * {
    pointer-events: none !important;
}
/*======================= cta =======================*/
#cta .ttl_cen .h2-subttl {
    font-size: 3rem!important;
    color: #fff;
    z-index: 1;
}
#cta .cta_txt {
    font-size: 1.2rem;
    color: #fff;
}
/*======================= ヘッダー =======================*/
/* pcヘッダー */
.c-site-branding__title .custom-logo {
    max-width: 277px;
}
.l-header__content .c-fluid-container {
    padding-right: 0;
}
.p-global-nav .c-navbar__item>a {
    padding: 14px;
}
@media (min-width: 1024px) {
    [data-scrolled=true] .l-header--sticky-overlay-colored-lg {
        box-shadow: none;
        background-color: #2a2b2a9a;
    }
    [data-scrolled=true] .p-global-nav .c-navbar__item>a {
        color: #ffffff;
    }
    [data-scrolled=true] .p-global-nav .c-navbar__item>a:hover {
        color: var(--wp--preset--color--sm-accent);
    }
}
/* ヘッダーお問い合わせ */
.l-header li a:hover{
    color: #fcfbfa!important;
    opacity: 0.7!important;
}
.header_cta a {
    height: 100%;
    min-width: 80px;
    margin-right: 10px;
}
.header_cta a:hover {
    background-color: transparent;
}
.header_cta a:hover .header_cta span {
    color: var(--wp--preset--color--sm-accent) !important;
}
@media (max-width: 1255px) {
    .hea-txt {
        display: none;
    }

    .header_cta svg {
        margin-right: 0 !important;
    }
}
/* 下層ページヘッダー */
.l-contents__inner {
    margin-top: 0 !important;
}
.c-page-header {
    padding: 130px 0 50px;
    background: linear-gradient(45deg, rgb(42, 43, 42) 28%, rgb(78, 79, 72) 100%);
    color: #ffffff;
}
.c-page-header[data-has-image=true] {
    height: unset;
}
.c-page-header[data-has-image=true] .c-page-header__content {
    color: unset;
}
.c-page-header__bgimage>img,
.c-page-header__bgimage>picture>img {
    display: none;
}
.l-header span.time {
    padding-top: 10px !important;
    font-size: 14px !important;
    font-weight: 400;
}
.p-global-nav--hover-text-color.p-global-nav--current-same-hover-effect .c-navbar__item[data-active-menu] {
    color: #a4a98a;
}
@media (max-width: 1023px) {
    .c-page-header {
        padding: 70px 0 50px !important;
    }
}
.c-page-header__title {
    position: relative;
    font-family: "Shippori Mincho", serif;
}
.c-page-header__title::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    background: url(https://goen-g.check-sample01.com/wp-content/uploads/2026/07/logo-w.png) no-repeat;
    background-size: contain;
    opacity: 0.2;
}
/* spヘッダー */
@media (max-width: 1024px) {
    .l-header .c-fluid-container {
        padding-right: 3%;
    }
}
@media not all and (min-width: 1024px) {
    [data-scrolled=true] .l-header--sticky-overlay-colored-sm {
        background: #333333;
    }
}
.sp_contact {
    margin-top: 30px !important;
    border: solid 1px #ffffff;
    text-align: center;
}

.l-header .c-hamburger-btn__bar {
    background-color: #ffffff;
}

.c-hamburger-btn__label {
    color: #ffffff !important;
}
.c-drawer {
    background-color: #232323;
}
.c-drawer__menu {
    padding-top: 50px !important;
}

.sp_contact {
    border: solid 1px #fff;
    text-align: center;
    margin-top: 30px !important;
}

/* ページトップボタン */
#page-top svg {
    margin-right: 0 !important;
}

/*======================= フッター =======================*/
.l-footer {
    /* z-index: 1; */
    border-top: none;
    background: linear-gradient(45deg, rgb(42, 43, 42) 28%, rgb(78, 79, 72) 100%);
    color: #ffffff;
    overflow: hidden;
}
.l-footer::before {
    opacity: .1;
    position: absolute;
    bottom: 0;
    left: 0;
    /* z-index: -1; */
    width: 560px;
    height: 400px;
    background-image: url(https://goen-g.check-sample01.com/wp-content/uploads/2026/07/logo-w.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}
.l-footer--footer-2 .l-footer__body {
    border-top: none;
}
.l-footer--footer-2 .l-footer__header {
    padding-top: 120px;
    padding-bottom: 0 !important;
}
.l-footer--footer-2 .l-footer__widget-area {
    padding-bottom: 0 !important;
    overflow: hidden;
}
.l-footer--footer-2 .l-footer__widget-area .c-container {
    margin-bottom: 60px;
}
.c-row {
    justify-content: space-between;
}
.c-row a:hover {
    opacity: 0.7;
}
.l-footer-widget-area__item:nth-child(1) {
    flex-grow: 1;
}
.l-footer-widget-area__item:nth-child(2) {
    margin-bottom: 0;
    padding: 10px 0 10px 60px;
    flex-basis: 30%;
    border-left: 1px solid #fcfbfa61;
}
.l-footer--footer-2 .l-footer__footer {
    padding: 10px !important;
    padding-top: 60px!important;
    background-color: transparent !important;
}
.l-footer .c-widget {
    font-size: 0.9rem !important;
}
.l-footer__footer .c-container .c-row {
    justify-content: center!important;
    font-family: "Shippori Mincho", serif;
}
/* 右寄せ・左寄せのボタンをSPで中央にするレスポンシブ(親にbtn-centerの名前つける)
#block-7はfooterのボタン(随時変わる) */
@media screen and (max-width: 500px) {
    .btn-center.smb-buttons {
        justify-content: center;
    }

    #block-7 .btn-center {
        justify-content: center !important;
    }

    #block-7 .btn-center a {
        width: 100% !important;
    }
}
/*===================================== TOP =====================================*/
/*--- fv ---*/
#fv {
    position: relative;
    overflow: hidden;
}
#fv .fv-group {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 430px;
    transform: translate(-50%, -50%);
    color: #fcfbfa;
    z-index: 9;
}
#fv h2 {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 4rem;
    line-height: 1!important;
}
#fv .fv-group h2 .mv-font-size {
    font-size: 1.8rem;
}
#fv .fv-group p {
    padding-top: 20px;
    font-size: 1.2rem;
}
#fv .fv-slider {
    margin-top: 0 !important;
    filter: brightness(65%);
}
#fv .fv-slider .spider {
    height: 95vh !important;
}
#fv .fv-slider .spider .smb-spider-slider__figure-wrapper {
    height: 100vh;
}
#fv .fv-logo {
    opacity: .2;
    position: absolute;
    bottom: -33%;
    left: -15%;
    width: 70%;
    animation: 99s linear infinite rotation1;
}
@keyframes rotation1 {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}
#fv .fv_tate {
    position: absolute;
    top: 0;
    right: 10px;
    transform: translate(-50% ,50%);
    font-size: 1.2rem;
    color: #fcfbfa;
    writing-mode: vertical-rl;
    text-orientation: mixed;
}
#fv .fv_scroll {
  position: absolute;
  right: 50%;
  bottom: 50px;
  transform: translate(50%, -50%);
  color: #fcfbfa;
}
#fv .fv_scroll::before {
  animation: scroll 2s infinite;
  background-color: #fcfbfa;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
#lead {
    position: relative;
}
#lead figure {
    position: absolute;
    width: clamp(60vw,500px,100vw);
    right: 0;
    top: 0;
}
#lead figure img {
    width: 100%;
}
#lead .lead_inner {
    margin-top: 120px;
}
#lead .lead_inner_txt {
    position: relative;
    display: inline-block;
    min-width: 600px;
}
#lead .lead_inner_txt::before {
  position: absolute;
  content: '';
  top: -10%;
  bottom: 10%;
  left: -10%;
  right: 10%; 
  border: 1px solid #f2f2f27a; 
  background-color: transparent; 
  pointer-events: none; 
}
#lead .lead_inner_txt .smb-container__body {
    margin-left: 0;
}
#lead .wp-block-group {
    padding: 90px 60px!important;
    color: #fcfbfa;
}
#lead .lead_inner_txt h2 {
    font-size: 2rem;
    line-height: 1.7;

}
#lead .lead_inner_txt p {
    padding-top: 10px;
}
/*--- 事業案内 ---*/
#business h3 {
    font-size: 2rem;
}
.business_inner_images {
    display: flex;
    gap: 15px;
}
.business_inner_images .wp-block-group {
    margin-top: 0;
    flex: 1;
}
.business_inner_images figure {
    margin-top: 0;
}
.business_inner_images img {
    height: 100%;
    width: 100%;
    aspect-ratio: 1 / 3;
    object-fit: cover;
    flex-shrink: 0; /* Firefoxでの画像潰れを防止 */
}
/*--- 施工実績 ---*/
#works .c-entries-carousel .c-entry-summary__figure {
    box-shadow: 0px 5px 17px 0px rgba(0, 0, 0, 0.35);
}
#works .c-entries-carousel .spider__dots {
    margin-top: 10px;
}
.spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: #fcfbfa;
}
/*--- 強み ---*/
#strengths .strengths_inner {
    gap: 0;
}
#strengths .strengths_inner_deco {
    padding-top: 0!important;
    padding: 1px 5px;
    display: inline-block;
    background-color: #2a2b2a;
    color: #fff;
}
#strengths .strengths_inner .smb-container {
    padding-top: 30px;
    padding-bottom: 30px;
}
#strengths .strengths_inner_image {
    align-self: stretch;
}
#strengths .strengths_inner_image figure,
#strengths .strengths_inner_image img {
    height: 100%;
}
#strengths .strengths_inner .smb-container h3 {
    margin-top: 10px;
    font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
    line-height: 1.7;
}
#strengths .strengths_inner .smb-container p {
    padding-top: 15px;
}
/*--- 対応地域 ---*/
.map_cover {
    min-height: 70vh;
}
figure.wp-block-image.size-full.map_illust {
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-50%);
    max-width: 250px;
}
#map .map_tex_wrap {
    width: fit-content;
    top: 0;
    left: 10%;
    transform: translate(0, -90%);
}
#map .en {
    font-size: 1.5rem;
}
#map h2.map_ttl {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: left;
    color: #fcfbfa;
}
#map p {
    color: #fff;
}
p.map_txt {
    font-size: 1.2rem;
    font-weight: 800;
    text-align: left;
}
#map .sme-bg-color {
    margin-right: 8px;
    padding: 0 4px 2px;
}
/*--- 代表挨拶 ---*/
#greeting .h2-ttl {
    font-size: clamp(2.5rem, 1.955rem + 2.73vw, 4rem);
} 
#greeting .h2-subttl {
    left: 15px;
    font-size: 1.8rem;
}
#greeting h3 {
    margin-bottom: 20px;
    font-size: 1.5rem;
}
/*--- 採用情報 ---*/
#recruit .recruit_txt .h2-ttl {
    color: #687224;
    opacity: 0.3;
}
#recruit .recruit_txt .h2-subttl {
    font-size: 3rem!important;
    color: #fff;
}
#recruit .recruit_txt.cta_txt {
    font-size: 1.2rem;
    color: #fff;
}
#recruit .recruit_txt .rec-tags {
    padding-bottom: 30px;
}
#recruit .recruit_txt .rec-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
#recruit .recruit_txt .rec-tags p {
    width: calc(50% - 7.5px);
    padding:.7em;
    box-sizing: border-box;
    background-color: #fcfbfa;
    text-align: center;
    color: #232323;
    font-size: 1.2rem;
}
#recruit .recruit_txt h3 {
    margin-top: 20px !important;
    font-size: 2rem;
}
#recruit .recruit_img figure,
#recruit .recruit_img img {
    height: 100%;
    object-fit: cover;
}
/*--- 協力会社募集 ---*/
#partner .wp-block-cover {
    padding: 120px 0;
}
#partner .partner_deco {
    font-size: 1.4rem; 
}
#partner h2 {
    font-size: 2.5rem;
}
#partner .partner-tags,
#partner .partner-tags02,
#partner_top .partner-tags,
#partner_top .partner-tags02 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    gap: 15px;
    justify-content: center;
}
#partner .partner-tags p,
#partner_top .partner-tags p {
    display: flex;
    align-items: center;
    width: calc(33.3% - 30px);
    margin: 0!important;
    padding: 10px 15px;
    border: 1px solid #fcfbfa;
    border-radius: 50vh;
    justify-content: space-evenly;
    text-align: center;
}
#partner .partner-tags02 p,
#partner_top .partner-tags02 p {
    display: flex;
    align-items: center;
    margin: 0!important;
    justify-content: space-evenly;
    text-align: center;
}
#partner .partner-tags02 p:not(:last-child),
#partner_top .partner-tags02 p:not(:last-child) {
    width: calc(25% - 30px);
    padding: 10px 15px;
    text-align: center;
    border: 1px solid #fcfbfa;
    border-radius: 50vh;
}
#partner .partner-tags02 p:last-child,
#partner_top .partner-tags02 p:last-child {
     border: none;
}
#partner .btn_w {
    margin-top: 60px;
}
#partner .btn_w a.smb-btn {
    color: #fcfbfa;
}
/*===================================== 事業内容 =====================================*/
#business_top .business_top_box {
    position: relative;
    margin-bottom: 90px;
}
.business_top_box figure {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
}
.business_top_box figure img {
    height: 100%;
    box-sizing: border-box;
    object-fit: cover;
}
.business_top_box .wp-block-group {
    width: 60%;
    padding: 60px 0;
    margin-left: 0!important;
}
.business_top_box .wp-block-group .wp-block-group {
    width: 100%;
    padding: 60px;
    background: #ffffffca;   
}
.business_top_box-r figure {
    left: 0;
    right: auto;
}
.business_top_box-r .wp-block-group {
    margin-right: 0!important;
    margin-left: auto!important;
}
.business_top_box .wp-block-group h3 {
    font-size: 2rem;
    padding-left: 15px;
    border-left: 3px solid #687224;
    line-height: 1.4; 
}
.business_top_box .wp-block-group p {
    padding-top: 30px;
}
.business_top_list {
    padding: 30px 20px;
    line-height: 4;
    text-decoration: underline;
    text-underline-offset: 8px;
    text-decoration-thickness: 1px;
}
.business_top_list .smb-box {
    padding: 0;
    border-bottom: 1px solid #2323234c;
    border-radius: 0;
}
.business_top_list .smb-box:hover {
    opacity: 0.7;
}
.business_top_list .smb-box__background {
    border: none;
}
.business_top_list .smb-box__body {
    display: flex;
    align-items: center;
}
.business_top_list .smb-box__body figure {
    flex: 0 0 200px;
}
.business_top_list .smb-box__body p {
    flex: 1 1 0%;
}
.business_top_list .smb-box__body figure img {
    aspect-ratio: 2 / 1;
    object-fit: cover;
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 95%, rgba(0,0,0,0) 100%);
     mask-image: linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 95%, rgba(0,0,0,0) 100%);
}
.business_top_list a {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    color: #232323;
}
.business_top_list a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 25px;
    border-top: 1px solid #232323;  
    border-right: 1px solid #232323;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}
.business_top_list a:hover::after {
    transform: translateX(10px) rotate(45deg);
}
#business_list .h2-ttl {
    font-size: 6vw;
}
#business_list .wp-block-columns {
    padding: 60px;
    background: #f6f3ef;
}
/*===================================== 会社概要 =====================================*/
#company_gree h3 {
    font-size: 2rem;
}
.company_gree_h3-box {
    text-align: right;
}
#company_gree figure {
    position: relative;
}
#company_gree figure::before {
  position: absolute;
  content: '';
  top: 10%;
  bottom: -10%;
  left: 10%;
  right: -10%; 
  border: 1px solid #6872247a; 
  background-color: transparent; 
  pointer-events: none; 
}
#company_gree .company_gree_box {
    max-width: 600px;
}

#company_ceo h3 {
    font-size: 2rem;
}
#company_ceo.seigaiha {
    position: relative;
}
#company_ceo.seigaiha::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.1;
    background-color: #ffffff;     
    background-image:
        radial-gradient(
        circle at 100% 150%,
        #b9bab3 24%,
        #fff 24%,
        #fff 28%,
        #b9bab3 28%,
        #b9bab3 36%,
        #fff 36%,
        #fff 40%,
        transparent 40%,
        transparent
        ),
        radial-gradient(
        circle at 0 150%,
        #b9bab3 24%,
        #fff 24%,
        #fff 28%,
        #b9bab3 28%,
        #b9bab3 36%,
        #fff 36%,
        #fff 40%,
        transparent 40%,
        transparent
        ),
        radial-gradient(
        circle at 50% 100%,
        #fff 10%,
        #b9bab3 10%,
        #b9bab3 23%,
        #fff 23%,
        #fff 30%,
        #b9bab3 30%,
        #b9bab3 43%,
        #fff 43%,
        #fff 50%,
        #b9bab3 50%,
        #b9bab3 63%,
        #fff 63%,
        #fff 71%,
        transparent 71%,
        transparent
        ),
        radial-gradient(
        circle at 100% 50%,
        #fff 5%,
        #b9bab3 5%,
        #b9bab3 15%,
        #fff 15%,
        #fff 20%,
        #b9bab3 20%,
        #b9bab3 29%,
        #fff 29%,
        #fff 34%,
        #b9bab3 34%,
        #b9bab3 44%,
        #fff 44%,
        #fff 49%,
        transparent 49%,
        transparent
        ),
        radial-gradient(
        circle at 0 50%,
        #fff 5%,
        #b9bab3 5%,
        #b9bab3 15%,
        #fff 15%,
        #fff 20%,
        #b9bab3 20%,
        #b9bab3 29%,
        #fff 29%,
        #fff 34%,
        #b9bab3 34%,
        #b9bab3 44%,
        #fff 44%,
        #fff 49%,
        transparent 49%,
        transparent
        );
    background-size: 208px 100px;
}
#company_overview iframe {
    vertical-align: bottom;
}
#company_overview .smb-container__body ul {
    display: flex;
    gap: 10px;
}
#company_overview .smb-container__body li {
    margin-top: 0;
    padding: 10px 20px;
    background: #fff;
    border: 1px solid #687224;
}
#company_overview .smb-container__body li a {
    font-weight: bold;
    color: #001D3D;
}
#company_overview a:-webkit-any-link {
    text-decoration: none!important;
}
#company_overview .wp-block-table td {
    padding: 15px;
    border: none;
    border-bottom: 1px solid #2a2b2a;
}
#company_overview .wp-block-table td:first-child {
    width: 150px;
    font-weight: bold;
}
/*===================================== 採用情報 =====================================*/
#rec_top .h2-ttl {
    color: #687224;
    opacity: 0.3;
}
#rec_top .h2-subttl {
    color: #fff;
}
#rec_top h3 {
    font-size: 2rem;
}
#rec_top .rec_top_txt {
    line-height: 2;
    font-size: 1.1rem;
}
#rec_top .rec_top_tags {
    display: flex;
    gap: 10px;
}
#rec_top .rec_top_tags p {
    width: 25%;
    padding: 10px 15px;
    margin: 0!important;
    border: 1px solid #fcfbfa59;
    border-radius: 50vh;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
/* ロゴの形でくり抜く */
#rec_inner .logo-cutout {
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: center;
    /* ロゴの形でくり抜く設定 */
    -webkit-mask-image: url('https://goen-g.check-sample01.com/wp-content/uploads/2026/07/logo-w.png');
    mask-image: url('https://goen-g.check-sample01.com/wp-content/uploads/2026/07/logo-w.png'); 
    /* マスク画像の位置やサイズ調整 */
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
#rec_inner video {
    aspect-ratio: 3 / 2!important;
}
#rec_inner .rec_inner_num {
    margin-top: 30px;
    display: inline-flex;
    padding: 1px 5px!important;
    background: #fcfbfa;
    font-size: 0.8rem;
    gap: 10px;
}
#rec_inner .rec_inner_num p {
    padding-top: 0!important;
    font-weight: bold;
}
#rec_inner .rec_inner_txt h3 {
    margin-top: 10px;
    font-size: 2rem;
}
#rec_inner .rec_inner_txt p {
    padding-top: 10px;
}
#rec_work h3 {
    font-size: 2rem;
}
#rec_info tbody {
    border-top: 1px solid #232323;
    border-right: 1px solid #232323;
    border-left: 1px solid #232323;
}
#rec_info td:first-child {
    background: #68722437;
    border-left: 1px solid #232323;
    min-width: 165px;
}
#rec_info td {
    padding: 20px;
    border-bottom: 1px solid #232323;
    border-top: 1px solid #232323;
}
#rec_info td:last-child {
    border-right: 1px solid #232323;
}
.smb-step__item__number {
    font-size: 1.1rem;
    font-weight: 600;
    background-color: #fff;
    border: 1px solid #232323;
}
.smb-step__item__number:before {
    color: #232323;
}
/*===================================== 協力会社募集 =====================================*/
#partner_top .h2-ttl {
    color: #9cabc2;
    font-size: 4vw;
    opacity: 0.3;
}
#partner_top .h2-subttl {
    color: #fff;
}
#partner_top .partner_top_txt {
    line-height: 2.4;
    font-size: 1.1rem;
}
.rec_top_tags {
    display: flex;
    gap: 10px;
}
.rec_top_tags p {
    width: calc(25% - 40px);
    padding: 10px 15px;
    text-align: center;
    border: 1px solid #fcfbfa;
    border-radius: 50vh;
}
#partner_inner .partner_inner_deco {
    padding-top: 0!important;
    padding: 1px 5px;
    display: inline-block;
    background-color: #2a2b2a;
    color: #fff;
}
#partner_inner .h2-ttl {
    font-size: 4vw;
}
#partner_inner h3 {
    margin-top: 10px;
    font-size: 1.5rem;
}
#partner_inner .wp-block-columns {
    flex-wrap: wrap!important;
    gap: 20px;
}
#partner_inner .wp-block-column {
    width: calc(50% - 10px)!important;
    box-sizing: border-box;
    background: #fff;
    flex-basis: auto!important;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
#partner_inner .wp-block-column .partner_inner_txt {
    padding: 45px 45px 15px;
}
#partner_inner .wp-block-column .partner_inner_txt p {
    padding-top: 15px;
}
#partner_inner .wp-block-column figure img {
    aspect-ratio: 3 / 1;
    object-fit: cover;
    object-position: 50% 20%;
}
#partner_inner p {
    padding-top: 10px;
}
#partner_inner p.h2-ttl {
    padding-top: 0;
}
/*================================ 施工実績 =====================================*/
/* 各ページのスライダー */
#sc_works .c-entry-summary__title {
    font-weight: normal;
    font-size: 1rem;
}
.archive .l-contents {
    padding-bottom: 120px;
}
/* 投稿ページ */
.single-works .wp-block-post-terms__separator {
    display: none;
}
.single-works .taxonomy-works-cat a {
    margin-right: 10px;
    padding: 10px 20px;
    border-radius: 0;
    font-weight: bold;
    border: 1px solid #687224;
    transition: 0.5s;
}
.single-works .taxonomy-works-cat a:hover { 
    background: #687224;
    color: #fcfbfa;
    transition: 0.5s;
}
.single-works .spider__dot img {
    aspect-ratio: 3 / 2;
}
.single-works .smb-container__body ul {
    display: flex;
    gap: 10px;
}
.single-works .smb-container__body li {
    margin-top: 0;
    padding: 10px 20px;
    background: #fff;
    border: 1px solid #687224;
}
.single-works .smb-container__body li a {
    font-weight: bold;
    color: #001D3D;
}
.single-works a:-webkit-any-link {
    text-decoration: none!important;
}
.single-works .wp-block-table td {
    padding: 15px;
    border: none;
    border-bottom: 1px solid #232323;
}
.single-works .wp-block-table td:first-child {
    width: 150px;
    font-weight: bold;
}
/*テキスト前の装飾*/
.single-works .wp-block-columns p {
    position: relative;
    padding-left: 15px;
}
.single-works .wp-block-columns p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 90%;        
    background-color: #687224; 
}
.single-works .wp-block-columns figure {
    margin-top: 10px;
}
.single-works .smb-buttons {
margin-top: 60px;
} 
/*===================================== お知らせ =====================================*/
.c-meta__item--author {
    display: none;
}
/* 投稿(シンプル)のSPレスポンシブ */
@media screen and (max-width: 639px) {
    .c-entries--simple .c-entry-summary__content {
        display: block;
    }

    .c-entries--simple .c-entry-summary__figure {
        float: inherit;
        width: 100%;
        margin-bottom: 20px;
    }
}
/*===================================== お問い合わせ =====================================*/
/* placeholder */
.smf-text-control__control::placeholder {
    color: #cccccc !important;
}
/* 必須の文字 */
.smf-item__description {
    width: fit-content;
    padding: .2em .8em;
    border-radius: 2px;
    background-color: #cd2b43;
    color: #ffffff !important;
    font-weight: 600;
}
/* 確認ボタン */
.smf-action .smf-button-control__control {
    position: relative;
    width: 300px !important;
    padding: 13px 0;
    border-radius: 0;
    background-color: transparent;
    border: 1px solid #687224;
    font-size: 1.1rem;
    color: #687224;
    text-align: center;
    transition: color 0.5s ease;
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
}
.smf-button-control__control {
    color: #687224;
}
.smf-action .smf-button-control__control:hover {
    position: relative;
    color: #fcfbfa;
    z-index: 1;
}
.smf-action .smf-button-control__control:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}
.smf-action .smf-button-control__control::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #687224;
    transform: scaleX(0);
    transform-origin: right;
    transition: all 0.5s ease;
    transition-property: transform;
    z-index: -1;
}
.smb-btn__label {
    position: relative;
    padding-right: 10px;
}
.smf-action .smf-button-control__control::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 15px;
    height: 1px;
    background: #687224;
    z-index: 2;
    pointer-events: none;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), background 0.5s ease;
}
.smf-action .smf-button-control__control:hover::after {
    background: #fcfbfa;
    transform: translateY(-50%) translateX(5px); 
}
.smf-action .smf-button-control+.smf-button-control {
    margin-left: 0 !important;
}
.smf-action .smf-button-control__control {
    margin-bottom: 20px;
}
#autozip {
    display: none !important;
}
.smf-action .smf-button-control__control .smf-sending {
    display: none;
}
/*======================= プライバシーポリシー =============================*/
#privacy h3 {
    margin-bottom: 10px !important;
    padding-left: 10px;
    border-left: solid 3px var(--wp--preset--color--sm-accent);
    font-weight: 700;
}
/*=======================================================================*/
/*========================== レスポンシブ ================================*/
/*=======================================================================*/
@media (max-width: 1023px) {
    .l-footer-widget-area__item:nth-child(1) {
        flex: 1 1 50%;
    }
    .l-footer-widget-area__item:nth-child(2) {
        min-width: 300px;
    }
    #works .smb-section__background {
        --smb-section--background-top: 40%;
    }    

}
@media screen and (max-width: 781px) {  
    /* 共通 */
    .res_reverse {
        flex-direction: column-reverse;
    }
    /* cta */
    #cta .cta_txt {
        padding-top: 30px;
        font-size: 1rem;
    }
    /* フッター */
    .l-footer-widget-area__item:nth-child(2) {
        min-width: none;
    }
    .l-footer::before {
    width: 80vw;
    height: 80vw;
}
    /* top */
    #greeting figure {
        width: 200px;
    }
    #partner .partner_deco {
        font-size: 1rem;
    }
    /* 会社概要 */
    body #company_ceo .wp-block-columns {
        display: block;
    }
    body #company_ceo .wp-block-column:first-child {
        position: relative;
        z-index: 1;
    }
    body #company_ceo .wp-block-column:nth-child(2) {
        position: absolute;
        top: 80%;
        right: 50%;
        transform: translate(50% , -50%);
        opacity: 0.1;
        width: 50%;
    }
    /* 採用情報 */
    #rec_top .rec_top_txt {
        font-size: 1rem;
    }
    #rec_inner .logo-cutout {
        width: 60%;
    }
    #rec_top .rec_top_tags {
        flex-wrap: wrap;
    }
    #rec_top .rec_top_tags p {
        width: calc(50% - 10px);
    }
    /* 協力会社募集 */
    #partner_top .h2-ttl,
    #partner_inner .h2-ttl {
        font-size: 7vw;
    }
    #partner_top .partner_top_txt {
        font-size: 1rem;
    }
    /*== 施工実績 ==*/
    .single-works .smb-spider-slider {
        margin-bottom: 60px;
    }
    .single-works .wp-block-spacer {
        display: none;
    }
}
@media screen and (max-width: 700px) {
    #fv .fv-logo {
        bottom: -13%;
    }
    #recruit h3 {
        font-size: 1.9rem;
    }
    .business_top_box .wp-block-group .wp-block-group {
        padding: 30px 20px;
    }
    .business_top_box .wp-block-group {
        width: 80%;
    }
}
@media screen and (max-width: 639px) {
    .l-footer-widget-area__item:nth-child(2) {
        padding: 0;
        padding-left: calc(var(--_gap) * .5);
        border-left: none;
    }
    #business .busi-img img {
        aspect-ratio: 5/ 4 !important;
    }
    /* 協力会社募集 */
    #partner_top .partner_top_txt p {
        text-align: left;
    }
    /*== お問い合わせ ==*/
    #contact-form p {
        text-align: left;
    }
}
@media screen and (max-width: 600px) {
    .sc_pt_pb {
        padding-top: 60px!important;
        padding-bottom: 60px!important;
    }
    .pt_120 {
        padding-top: 60px!important;
    }
    .pb_120 {
        padding-bottom: 60px!important;
    }
    .ttl {
        padding-bottom: 15px;
    }
    .h2-subttl {
        left: 10px;
        bottom: 0;
        font-size: 2.2rem!important;
    }
    /* cta */
    #cta .ttl_cen .h2-subttl {
        font-size: 2rem!important;
    }
    #cta .cta_txt:not(:last-child) {
        text-align: left;
    }
    #cta .cta_txt br {
        display: none;
    }
    /* top */
    #fv .fv-group figure img {
        width: 110px!important;
    }
    #fv .fv-group h2 {
        padding-top: 5px;
        flex-direction: column;
        gap: 10px;
        font-size: 2.8rem;
    }
    #fv .fv-group h2 .mv-font-size {
        font-size: 1.2rem
    }
    #fv .fv-group p {
        padding-top: 40px;
        font-size: 1rem;
    }
    #fv .fv_tate {
        right: 0;
        font-size: 1rem;
    }
    #fv .fv_scroll {
        bottom: 30px;
    }
    #fv .fv_scroll p {
        font-size: 0.8rem;
    }
    #lead .wp-block-group {
        padding: 20px!important;
    }
    #lead .lead_inner {
        margin-top: 60px;
        padding-right: 0;
        padding-left: 0;
    }
    #lead .lead_inner_txt {
        min-width: auto;
    }
    #lead .lead_inner_txt::before {
        right: 5%;
        bottom: -10%;
    }
    #lead .lead_inner_txt h2 {
        font-size: 1.3rem;
    }
    #map .en {
        font-size: 1rem;
    }
    #map .map_tex_wrap {
        top: -60px;
        left: 0;
        padding: 5%;
        background-color: #2323234d;
    }
    #map .map_txt {
        font-size: 1rem;
    }
    #map .map_txt span,
    #map h2.map_ttl {
        font-size: 1.3rem;
        line-height: 1.8;
    }
    #business h3 {
        font-size: 1.5rem;
    }
    #greeting h3 {
        font-size: 1.2rem;
    }
    #recruit .recruit_txt .h2-subttl {
        font-size: 2rem!important;
    }
    #recruit .recruit_txt h3 {
        font-size: 1.5rem;
    }
    #partner h2 {
        font-size: 1.4rem;
    }
    #partner .partner-tags p,
    #partner_top .partner-tags p,
    #partner .partner-tags02 p:not(:last-child),
    #partner_top .partner-tags02 p:not(:last-child) {
        width: 100%;
        border: 1px solid #fcfbfa59;
    }
    /* 会社概要 */
    #company_gree h3,
    #company_ceo h3 {
        font-size: 1.3rem;
    }
    #company_gree .company_gree_box {
    max-width: 350px;
    }   
    #company_overview tr {
        display: flex;
        flex-direction: column;
    }
    #company_overview .wp-block-table tbody {
        border-top: 1px solid #232323;
    }
    #company_overview .wp-block-table td:first-child {
        width: 100%;
        background: #f6f3ef;
        text-align: center;
    }
    /*=== 事業内容　===*/
    #business_top .business_top_list {
        padding: 20px 0;
    }
    #business_top .business_top_list p {
        line-height: 1.5;
        padding-bottom: 5px;
    }
    .business_top_list .smb-box__body figure {
        flex: 0 0 120px;
    }
    .business_top_list a {
        font-size: 0.8rem;
    }
    .business_top_list a::after {
        margin-right: 10px;
    }    
    .business_top_box .wp-block-group h3 {
        font-size: 1.5rem;
    }
    .business_top_box figure {
        width: 75%;
    }
    #business_list .h2-subttl {
        position: static;
        padding-bottom: 15px;
        transform: none!important;
        text-align: center;
    }
    #business_list .wp-block-columns {
        padding: 30px;
    }
    /*=== 施工実績　===*/
    .single-works .taxonomy-works-cat {
        display: flex;
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    .single-works .taxonomy-works-cat a {
        margin-right: 0;
    }
    /*=== 採用情報　===*/
    #rec_top h3 {
        font-size: 1.5rem;
    }
    #rec_inner .wp-block-columns {
        padding-top: 30px;
    }
    #rec_inner .rec_inner_txt h3,
    #rec_work h3 {
        font-size: 1.5rem;
    }
    #rec_flow .wp-block-group {
        flex-direction: column;
        align-items: flex-start;
    }
    #rec_flow .wp-block-group .smb-buttons {
        width: 100%;
    }
    /*=== 協力会社募集　===*/
    #partner_top .h2-subttl,
    #partner_inner .h2-subttl {
        position: static;
        padding-bottom: 15px;
        transform: none!important;
        text-align: center;
    }
    #partner_inner .wp-block-columns {
        flex-direction: column;
    }
    #partner_inner .wp-block-column {
        width: 100%!important;
    } 
}
/*------- sp -------*/
@media screen and (max-width: 435px) {
    .smb-btn-wrapper {
        width: 100%;
    }
    a.smb-btn {
        width: 100%!important;
    }
    #contact-form {
        padding-top: 30px !important;
    }
    /* フッター */
    .l-footer .c-site-branding__title .custom-logo {
        width: 100%;
        max-width: none;
    }
    /* タイトル微調整 */
    #strengths .h2-subttl {
        bottom: -10px;
    }
    /* top */
    #fv .fv-slider .spider {
        height: 100vh;
        height: 100svh !important;
        aspect-ratio: 12 / 9 !important;
    }
    #fv .fv-logo {
        bottom: 0;
    }
    #fv .b-fv {
        font-size: 2.5rem !important;
    }
    #lead .lead_inner_txt .smb-container__body {
        width: 100%!important;
    }
    #strengths .strengths_inner .smb-container h3 {
        font-size: 1.3rem;
    }
    #recruit .recruit_txt .rec-tags {
        gap: 10px 5px;
    }
    #recruit .recruit_txt .rec-tags p,
    #rec-top .recruit_txt .rec-tags p {
        text-align: center;
        font-size: 0.9rem;
    }
    #business_list .wp-block-columns {
        flex-direction: column;
    }    
    .map_cover {
        padding: 0;
    }
    #map .map_tex_wrap {
        width: 100%;
        margin-right: 0!important;
        margin-left: 0!important;
    }
    /*=== 会社概要　===*/
    body #company_ceo .wp-block-column:nth-child(2) {
        top: 50%;
    }
    /*=== 事業内容　===*/
    .business_top_box .wp-block-group {
        width: 90%;
    }
    /*=== 施工実績　===*/
    .single-works .wp-block-table tbody {
        border-top: 1px solid #232323;
    }
    .single-works tr {
        display: flex;
        flex-direction: column;
    }
    .single-works .wp-block-table td,
    .single-works .wp-block-table td:first-child {
        width: 100%;
    }
    .single-works .wp-block-table td:first-child {
        text-align: center;
        background: #f6f3ef;
    }
    /*=== 採用情報　===*/
    #rec_top .rec_top_tags {
        flex-direction: column;
    }
    #rec_top .rec_top_tags p {
        width: 100%;
    }
    #rec_info tbody {
        border-top: none;
        border-right: none;
        border-left: none;
    }
    #rec_info .wp-block-table {
        border-right: 1px solid #232323;
        border-left: 1px solid #232323;
    }
    #rec_info tr:first-child td:first-child {
        border-top: 1px solid #232323;
    }
    #rec_info tr {
        display: flex;
        flex-direction: column;
    }
    #rec_info td {
        width: 100%;
        border-top: none;
    }
    #rec_info td:first-child {
        text-align: center;
        border-left: none;
    }
    #rec_info td:last-child {
        border-right: none;
    }
    /*=== 協力会社募集　===*/
    #partner_inner .wp-block-column .partner_inner_txt {
        padding: 30px 20px 0;
    }
}
