html {
    scroll-behavior: smooth;
    scroll-padding-top: 180px;
}
body {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	letter-spacing:1px;
}
.l-contents__inner:last-child {
    padding-bottom: 0;
}
/* 基本設定 */
p,
a,
li{
    font-weight: 500;
}
.pt_0{
	padding-top:0!important;
}
.pt_10{
	padding-top:10px!important;
}
.pt_120{
	padding-top:120px!important;
}
.pb_0{
	padding-bottom:0!important;
}
.pb_10{
	padding-bottom:10px!important;
}
.pb_120{
    padding-bottom:120px!important;
}
.mt_0{
	margin-top:0!important;
}
.mb_0{
	margin-bottom:0!important;
}
.mr_0{
	margin-right: 0!important;
}
.ml_0{
	margin-left: 0!important;
}
.mt_10{
	margin-top:10px!important;
}
.mb_10{
	margin-bottom:10px!important;
}
.mb_60{
    margin-bottom:60px!important;
}
.mb_120 {
    margin-bottom: 120px;
}
.z_0 {
    z-index: 0;
}
.z_1 {
    z-index: 1;
}
.p_ab{
	position: absolute;
}
.p_rel{
	position: relative;
}
.d_flex{
	display:flex;
}
.d_flex.f_wrap {
    flex-wrap: wrap;
}
.inline_b{
	display:inline-block;
}
.js_sb{
	justify-content:space-between;
}
.js_fs{
	justify-content:flex-start;
}
.of_hd{
	overflow: hidden;
}
.border_pink {
    border-bottom: 2px solid #ed7780!important;
}
.en{
	font-family: "Oswald", sans-serif;
}
.smb-panels__item__action>a:focus:after {
    outline: none;
    outline-offset: 0px;
}
.tate{
	writing-mode: vertical-rl;
}
/* 基本設定 終わり*/
/* アイコン */
svg.svg-inline--fa {
    margin-right: 7px;
}
 .p-global-nav--hover-extend-underline .c-navbar__item.cta:hover>a:after {
    width: 0;
}
/* アイコン 終わり*/
/* ボタン */
a.smb-btn,
.cta a span {
	background-color: var(--wp--preset--color--sm-accent);
    position: relative;
    transition: .25s;
    color: #fff;
	border-radius: 0;
	font-size: 1.1rem;
}
.cta a span {
    margin-left: 10px;
    padding: 0.5rem 1.8rem!important;
    max-height: 3rem;
}
/* グローバルナビ */
 .l-1row-header .c-fluid-container {
    padding-right: 0;
}
[data-scrolled=false] .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item>a {
    color: #151718!important;
} 
.p-global-nav .c-navbar__item.header_cta>a{
	background-color:var(--wp--preset--color--sm-accent);
}
.p-global-nav .c-navbar__item.tel>a {
    font-size: 1rem;
}
.p-global-nav .c-navbar__item.contact>a {
    font-weight: 500;
}
ul#menu-g_nav {
    height: 100px;
}
.p-global-nav .c-navbar__item[aria-haspopup=true]:before{
	display : none;
}
li.g_nav_sab {
    border-bottom: 1px solid #ffffff80;
}
.p-global-nav .c-navbar__item.header_cta>a:hover {
    opacity: 0.9;
    transition: 0.5s;
}
@media(max-width:1280px){
	[data-scrolled=false] .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item>a {
    color: #fff;
    padding-right: 10px;
    padding-left: 10px;
}
}
@media (min-width: 1024px) and (max-width:1280px){
.l-1row-header__branding {
    max-width: 250px;
}	
}
@media (max-width: 1024px){
	ul#menu-sp_nav{
	    display: flex;
	    flex-wrap: wrap;
	    max-width: 780px;
	    margin-left: auto;
	    margin-right: auto;
	    justify-content: space-between;
	}
	ul#menu-sp_nav li {
        width: 48%;
        font-size: 1rem;
    }	
    ul#menu-sp_nav li.w_100 {
        width: 100%;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
	    position: relative;
    }
	ul#menu-sp_nav li.w_100::after {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    ul#menu-sp_nav li.sp_menu_cta {
        text-align: center;
        background-color: #fff;
        color:var(--wp--preset--color--sm-accent);
    }
	ul#menu-sp_nav li.sp_menu_cta.tel {
        font-family: 'EB Garamond';
        font-size: 1.4rem;
    }
	ul#menu-sp_nav li.sp_menu_cta.con {
        font-family: 'Zen Antique Soft';
        font-size: 1.2rem;
    }
    ul#menu-sp_nav li.sp_menu_cta {
        text-align: center;
        background-color: #fff;
        color:var(--wp--preset--color--sm-accent);
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
	    padding: 20px 10px;
	    line-height: 1;
    }
	ul#menu-sp_nav li.sp_menu_cta a svg {
        display: block;
        margin-right: 0;
        width: 100%;
	    font-size: 1.1rem;
	    margin-bottom: 7px;
    }
}  
/* グローバルナビ終わり */
/* 下層ページヘッダー */
.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;
}
/* プライバシーポリシー */
#privacy h3 {
    margin-bottom: 10px !important;
    padding-left: 10px;
    border-left: solid 3px var(--wp--preset--color--sm-accent);
    font-weight: 700;
}
/*----- base -----*/
.line-h_1 {
    line-height: 1;
}
.txt_grad {
    background: linear-gradient(180deg, #cee6ff 0%, #1c2e64 100%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.en_small {
    font-family: "Oswald", sans-serif;
    font-size: 60px;
    line-height: 1;
}
.en_big {
    font-family: "Oswald", sans-serif;
    font-size: 90px;
    line-height: 1  
}
/*----- 共通 -----*/
a.smb-btn {
    /*キラッと光る基点とするためrelativeを指定*/
    position: relative;  
    display:inline-block;
    padding: 15px;
    min-width: 400px;
    background: #1c2e64;
    color: #fff;
    outline: none;
    overflow: hidden;
    text-align: center;
    letter-spacing: 0.2em;
}
/*キラッと光る*/
a.smb-btn::before {
    content: '';
    /*絶対配置でキラッと光るの位置を決める*/
    position: absolute;
    top: 0;
    left: -75%;
    /*キラッと光る形状*/
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    transform: skewX(-25deg);
}
a.smb-btn::after {
    content: "";
    position: absolute;
    top:42%;
    right: 25px;
    width: 9px;
    height: 9px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    transition: all .3s;     
}
a.smb-btn:hover::before {
    animation: shine 0.7s;
  }  
  @keyframes shine {
    100% {
      left: 125%;
    }
}
.bottom-btn .wp-block-cover {
    height: 100%;
}
.bottom-btn .has-sm-text-background-color {
    background-color: rgba(46, 46, 46, 0.5)!important;
}
.bottom-btn .wp-block-button__link {
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 0.5;
    transition: 0.5s;
}
/* Firefox指定 */
@-moz-document url-prefix(){
    .bottom-btn .wp-block-button__link {
    line-height: 1.5;
}
}
.bottom-btn .wp-block-button__link:hover {
    background-image: linear-gradient(180deg, rgba(151, 199, 240, 0.05) 0%, rgba(54, 157, 242, 0.15) 80%);
    transition: 0.5s;
}
.bottom-btn a {
    padding-top: 20px;
}
/*----- ヘッダー -----*/
/*[data-scrolled=true]*/ .l-header--sticky-overlay-colored-lg {
    background-color: rgba(255, 255, 255, 0.4)!important;
    backdrop-filter: blur(5px);
}
.c-entry__header {
    text-align: center;
}

.p-global-nav .c-navbar__item>a>span {
    color: #1c2e64!important;
}

.p-global-nav #menu-item-33.c-navbar__item > a > span {
    color: #ffffff !important;
}

@media (hover: hover) and (pointer:fine) {
    .p-global-nav--hover-text-color a:hover {
        color:#4f4f4f;
    }
}
.l-contents {
    margin-top: 100px;
}
.l-contents__inner {
    margin-top: 20px;
}
.c-entry__header h1 {
    position: relative;
    font-size: 22px;
}

/*----- フッター -----*/
.l-footer .smb-btn-wrapper {
    width: 50%;
}
.l-footer a.smb-btn {
    min-width: 100%;
    font-size: 15px;
    background: #fff;
    border: 1px solid #151718;
    color: #151718;
}
.l-footer a.smb-btn::after {
    border-top: 1px solid #151718;
    border-right: 1px solid #151718;
}
.l-footer a.smb-btn:hover {
    filter: none;
    background: #a7daff;
}
.l-footer--footer-2 .l-footer__footer {
    background-color: #fff;
}
.l-footer--footer-2 .l-footer__body {
    border-top: none;
}
.l-footer--footer-2 .l-footer__widget-area {
    padding-top: 10px;
}
.l-footer .c-row>.c-row__col {
    margin-bottom: 20px;
}
/*----- トップページ -----*/
.home .l-contents {
    margin-top: 0;
}
.mv .wp-block-cover {
    height: 48vw;
    position: relative;
}
.mv_logo {
    width: 240px;
    padding-top: 18vw!important;
}
.mv_bnr {
    position: absolute;
    bottom: 0;
    right: 15px;
    max-width: 380px;
    width: 80%;
}
.works .c-entries-carousel .spider__dots {
    margin-top: 10px;
}
.works .spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: #95999b;
}
.about .txt_flowing {
    position: relative;
    padding: 50px 0;
    overflow: hidden;
}
/*.about .txt_flowing::before,
.about .txt_flowing::after {
    content: "TO-BUPIPE";
    position: absolute;
    top: 20%;
    width: 100%;
    height: auto;
    background: linear-gradient(180deg, rgba(184,216,244,5%) 0%, rgba(93,181,255,15%) 100%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 19vw;
    font-family: "Oswald", sans-serif;
    font-weight: bold;
    line-height: 1.0;
    text-align: center;
    z-index: 1;
}*/
.about .txt_flowing::before {
    left: 0;
    animation: flowimg 90s linear infinite;
}
  .about .txt_flowing::after {
    left: 100%;
    animation: flowimg 90s linear infinite;
}
@keyframes flowimg {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
.about .has-sm-text-alt-background-color {
    background-color: rgba(252, 253, 255, 0.591)!important;
    backdrop-filter: blur(5px);
}
.wp-block-cover__inner-container,
.wp-block-cover__inner-container .wp-block-buttons,
.wp-block-cover__inner-container .wp-block-buttons .wp-block-button,
.wp-block-cover__inner-container .wp-block-buttons .wp-block-button a {
    height: 100%;
}
.about_btn-box .wp-block-button__link {
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 0.6;
    transition: 0.5s;
}
/* Firefox指定 */
@-moz-document url-prefix(){
    .about_btn-box .wp-block-button__link {
    line-height: 1.5;
}
}
.about_btn-box .wp-block-button__link:hover {
    background-image: linear-gradient(180deg, rgba(151, 199, 240, 0.05) 0%, rgba(54, 157, 242, 0.15) 80%);
    transition: 0.5s;
}
.about .about_btn-box {
    padding: 30px;
}
.reason .grad_gray.has-sm-light-gray-background-color {
    background-image: radial-gradient(rgba(233, 233, 233, 1), rgba(183, 185, 185, 1));
}
.reason .wp-block-column .sme-bg-color {
    padding: 8px 12px;
}
.reason figure {
    height: 100%;
}
.reason img {
    height: 100%;
}
.reason_left img {
    object-position: left;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%);
}
.reason_right img {
    object-position: right;
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
}
.area {
    position: relative;
}
.area_map {
    position: absolute;
    bottom: -80px;
    right: 20vw;
}
.area_map img {
    width: 60vw!important;
    max-width: 520px;
}
.area .smb-section__fixed-background {
    background: linear-gradient(0deg, rgb(3, 102, 215) 0%, rgb(28, 46, 100) 100%);
}
.recruit_inner {
    background: linear-gradient(0deg, rgba(3, 102, 215,0.6) 0%, rgb(28, 46, 100) 100%)!important;
}
.recruit_inner_list{
    align-items: stretch!important;
}
.recruit_inner_bottom .smb-btn-wrapper {
    width: 100%;
    max-width: 400px;
}
.recruit_inner_bottom a.smb-btn {
    min-width: 100%;
}
.recruit_inner_bottom .wp-block-group p {
    position: relative;
    display: inline-block;
    margin-bottom: 15px;
    padding: 16px 30px;
    border: 2px solid #fff;
    border-radius: 10px;
}  
.recruit_inner_bottom .wp-block-group p::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    border-style: solid;
    border-width: 15px 20px 0 0;
    border-color: #fff transparent transparent;
    translate: -50% 100%;
    transform: skew(-40deg);
    transform-origin: top;
} 
.recruit_inner_bottom .wp-block-group p::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    border-style: solid;
    border-width: 11px 14.7px 0 0;
    border-color: #fff transparent transparent;
    translate: calc(-50% - 0.7px) 100%;
    transform: skew(-40deg);
    transform-origin: top;
}
.recruit_inner_bottom a.smb-btn {
    background: rgba(255, 255, 255, 0.7)!important;
    color: #151718;  
}
.recruit_inner_bottom a.smb-btn::after {
    border-top: 1px solid #151718;
    border-right: 1px solid #151718;
}
.news .c-meta__item {
    font-family: "Oswald", sans-serif;
    font-weight: bold;
}
.contact .smb-btn-wrapper {
    width: 80%;
}
.contact a.smb-btn {
    min-width: 100%;
    /*background: rgba(255, 255, 255, 0.7)!important;*/
    font-size: 15px;
    color: #fff; 
}
.contact a.smb-btn:hover {
    filter: none;
    background: rgba(174, 220, 255, 0.7)!important;
}
.contact a.smb-btn::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}
/*----- 事業内容 -----*/
.business_business_btn {
    align-items: stretch;
}
.business_business_btn .wp-block-buttons,
.business_business_btn .wp-block-button,
.business_business_btn .wp-block-button a {
    height: 100%;
}
.business_reason_box {
    padding-bottom: 60px;
}
.business_reason_box .wp-block-column {
    box-shadow: 0px 0px 13px 1px #889db3;
}
.business_business_inner .wp-block-column {
    box-shadow: 0px 0px 13px 1px #d5d5d5;
}
.business_business_inner .wp-block-columns {
    gap: 0;
}
.business_business_inner .wp-block-columns figure,
.business_business_inner .wp-block-columns figure img {
    height: 100%;
    object-fit: cover;
}
/*----- 会社概要 -----*/
.company_bottom {
    background: linear-gradient(0deg, rgb(3, 102, 215) 0%, rgb(12, 145, 207) 100%);
}
.company_bottom table tr td:first-child {
    width: 30%;
    font-weight: bold;    
}
.company_bottom .wp-block-table * {
    color: #333333;
    text-decoration:none;
    pointer-events:none;
}
/*----- 採用情報 -----*/
.recruit_personality_box .wp-block-columns{
    gap: 10px;
}
.recruit_personality_images figure {
    max-width: 300px;
    position: relative;
}
.recruit_personality_images figure::after {
    position: absolute;
    content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgb(3, 102, 215,0.7) 0%, rgb(12, 145, 207,0.9) 100%);
	top: 30px;
	left: 30px;
	z-index: -1;
}
.recruit_guide table tr td:first-child {
    width: 30%;
    font-weight: bold;
    background: #EEFAFF; 
}
.recruit_guide h3 {
    padding: 0.25em 0.5em!important;
    background: transparent;
    border-left: solid 5px #219dd5;
}
/*----- 施工実績 -----*/
.works header,
.works footer {
    max-width: 764px;
}
.works header .c-entry__meta {
    margin-top: 30px;
}
.works-post_inner table tr td:first-child {
    width: 30%;
    font-weight: bold;
    background: #EEFAFF;
}



/*--------------------------------------------------     
施工実績非表示コメント
--------------------------------------------------*/
.post-type-archive-works .c-entry__content {
    position: relative;
    height: 60px;
    max-width: 1280px;
}
.post-type-archive-works .c-entry__content::before {
    position: absolute;
    display: inline-block;
    content: "ただいま準備中です";
    padding-bottom: 30px;
    font-weight: bold;
    font-size: 1.2rem;
}
.post-type-archive-works .c-entry__content p {
    font-size: 0;
}





/*----- お知らせ -----*/
.c-page-header__title {
    position: relative;
    font-size: 22px;
}
.c-meta__item--author {
    display: none;
}
/*----- お問い合わせ -----*/
.contact_tel .smb-btn-wrapper,
.contact_tel .smb-btn-wrapper a {
    width: 100%;
}
.contact_form .smf-form .smf-textarea-control__control {
    border: none;
}
.contact_form .smf-form .smf-text-control__control {
    width: 100%;
    border: none;
}
.contact_form .smf-form--simple-table .smf-item__col--label {
    display: flex;
    gap: 10px;
}
.contact_form .smf-item__description {
    margin-top: 0;
    padding: 2px 6px!important;
    height: 26px;
    font-weight: bold;
    background: #dc3f3f;
    color: #fff;
    border-radius: 4px;   
}
.contact_form .smf-action .smf-button-control__control {
    width: 100%;
    margin-bottom: 20px;
    background-color: #1c2e64;
    background-image: none;
    border: none;
    color: #fff;
    font-weight: bold;
}
.contact_form .smf-button-control__control:hover {
    opacity: 0.7;
    transition: all .3s;
}
/*------------------------------------------------------------------------------
---------------------------------- レスポンシブ ----------------------------------*/
@media (min-width: 1024px){
    .menu-item-33 {
        min-width: 170px!important;
    }
    .menu-item-30 {
        min-width: 170px!important;
    }
}
/*-----------------------------------------
---------------- タブレット -----------------*/
@media (max-width: 1024px){
    .l-1row-header .c-fluid-container {
        padding-right: 15px;
    }
    .menu-item-415,
    .menu-item-992 {
        border-bottom: 1px solid #fff;
    }
    .mv .wp-block-cover {
        height: 70vw;
    }
    .mv_logo {
        width: 200px;
        padding-top: calc(35vw - 69px)!important;
    }
}
/*-----------------------------------------
---------------- タブレット -----------------*/
@media screen and (max-width: 779px) {
    .about .wp-block-button {
        font-size: 24px!important;
    }
    .about .wp-block-button .sme-font-size {
        font-size: 15px!important;
    }
    .about .about_btn-box {
        padding: 10px;
    }
    .reason_right,
    .reason_left {
        gap: 0;
    }
    .reason_right {
        flex-direction: column-reverse!important;  
    }
    .reason_left img,
    .reason_right img {
        clip-path: none;
    }
    .reason .reason_right.has-sm-light-gray-background-color {
        background-image: radial-gradient(rgba(233, 233, 233, 1), rgb(243, 243, 243))!important;
    }
    .area_map img {
        width: 80vw!important;
        opacity: 0.6;
    }
    #body .area_txt_detail {
        width: 60%;
        margin-right: auto;
        margin-left: 0;
    }
    .recruit_inner_bottom .wp-block-group {
        justify-content: space-evenly;
    }
    .recruit_inner {
        padding-bottom: 120px!important;
    }
    /*----- 事業内容 -----*/
    .business_business_inner .wp-block-columns:nth-child(even){
        flex-direction: column-reverse;
    }
    /*----- 施工実績 -----*/
    .works header,
    .works footer {
    padding: 0 20.4px;
    }
}
/*------------------------------------
---------------- SP -----------------*/
@media screen and (max-width: 599px) {
    /*----- 共通 -----*/
    body {
        font-size: 15px;
    }
    .pt_120{
        padding-top:90px!important;
    }
    .pb_120{
        padding-bottom:90px!important;
    }
    .smb-btn-wrapper {
        width: 300px;
    }
    a.smb-btn {
        min-width: 100%;
    }
    body .ttl_area {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .en_big {
        font-size: 60px;
    }
    body .l-contents h2 {
        font-size: 28px!important;
    }
    body .ttl_area h2 {
        font-size: 18px!important;
    }
    body .l-contents .sp_font_24 { 
        font-size: 24px!important;
    }
    /*----- フッター -----*/
    .l-footer .smb-buttons {
        flex-direction: column;
        gap: 10px;
    }
    .l-footer .smb-btn-wrapper {
        width: 100%;
    }
    /*----- トップ -----*/
    .mv_logo {
        padding-top: calc(20vw + 45px)!important;
    }
    .mv_logo img {
        width: 160px!important;
        margin: 0 auto;
    }
    .about .wp-block-button {
        font-size: 13px!important;
    }
    .about .wp-block-button .sme-font-size {
        font-size: 10px!important;
    }
    .reason .smb-container__body {
        width: 100%!important;
    }
    .reason .has-sm-4-xl-font-size {
        font-size: 36px!important;
    }
    .area_map {
        bottom: -80px;
        right: 5vw;
    }
    .area_map img {
        width: 75vw!important;
    }
    .greeting_logo img {
        width: 240px!important;
    }
    .recruit_inner {
        padding-bottom: 90px!important;
    }
    .recruit_inner_list {
        flex-direction: column;
    }
    .contact .smb-btn-wrapper {
        width: 100%;
    }
    /*----- 会社概要 -----*/
    .company_greeting img {
        width: 240px!important;
    }
    .company_president_lead {
        text-align: left;
    }
    /*----- 施工実績 -----*/
    .archive .l-contents h2 {
        font-size: 18px!important;
    }
    /*---- お知らせ -----*/
    .blog .l-contents h2 {
        font-size: 18px!important;
    }
}

/*---- お知らせ更新日時非表示 ----*/
.c-meta__item--modified {
  display: none;
}


/*^---- TOP事業内容 ----*/
.about_btn-box .wp-block-button__link strong{
  font-size: clamp(18px, 2.6vw, 36px);
  line-height: 1.1;
}