@charset "utf-8";

body {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    letter-spacing: 1px;
}

.l-contents__inner:last-child {
    padding-bottom: 0;
}

/*======================= 共通クラス =======================*/
p,
a,
li,
td {
    color: var(--wp--preset--color--sm-accent);
    font-weight: 400;
}

p {
    margin-top: 0 !important;
}

h2,
h3 {
    margin-top: 0 !important;
    color: var(--wp--preset--color--sm-accent);
}

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;
}

.mt_10 {
    margin-top: 10px !important;
}

.mb_10 {
    margin-bottom: 10px !important;
}

.mt_20 {
    margin-top: 20px !important;
}

.mb_20 {
    margin-bottom: 20px !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;
}

.br_20 {
    border-radius: 20px !important;
}

/* アイコン */
svg.svg-inline--fa {
    margin-right: 10px;
}

.p-global-nav--hover-extend-underline .c-navbar__item.cta:hover>a:after {
    width: 0;
}

/*======================= ボタン =======================*/
.smb-btn-wrapper {
    position: relative;
    z-index: 0;
}

a.smb-btn {
    position: relative;
    width: 280px !important;
    padding: 12px;
    border-radius: 0;
    background-color: var(--wp--preset--color--sm-accent);
    font-weight: 500;
}

a.smb-btn::before {
    position: absolute;
    top: 5px;
    right: -5px;
    z-index: -999 !important;
    width: 100%;
    height: 100%;
    border: solid 1px var(--wp--preset--color--sm-accent);
    content: "";

    pointer-events: none;
}


a.smb-btn:hover {
    background-color: #ffd13b !important;
    color: var(--wp--preset--color--sm-accent) !important;
    filter: none;
}

a.smb-btn:hover::before {
    z-index: -999;
    border: solid 1px #005782;
}

@media screen and (max-width: 500px) {
    .btn_center {
        justify-content: center !important;
    }
}

/*======================= ヘッダー =======================*/
/* g_nav */
.header_cta span {
    border: solid 1px;
    padding: 10px 20px;
}

.header_cta:hover span {
    background-color: #ffffff6e;

}

.l-header .c-row__col.c-row__col--fit.u-invisible-md-down a {
    color: #ffffff;
}

/* .header_cta.tel a {
    font-family: "Oswald", sans-serif;
    font-size: 1.8rem;
}

.header_cta.tel::after {
    position: absolute;
    right: 40px;
    bottom: -2px;
    color: #ffffff;
    font-size: 14px;
    content: "受付時間：9:00-17:00";
}

.header_cta.tel svg {
    font-size: 1.4rem;
} */

/* memo */
/* === dark-mode: 白文字にする === */
body.dark-mode .l-header a,
body.dark-mode .l-header a span,
body.dark-mode .l-header span,
body.dark-mode .l-header svg,
body.dark-mode .l-header [class*="fa-"],
body.dark-mode .l-header .header_cta.tel::after {
    color: #ffffff !important;

    fill: #ffffff !important;
}

/* === bright-mode: 黒文字にする === */
body.bright-mode .l-header a,
body.bright-mode .l-header a span,
body.bright-mode .l-header span,
body.bright-mode .l-header svg,
body.bright-mode .l-header [class*="fa-"],
body.bright-mode .l-header .header_cta.tel::after {
    color: var(--wp--preset--color--sm-accent) !important;

    fill: var(--wp--preset--color--sm-accent) !important;
}

body.bright-mode .c-navbar__submenu .c-navbar__subitem#menu-item-29>a {
    color: #ffffff !important;

    fill: #ffffff !important;
}

/* 下層ページヘッダー */
.c-navbar__submenu .c-navbar__subitem#menu-item-29>a {
    font-weight: 500;
}

.c-site-branding__title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.l-contents__inner {
    margin-top: 0 !important;
}

.c-page-header {
    position: relative;
    z-index: 1;
    padding: 130px 0 50px;
    color: #ffffff;
}

.c-page-header::before {
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/AdobeStock_167754505-1.jpeg);
    background-position: 50% 20%;
    background-size: cover;
    filter: brightness(68%);
    content: "";

    pointer-events: none;
}

.c-page-header__content {
    position: relative;
    z-index: 1;
}

/* .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;
}

.tel a {
    line-height: 1.1 !important;
}

.tel-num {
    font-size: 1.5rem !important;
}

.tel-num svg {
    font-size: 1.3rem;
}

.l-header span.time {
    padding-top: 10px !important;
    font-size: 14px !important;
    font-weight: 400;
}

[data-scrolled="true"] .c-navbar__item>a,
[data-scrolled="true"] .c-navbar__item>a span,
[data-scrolled="true"] .header_cta a,
[data-scrolled="true"] .header_cta a span,
[data-scrolled="true"] .header_cta a svg,
[data-scrolled="true"] .header_cta.tel::after {
    color: var(--wp--preset--color--sm-accent) !important;

    fill: var(--wp--preset--color--sm-accent) !important;
}

@media (max-width: 1023px) {
    .c-page-header {
        padding: 130px 0 50px !important;
    }
}

/* ハンバーガーメニュー */
.c-drawer{
background-color:#ffd13b;
}
.l-header .c-row__col.c-row__col--fit.u-invisible-lg-up {
    padding-top: 5px !important;
}

.c-hamburger-btn__bar {
    height: 2px;
}

.c-drawer a {
/*     color: #ffffff; */
    font-weight: 500;
    text-align: center;
}

.c-drawer__menu {
    padding-top: 50px !important;
}

.c-drawer .ham_tel {
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: .8;
}

.c-drawer .ham_tel a {
    font-family: "Oswald", sans-serif;
    font-size: 1.8rem;
}

.c-drawer .ham_tel a svg {
    font-size: 1.4rem;
}

.c-drawer span.ham_time {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-size: 15px;
    font-weight: 400;
}

.c-drawer .ham_mail {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.c-drawer .ham_mail a {
    width: 85%;
    padding: 13px 15px;
    background-color: #ffffff;
    color: var(--wp--preset--color--sm-accent);
}

/* === dark-mode（白文字） === */
body.dark-mode .c-hamburger-btn__bar {
    background-color: #ffffff;
}

body.dark-mode .c-hamburger-btn__label {
    background-color: transparent !important;
    color: #ffffff !important;

    fill: #ffffff !important;
}

/* === bright-mode（テーマ色） === */
.bright-mode .c-hamburger-btn__bar {
    background-color: var(--wp--preset--color--sm-accent);
}

.bright-mode .c-hamburger-btn__label {
    background-color: transparent !important;
    color: var(--wp--preset--color--sm-accent) !important;

    fill: var(--wp--preset--color--sm-accent) !important;
}

body.archive .c-hamburger-btn__bar.is-in-body,
body.blog .c-hamburger-btn__bar.is-in-body,
body.single-works .c-hamburger-btn__bar.is-in-body,
body.single-post .c-hamburger-btn__bar.is-in-body {
    background-color: var(--wp--preset--color--sm-accent);
}

body.archive .c-hamburger-btn__label.is-in-body,
body.blog .c-hamburger-btn__label.is-in-body,
body.single-works .c-hamburger-btn__label.is-in-body,
body.single-post .c-hamburger-btn__label.is-in-body {
    color: var(--wp--preset--color--sm-accent) !important;
}

/*======================= フッター =======================*/
#page-top svg {
    margin-right: 0;
}

.l-footer.l-footer--footer-2 {
    z-index: 999;
    margin-top: -1px;
    background-color: #007ec5;
    color: #ffffff;
    font-weight: 500;
}

.l-footer.l-footer--footer-2 a,
.l-footer-widget-area__item p {
    color: #ffffff;
    font-weight: 500;
}

.l-footer .c-row>.c-row__col {
    margin-bottom: 0 !important;
}

.l-footer .footer_logo {
    width: 300px;
    margin-bottom: 20px;
    margin-left: 0 !important;
}

.ekiten_logo {
    margin-top: 20px;
}

.l-footer--footer-2 .l-footer__header {
    display: none;
}

.l-footer--footer-2 .l-footer__footer {
    background-color: #007ec5;
}

.l-footer,
.l-footer--footer-2 .l-footer__body {
    border-top: none;
}

.l-footer .l-footer__footer .c-row--middle {
    justify-content: center;
}

/* 波 */
.smb-section.bright-mode {
    position: relative;
    z-index: 1;
    margin-top: -1px !important;
    border-top: none !important;
    box-shadow: none !important;
}

.wave-group {
    position: relative;
    width: 100%;
    height: 20vw;
    min-height: 120px;
    max-height: 220px;
    margin-bottom: 0;
    overflow: hidden;
    line-height: 0;
}

.waves {
    display: block;
    transform: translateY(1px) scaleY(1.02);
    /* transform: translateY(1px); */
    width: 200%;
    height: 101%;
}

.wave_g>use {
    animation: waveMove 45s linear infinite;
}

.wave_g>use:nth-child(1) {
    animation-duration: 90s;
    animation-delay: 0s;
}

.wave_g>use:nth-child(2) {
    animation-duration: 60s;
    animation-delay: -5s;
}

.wave_g>use:nth-child(3) {
    animation-duration: 45s;
    animation-delay: -10s;
}

.wave_g>use:nth-child(4) {
    animation-duration: 30s;
    animation-delay: -15s;
}

@keyframes waveMove {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-176px);
    }
}

@media screen and (max-width: 1023px) {
    .c-widget.widget_block .wp-block-columns {
        margin-top: 30px;
    }
}

@media screen and (max-width: 782px) {

    /* footer */
    .c-widget.widget_block .wp-block-columns {
        gap: var(--_margin-2);
    }
}

@media screen and (max-width: 650px) {

    .l-footer--footer-2 .l-footer__widget-area a,
    .l-footer--footer-2 .l-footer__widget-area p {
        font-size: 15px;
    }
}

@media screen and (max-width: 435px) {
    .l-footer .c-container {
        padding: 0 5%;
    }
}

/*======================= トップページ =======================*/
/* ファーストビュー */

#fv {
    position: sticky;
    top: 0;
    height: calc(var(--real-vh, 1vh) * 100);
    min-height: 100vh;
    overflow: hidden;
    background-color: #005782;
}


/* 画像スライド */
.fv-img-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.fv-img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 120vw;
    height: 100%;
    animation: img-slide-once 40s ease-out forwards;

    object-fit: cover;
    object-position: 50% 40%;
}

.fv-img::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(132, 179, 209, 1));
    content: "";

    pointer-events: none;
}

@keyframes img-slide-once {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-15vw);
    }
}

#fv .smb-section__inner,
#fv .smb-section__inner>.c-container {
    position: static;
}

/* .fv_txt-group {
    position: absolute;
    bottom: 7%;
    padding: 0 5%;
} */

.fv_txt-group {
    position: absolute;
    right: 0;
    bottom: 5%;
    left: 0;
    z-index: 2;
    padding: 0 5%;
    padding-bottom: calc(env(safe-area-inset-bottom, 0) + 5vh);
}

h2.fv_ja-ttl {
    position: relative;
    margin-bottom: 0 !important;
    font-size: 2.25rem;
}

h2.fv_ja-ttl span {
    margin-right: 30px !important;
	position:relative;
}

h2.fv_ja-ttl::after {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    content: "";
    animation: line-one 2s ease-out 0s 1 forwards;

    transform-origin: left;
	width:60%;
}

@keyframes line-one {
    0% {
        transform: scaleX(0);
    }

    100% {
        transform: scaleX(1);
    }
}


h3.fv_en-ttl {
    margin-top: 0 !important;
    font-family: "Oswald", sans-serif;
    font-size: 7.5rem;
    font-weight: 600;
    line-height: 1;
}

.fv_btn-group {
    display: flex;
    gap: 60px;
    margin-top: 20px;
}

#fv .fv_btn {
    margin: 0 !important;
    transition-duration: .9s;
}

#fv .fv_btn span::before {
    position: absolute;
    top: 50%;
    right: -23px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

#fv .fv_btn a {
    display: block;
    width: fit-content !important;
    padding: 0;
    background-color: transparent;
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 500;
}

#fv .fv_btn a::before {
    border: none;
}

#fv .fv_btn a:hover {
    background-color: transparent !important;
}

/* business */
#business {
    position: relative;
    padding: 450px 0 100px;
    overflow: hidden;
    background: linear-gradient(to bottom,
            rgba(100, 140, 190, 0) 0%,
            rgba(100, 140, 190, .24) 8%,
            rgba(90, 130, 180, .53) 16%,
            rgba(80, 120, 170, .83) 28%,
            rgba(70, 110, 160, 1) 42%,
            rgb(60, 100, 150) 55%,
            rgb(50, 90, 140) 70%,
            rgb(40, 80, 130) 85%,
            rgb(30, 70, 120) 100%);
}

#business::before {
    position: absolute;
    top: 40%;
    right: 10%;
    width: 211px;
    height: 137px;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/w_bird-1.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
    animation: fly 6s cubic-bezier(.42, 0, .58, 1) infinite;
}

@keyframes fly {
    0% {
        transform: translateY(0) rotate(0deg) scale(1);
    }

    20% {
        transform: translateY(-8px) rotate(1deg) scale(1.02);
    }

    50% {
        transform: translateY(0) rotate(0deg) scale(1);
    }

    80% {
        transform: translateY(8px) rotate(-1deg) scale(.98);
    }

    100% {
        transform: translateY(0) rotate(0deg) scale(1);
    }
}

#business h2,
#business h3,
#business .sub_ttl,
#business p {
    color: #ffffff;
}

.business_column {
    gap: 50px !important;
}

h2 {
    font-size: 3rem;
    line-height: 1.3;
}

.sub_ttl {
    margin-bottom: 5px;
    font-family: "Oswald", sans-serif;
    font-size: 1.25rem;
    font-weight: 600;

}
.sub_ttl span{
position:relative;
		padding-left:20px;
	z-index:2;
}
.sub_ttl span::before{
position: absolute;
    top: 60%;
    left: 0;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #ffd13b;
    content: "";
}

#business h3 {
    margin-bottom: 20px;
    font-size: 1.5rem;
}

#business .busi_copy {
    font-weight: 500;
    line-height: 2.5;
}

#business .white_btn a {
    background-color: #ffffff;
    color: var(--wp--preset--color--sm-accent);
}

#business .white_btn a::before {
    z-index: -1;
    border: solid 1px #ffffff;
    content: "";
}

#business .white_btn a:hover {
    background-color: #bde6f7 !important;
    color: var(--wp--preset--color--sm-accent) !important;
    filter: none;
}

#business .white_btn a:hover::before {
    border: solid 1px #bde6f7 !important;
}

/* 施工実績 */
#works {
    background: #ffffff;
}


#works .works_posts {
    margin-top: -170px;
}

#works .spider__dots {
    margin-top: 10px;
}

#works .spider__dot {
    width: 7px;
    height: 7px;
}

#works .c-entry-summary__header {
    position: relative;
    margin-bottom: 0 !important;
}

#works .c-entry-summary__header::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/a2.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

#works .spider__slide {
    padding: 18px;
    background-color: #f2f7fd;
}

/* loop */
#loop {
    overflow: visible;
    background-color: #ffffff;
}

.loop_box .loop_img_02 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 450px;
    margin-right: 50px !important;
    overflow: visible !important;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/05/loop_pc.png);
    background-position: center bottom;
    background-size: contain;
    background-repeat: repeat-x;
    animation: loop_img 130s linear infinite;
}

.loop_box {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0 !important;
}

@keyframes loop_img {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: -4000px 0;
    }
}

/* 選ばれる理由 */
/* #reasons {
    position: relative;
    background: linear-gradient(0deg, rgb(174, 210, 233) 0%, rgb(255, 255, 255) 100%),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n' x='0' y='0'><feTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    background-size: cover;
    background-repeat: repeat;
    overflow: visible;
    background-blend-mode: overlay;
    image-rendering: pixelated;
} */
#reasons {
    position: relative;
    overflow: visible;
    background: linear-gradient(0deg, rgb(174, 210, 233) 0%, rgb(255, 255, 255) 100%),
        url(https://inaba-works.com/wp-content/uploads/2025/04/noise.svg);
    background-size: cover;
    background-repeat: repeat;

    background-blend-mode: overlay;
    image-rendering: pixelated;
}

.reasons_sub-ttl {
    font-weight: 600;
}

#reasons h3 {
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: solid 1px;
    font-size: 2.25rem;
}

.reasons_img,
.reasons_img2 {
    position: relative;
    z-index: 0;
}

.reasons_img::before {
    position: absolute;
    top: 25px;
    right: -25px;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #91c2e24a;
    content: "";
}

.reasons_img2::before {
    right: 0;
    left: -25px;
}

.reasons_banner {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 20px 30px;
    border-radius: 0 !important;
    background-color: #ffffff;
}

.reasons_banner .smb-box__background {
    border: none !important;
}

.reasons_banner::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 103%;
    height: 112%;
    border: solid 1px;
    content: "";
}

.reasons_banner:hover {
    transform: translateY(-2px);
    transition: transform .1s ease;
}

.reasons_banner p {
    font-weight: 500;
}

.reasons_banner::after {
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 15px;
    height: 15px;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/link_arrowup.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

/* .rea_logo {
    opacity: .05;
    position: absolute;
    top: -5%;
    left: 0;
    z-index: 1;
}

.rea_logo img {
    width: 40%;
} */
.rea_logo {
    opacity: .06;
    position: absolute;
    top: -5%;
    left: -5%;
    z-index: 1;
    width: 100%;
    overflow: visible;
}

.rea_logo img {
    display: block;
    width: 40%;
    height: auto;
}

.daihyo_pic img{
	    object-position: 50% 90%;
}


/* 文字スライド */
/* #txt_loop {
    position: relative;
    padding-top: 0;
    background: linear-gradient(180deg, rgb(174, 210, 233) 0%, rgb(255, 255, 255) 100%),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n' x='0' y='0'><feTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    background-size: cover;
    background-repeat: repeat;

    background-blend-mode: overlay;
    image-rendering: pixelated;
} */
#txt_loop {
    position: relative;
    padding-top: 0;
    background: linear-gradient(180deg, rgb(174, 210, 233) 0%, rgb(255, 255, 255) 100%),
        url(https://inaba-works.com/wp-content/uploads/2025/04/noise.svg);
    background-size: cover;
    background-repeat: repeat;

    background-blend-mode: overlay;
    image-rendering: pixelated;
}

/* Firefoxだけに適用するCSS */
@-moz-document url-prefix() {
    #txt_loop {
        background: linear-gradient(180deg, rgb(174, 210, 233) 0%, rgb(255, 255, 255) 100%);
        background-size: cover;
        background-repeat: no-repeat;

        background-blend-mode: normal;
    }

    #reasons {
        background: linear-gradient(0deg, rgb(174, 210, 233) 0%, rgb(255, 255, 255) 100%);
        background-size: cover;
        background-repeat: no-repeat;

        background-blend-mode: normal;
    }
}


.slide_box {
    height: 150px;
    margin-top: 80px;
}

.slide_box .smb-box__background {
    border: none;
}

.slide_box::before {
    display: block;
    opacity: .5;
    position: absolute;
    height: 100%;
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/loop_txt.png);
    background-position: 0 center;
    background-size: auto 100%;
    background-repeat: repeat-x;
    content: "";
    animation: txt_slide 80s linear infinite;

    inset: 0;
}

@keyframes txt_slide {
    0% {
        background-position: 0 center;

        -webkit-background-position: 0 center;
    }

    100% {
        background-position: -3528px center;

        -webkit-background-position: -3528px center;
    }
}

/* 代表挨拶 */
#greeting h3 {
    margin-top: 30px !important;
    margin-bottom: 10px;
}

.greeting {
    position: relative;
}

/*======================= CTA =======================*/
#cta h2 {
    position: relative;
    z-index: 1;
}

#cta .cta_group {
    margin-top: -20px;
}

#cta .cta_tel-btn a,
#area .cta_tel-btn a,
#busi_flow .cta_tel-btn a {
    padding: 0 !important;
    background-color: transparent;
}


#cta .cta_tel-btn a::before,
#area .cta_tel-btn a::before,
#busi_flow .cta_tel-btn a::before {
    border: none !important;
}

#cta .cta_tel-btn a:hover,
#area .cta_tel-btn a:hover,
#busi_flow .cta_tel-btn a:hover {
    background-color: transparent !important;
    color: #005782 !important;
}

/* #cta .tel_txt,
#area .tel_txt,
#busi_flow .tel_txt {
    font-size: 1.8rem;
    font-weight: 500;
}

#cta .cta_tel,
#area .cta_tel,
#busi_flow .cta_tel {
    font-family: "Oswald", sans-serif;
    font-size: 3.8rem;
    font-weight: 600;
} */
.cta_tag-group {
    margin-top: 20px !important
}

.cta_tag-group p {
    border-bottom: solid 1px;
    padding: 3px;
    font-weight: 500;
}

#cta .cta_mail a,
#area .cta_mail a,
#busi_flow .cta_mail a {
    display: flex;
    align-items: center;
    width: 330px !important;
    height: 60px;
    background-color: var(--wp--preset--color--sm-accent);
    color: #ffffff;
}

#cta .tel_column,
#area .tel_column,
#busi_flow .tel_column {
    position: relative;
}

#cta .tel_column::before,
#area .tel_column::before,
#busi_flow .tel_column::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 70px;
    background-color: #333333;
    content: "";

    -webkit-transform: translateY(-50%);
}

/*======================= 事業内容 =======================*/
/* ph */
.c-page-header {
    height: 55vh;
    overflow: visible;
}

.page-id-21 .c-page-header::before {
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/32269848_m-1.jpg) !important;
    background-position: 50% 30%;
}

.c-page-header__title {
    position: absolute;
    bottom: 5%;
    left: 5%;
    color: #ffffff;
}

.page-id-21 .c-page-header__title::after {
    position: absolute;
    bottom: 55%;
    left: 0;
    color: #ffffffa1;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    content: "BUSINESS";
}

.c-page-header__content,
.c-page-header .c-container {
    position: static;
}

#b_1 h2 {
    margin-bottom: 20px !important;
}

.b1_txt {
    font-weight: 500;
    line-height: 2.5 !important;
}

.b1_img1 {
    opacity: .2;
    position: absolute;
    bottom: 0;
    left: 0;
}

.b1_img1 img {
    transform: scaleX(-1);
    width: 40% !important;
}

.b1_img2 {
    opacity: .2;
    position: absolute;
    top: -15%;
    right: 0;
    width: 30%;
}

/* 主なサービス内容 */
#business_menu h2,
#business_menu .sub_ttl {
    color: #ffffff;
}

#business_menu h2 {
    margin-bottom: 40px !important;
}

#business_menu h3 {
    width: fit-content;
    margin-bottom: 10px;
    padding: 0 5px 3px;
    border-bottom: solid 1px;
}

.business_panel .smb-panels__item {
    box-shadow: 0 6px 16px 0 rgb(165 222 255 / 27%);
}

.business_panel .c-row {
    justify-content: center;
}

.business_panel .smb-panels__item__body {
    padding: 0;
}

.business_txt-group {
    padding: 25px;
}

.panel_img {
    position: relative;
}

.panel_img::before {
    position: absolute;
    bottom: -3%;
    left: 4%;
    z-index: 999;
    color: #ffffff;
    font-family: "Oswald", sans-serif;
    font-size: 5rem;
    font-weight: 900;
    line-height: 1;
    content: "01";

    transform-origin: bottom;
}

.panel_img2::before {
    content: "02" !important;
}

.panel_img3::before {
    content: "03" !important;
}

.panel_img4::before {
    content: "04" !important;
}

.panel_img5::before {
    content: "05" !important;
}

/* 対応エリア */
#area {
    z-index: 0;
    overflow: hidden;
}

.area {
    position: relative;
    overflow: hidden;
}

.area .smb-section__inner {
    position: relative;
    z-index: 2;
}

#area h2 {
    margin-bottom: 30px;
}

#area h3 {
    margin-bottom: 10px;
}

#area .area_cta-group {
    padding: 30px;
    background-color: #ffffff96;
}

#area h3.area_cta-ttl {
    margin-top: -50px !important;
    font-size: 2.1rem;
}

#area .cta_group {
    margin-top: 40px !important;
}

/* 流れ */
#busi_flow h2 {
    margin-bottom: 20px;
}

#busi_flow .smb-step__item__number {
    background-color: var(--wp--preset--color--sm-accent);
}

#busi_flow .smb-step__item__number::before {
    font-size: 1.1rem;
    font-weight: 600;
}

#busi_flow .smb-step__item__title>span {
    color: var(--wp--preset--color--sm-accent) !important;
    font-size: 1.3rem;
}

#busi_flow .smb-step__body::before {
    border-left: 2px dotted var(--smb-step--border-color);
}

/*======================= 会社概要 =======================*/
.page-id-19 .c-page-header::before {
    background-image: url(https://inaba-works.com/wp-content/uploads/2025/04/3000325_m-1.jpg) !important;
    background-position: 50% 90%;
}

.page-id-19 .c-page-header__title::after {
    position: absolute;
    bottom: 55%;
    left: 0;
    color: #ffffffa1;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    content: "COMPANY";
}

.shikaku {
    margin-top: 20px !important;
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: solid 1px;
    font-size: 1.1rem;
    font-weight: 600;
}

/* 会社概要 bg-color */
figure.wp-block-table tr td:first-child,
figure.wp-block-table tr td:first-child {
    width: 30%;
    background-color: var(--wp--preset--color--sm-accent);
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 400;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
}

figure.wp-block-table tr td:last-child,
figure.wp-block-table tr td:last-child {
    background-color: #ffffff;
}

@media screen and (max-width: 435px) {

    figure.wp-block-table tr td:first-child,
    figure.wp-block-table tr td:first-child {
        width: 32%;
        font-size: 1rem !important;
    }
}

/*======================= 施工実績 =======================*/
.post-type-archive-works .wave-section {
    margin: 0 calc(50% - 50vw) !important;
}

.post-type-archive-works .c-page-header__title::after {
    position: absolute;
    bottom: 55%;
    left: 0;
    color: #ffffffa1;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    content: "WORKS";
}

/*======================= お問い合わせ =======================*/
.page-id-23 .c-page-header__title::after {
    position: absolute;
    bottom: 55%;
    left: 0;
    color: #ffffffa1;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    content: "CONTACT";
}

#contact-form span {
    color: var(--wp--preset--color--sm-accent) !important;
}

/* placeholder */
.smf-text-control__control::placeholder {
    color: #cccccc !important;
}

.wp-block-snow-monkey-forms-item.smf-item {
    margin-bottom: 30px !important;
}

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
    border: none !important;
}

/* 必須の文字 */
.smf-item__col.smf-item__col--label {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.smf-item__description {
    width: fit-content;
    margin-top: 0;
    margin-left: 20px;
    padding: 0 .5em;
    border-radius: 50px;
    background-color: #cd2b43;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
}

/* ボックス */
.wp-block-snow-monkey-blocks-box.smb-box.contact-form_box {
    padding: 50px !important;
}

.wp-block-snow-monkey-blocks-box.smb-box.contact-form_box .smb-box__background {
    border: none;
    border-radius: 0;
    background-color: #f8f7f7;
}

.smf-item__label {
    font-weight: 600;
}

.smf-form .smf-text-control__control {
    width: 100%;
    border-radius: 0;
}

/* 項目の幅 */
.snow-monkey-form .smf-form.smf-form--simple-table .smf-item .smf-item__col--label {
    flex: 0 0 18em !important;
    max-width: 18em !important;
}

.snow-monkey-form .smf-form.smf-form--simple-table .smf-item .smf-item__col--controls {
    flex: 1 1 calc(100% - 18em) !important;
    max-width: calc(100% - 18em) !important;
}

.smf-radio-buttons-control__control .smf-label {
    margin-bottom: 7px !important;
}

/* 確認ボタン */
.smf-action {
    margin-bottom: 0 !important;
}

.smf-action .smf-button-control__control {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin-top: 20px;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border: none;
    border: solid 2px var(--wp--preset--color--sm-accent) !important;
    border-radius: 0;
    background: var(--wp--preset--color--sm-accent);
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 3px;
}

.smf-action .smf-button-control__control:hover {
    border: solid 2px var(--wp--preset--color--sm-accent) !important;
    background: #ffffff;
    color: var(--wp--preset--color--sm-accent);
}

.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;
}

/* プライバシーポリシー */
#privacy h3 {
    margin-top: 55px !important;
    margin-bottom: 20px !important;
    padding-left: 10px;
    border-left: solid 3px var(--wp--preset--color--sm-accent);
    font-weight: 700;
}

#privacy .wp-block-list {
    margin-top: 10px !important;
}

/* お問い合わせ完了画面 */
.cfm_list-b {
    width: fit-content;
    margin: 20px auto !important;
    padding: 30px 20px;
    background-color: #e8e8e8;
}

.cfm_last-txt svg.svg-inline--fa {
    margin-right: 5px;
    font-size: 13px;
}

/*===================================== お知らせ =====================================*/
.blog .wave-section {
    margin: 0 calc(50% - 50vw) !important;
}

.blog .c-page-header__title::after {
    position: absolute;
    bottom: 55%;
    left: 0;
    color: #ffffffa1;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    content: "NEWS";
}

.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;
    }
}

/*==================================================================================*/
/*=================================== レスポンシブ ===================================*/
/*==================================================================================*/
@media (orientation: landscape) and (max-width: 767px) {
    h3.fv_en-ttl {
        font-size: 5rem;
    }

    h2.fv_ja-ttl {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 1095px) {
    .header_cta.tel a {
        font-size: 1.3rem;
    }

    .header_cta.tel svg {
        font-size: 1.1rem;
    }

    .header_cta.tel::after {
        right: 28px;
        font-size: 13px;
    }

    .c-site-branding__title .custom-logo {
        width: 300px;
    }

    #cta .cta_tel,
    #area .cta_tel,
    #busi_flow .cta_tel {
        font-size: 3rem;
    }

    #cta .tel_txt,
    #area .tel_txt,
    #busi_flow .tel_txt {
        font-size: 1.5rem;
    }

    #cta .cta_mail a,
    #area .cta_mail a,
    #busi_flow .cta_mail a {
        width: 300px !important;
    }

    #business::before {
        top: 35%;
        right: 5%;
        width: 191px;
        height: 109px;
    }

    /* 会社概要 */
    .sp325.top-l {
        height: 300px !important;
    }

    .loop_box .loop_img_02 {
        height: 270px;
    }
}


@media screen and (max-width: 900px) {
    #business::before {
        top: 31%;
    }


    .cta_parent {
        display: block !important;
    }

    #cta .tel_column::before,
    #area .tel_column::before,
    #busi_flow .tel_column::before {
        display: none;
    }

    .tel_column {
        margin-bottom: 30px !important;
    }

    #cta .cta_tel,
    #area .cta_tel,
    #busi_flow .cta_tel {
        font-size: 3rem;
    }

    #cta .tel_txt,
    #area .tel_txt,
    #busi_flow .tel_txt {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 850px) {
    .b1_img2 {
        width: 40%;
    }
}

@media screen and (max-width: 781px) {
    .c-page-header__title::after {
        font-size: 5rem !important;
    }

    /* FV */
    .fv-img-wrapper {
        overflow: visible !important;
    }

    .fv-img {
        top: -80px !important;
        min-height: 120vh !important;
        animation: img-slide-once 30s ease-out forwards;

        object-position: 56% 25% !important;
    }

    .fv_txt-group {
        bottom: 10%;
    }

    .fv_btn-group {
        gap: 40px;
        margin-top: 10px;
    }

    h2.fv_ja-ttl {
        font-size: 1.8rem;
    }

    .rea_logo {
        top: -2%;
    }

    .rea_logo img {
        width: 60%;
    }

    #business {
        padding: 300px 0 100px;
        background: linear-gradient(to bottom, rgba(100, 140, 190, 0) 0%, rgba(100, 140, 190, .3) 8%, rgb(90 130 180 / 88%) 16%, rgb(80 120 170) 28%, rgba(70, 110, 160, 1) 42%, rgb(60, 100, 150) 55%, rgb(50, 90, 140) 70%, rgb(40, 80, 130) 85%, rgb(30, 70, 120) 100%);
    }

    #business::before {
        top: 15%;
    }

    .rev-reasons_parent {
        flex-direction: column-reverse;
    }

    .loop_box .loop_img_02 {
        height: 220px;
        background-size: cover;
    }

    .daihyo_pic img {
        aspect-ratio: 4/3 !important;
    object-position: 50% 65%;
    }
}

@media screen and (max-width: 639px) {
    .b1_img2 {
        width: 55%;
    }

    .b1_img1 img {
        width: 50% !important;
    }

    .snow-monkey-form .smf-form.smf-form--simple-table .smf-item .smf-item__col--controls {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }

    .wp-block-snow-monkey-blocks-box.smb-box.contact-form_box {
        padding: 35px !important;
    }
}

@media screen and (max-width: 600px) {
    h2 {
        font-size: 2.5rem;
    }

    #reasons h3 {
        font-size: 1.8rem;
    }

    .reasons_sub-ttl {
        font-size: 15px;
    }
}

@media screen and (max-width: 500px) {
    #business::before {
        width: 131px;
        height: 89px;
    }

    .b1_img2 {
        top: -8%;
    }
}

@media screen and (max-width: 480px) {
    .panel_img::before {
        font-size: 5rem;
    }
}

@media screen and (max-width: 450px) {
    .panel_img::before {
        font-size: 5rem;
    }
}

@media screen and (max-width: 435px) {
    .c-container {
        padding: 0 6%;
    }

    h2 {
        font-size: 2rem;
    }

    .sp_none {
        display: none;
    }

    .ta_js {
        text-align: justify !important;
    }

    .c-page-header__title::after {
        bottom: 65% !important;
        font-size: 4rem !important;
    }

    .panel_img::before {
        font-size: 4rem;
    }

    .c-site-branding__title .custom-logo {
        width: 200px;
    }

    .l-header .c-row__col.c-row__col--auto {
        padding-left: 0 !important;
    }

    .l-header .c-row__col.c-row__col--fit.u-invisible-lg-up {
        padding-right: 0 !important;
    }


    .fv_btn-group {
        display: block;
    }

    #fv .fv_btn a {
        font-size: 1rem;
    }

    h2.fv_ja-ttl {
        font-size: 1.2rem;
    }

    h2.fv_ja-ttl::after {
        width: 30%;
    }

    h3.fv_en-ttl {
        font-size: 5rem;
    }

    /* TOP */
    #business::before {
        top: 21%;
        right: 4%;
        width: 111px;
        height: 67px;
    }

    #area h3.area_cta-ttl {
        font-size: 1.5rem;
    }

    /* CTA */
    .wp-block-snow-monkey-blocks-box.smb-box.contact-form_box {
        padding: 25px !important;
    }

    #cta .cta_tel,
    #area .cta_tel,
    #busi_flow .cta_tel {
        font-size: 2.8rem;
    }

    #cta .tel_txt,
    #area .tel_txt,
    #busi_flow .tel_txt {
        font-size: 1.3rem;
    }

    #cta .cta_mail a,
    #area .cta_mail a,
    #busi_flow .cta_mail a {
        width: 280px !important;
        height: 55px;
    }

    .l-footer .footer_logo {
        width: 280px;
    }

    .rea_logo img {
        width: 100%;
    }

    .smf-item__col.smf-item__col--label {
        margin-bottom: 0;
        padding-bottom: 10px;
    }

    .wp-block-snow-monkey-forms-item.smf-item {
        margin-bottom: 20px !important;
    }

    /* 事業内容 */
    .b1_img2 {
        width: 65%;
    }

    .b1_img1 img {
        width: 57% !important;
    }

    .b1_txt {
        line-height: 2 !important;
    }

    #reasons h3 {
        font-size: 1.5rem;
    }

    #busi_flow a.smb-btn {
        width: 250px !important;
    }
	    .sp325.top-l {
        height: 450px !important;
    }
	    .loop_box .loop_img_02 {
			height: 420px;}
}


@media screen and (max-width: 380px) {

    #cta .cta_tel,
    #area .cta_tel,
    #busi_flow .cta_tel {
        font-size: 2.5rem;
    }

    #cta .tel_txt,
    #area .tel_txt,
    #busi_flow .tel_txt {
        font-size: 1rem;
    }

    #cta .cta_mail a,
    #area .cta_mail a,
    #busi_flow .cta_mail a {
        width: 260px !important;
    }
}