/*フォント適用（デフォルトでは見出し系とグローバルナビ（サブメニュー除く）に明朝、その他にゴシックを当ててます）*/
/*body{
	font-family: "sans-serif";
}*/
h1 , h2 , h3 , h4 , h5 , h6 , b , strong , .smb-section__title ,  .p-global-nav a:not(.p-global-nav .c-navbar__submenu a){
    font-family: HelveticaLTPro-Bold
}
/*ヘッダーメニュー余白なくしてベタ付け*/
header.l-header .p-global-nav .c-navbar__item a:not(header.l-header .c-navbar__submenu a){
    color:#fff;
    /*padding-top:0;
    padding-bottom: 0;*/
}
header.l-header .p-global-nav .c-navbar__item:last-child a{
    /*padding-right: 0;*/
}
@media screen and (min-width: 1024px){
    header.l-header .l-header__content .c-fluid-container{
        /*padding-right: 0;*/
    }
}

/*ページヘッダーの高さ調整、スクロール背景など*/
@media screen and (min-width: 1024px){
    [data-scrolled=true] .l-header--sticky-overlay-colored-lg {
        background-color: transparent !important;
        box-shadow:none !important;
    }
    [data-scrolled=true] .l-header--sticky-overlay-colored-lg {
        background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0));
    }
    nav.p-global-nav.p-global-nav--hover-text-color.p-global-nav--current-same-hover-effect {
        color: #fff !important;
    }
    .l-1row-header__branding {
        padding-top: 0 !important;
        padding-left: 1vw !important;
    }
    h1.c-page-header__title {
        margin-top: 3vw;
    }
    .c-page-header[data-has-image=true]{
        max-height:360px;
    }
}
@media screen and (max-width: 1023px){
    .c-page-header[data-has-image=true]{
        max-height:200px;
    }
    .c-page-header h1{
        margin-top:5vh;
    }
}

@media screen and (max-width: 639px){
    .home .sp_br{
        display:none;
    }
}

/*グローバルナビのフォントサイズ可変化　 ※狭めのPC幅でメニューが詰まる件の対策になります。ブレイクポイントやテキストサイズはサイトに合わせて変更してください。
可変化したタイミングでグローバルナビのデフォルトのフォントサイズ（アプデで変わるかも）を超えないように設定してます。*/
@media screen and (min-width: 1024px) and (max-width: 1200px){
    header.l-header .p-global-nav .c-navbar__item a:not(header.l-header .c-navbar__submenu a) {
        font-size: min(1.1vw, 14.2222px);
    }
}

/*ハンバーガーボタン調整用*/
.c-hamburger-btn .c-hamburger-btn__bar{
    height:2px;
    background-color:#ccc !important;
}
.c-hamburger-btn__bar:nth-of-type(2){
    height:2.5px;
}
.c-hamburger-btn[aria-expanded=true]>.c-hamburger-btn__bars>.c-hamburger-btn__bar:nth-of-type(2){
    background-color:initial !important;
}
.c-hamburger-btn__label{
    color:#ccc;
}


/* メニュー全体にデフォルトの背景色を設定 */
.p-footer-sticky-nav {
    background-color: #212836 !important;
}

/* メニューの最初の数アイテムに異なる背景色を設定 */
.p-footer-sticky-nav li:nth-child(2) {
    background-color: #DD000D !important;
}


/*フッターメニュー用デフォルトスタイル*/
@media screen and (min-width: 1024px){
    footer.l-footer .widget_nav_menu ul{
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 10px;
    }
    footer.l-footer .widget_nav_menu li{
        margin-top: 0;
    }
}
/*フッターsns用デフォルトスタイル*/
a:where(:not(.wp-element-button)) {
    text-decoration: none !important;
}
footer.l-footer .f_sns{
    max-width: 350px;
    margin-left:0;
}
/*フッターサイド余白消し*/
footer.l-footer .c-fluid-container{
    padding-left:0;
    padding-right:0;
}

/*フッター上下パディング*/
footer.l-footer .l-footer-widget-area{
    padding-top:110px !important;
    padding-bottom:0;
}

/*フッターセクションごとにできるマージンボトム消し*/
footer.l-footer .l-footer-widget-area__item.c-row__col{
    margin-bottom:0;
}


/*コピーライト用デフォルトスタイル*/
footer.l-footer .c-copyright{
    background-color:#fff;
    color:#000;
    margin-top: 47px;
    margin-bottom: 47px;
}
@media screen and (max-width: 1023px){
    footer.l-footer .c-copyright{
        font-size:12px !important;
        margin-top:0 !important;
        margin-bottom:20px !important;
    }
}

/*トップコンテンツ上下余白消し*/
.home .l-contents .c-section{
    padding-top:0;
    padding-bottom:0;
}
/*コンテンツの上下余白消し（投稿と投稿の一覧ページを除く）*/
.l-contents .l-contents__inner:not(.archive .l-contents .l-contents__inner , .single .l-contents .l-contents__inner){
    padding-top: 0;
    padding-bottom: 0;
}
/*投稿のコメント機能トラックバック機能削除*/
.p-comments , .p-trackbacks{
    display:none;
}

/*スマホ時の見出しサイズ統一*/
@media screen and (max-width: 800px){
    .smb-section__title , h2.wp-block-heading , .smb-media-text__title , .smb-media-text__title span{
        font-size:27px !important;
    }
    .top_pro_me .wp-block-columns{
        gap:0;
    }
    .c-page-header__title {
        margin-top: 7vw !important;
        font-size: 20px;
    }
}

/*小さめモニタ*/
@media screen and (min-width: 1024px) and (max-width: 1366px){
    .smb-section__title , h2.wp-block-heading{
        font-size:40px !important;
    }
}



/*右から左のアニメーションのキーフレーム*/
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
/*右から左に流したい要素に以下を付与*/
.top_scroll01 .scroll-infinity__list--left {
    animation: infinity-scroll-left 10s infinite linear 0.5s both;
    animation-duration: 30s !important;
}
.top_scroll02 .scroll-infinity__list--left{
    animation-duration: 60s !important;
}

.top_scroll01 .scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}
.top_scroll01 .scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
}
.top_scroll01 .scroll-infinity__list--left {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.top_scroll01 .scroll-infinity__item {
    width: calc(100vw / 1);
}
.top_scroll01 .scroll-infinity__item>img {
    width: 100%;
}
@media screen and (max-width: 1023px){
    .top_scroll01 .scroll-infinity__item{
        width:170vw;
    }
    .top_scroll02 .scroll-infinity__item {
        width: 300vw;
    }
}


/*アニメ付きボタン*/
.icon_block_right {
    position: relative;
    right: -22vw;
    bottom: 1vw;
}
@media (max-width: 480px) {
    .icon_block p {
        margin-top: 28px !important;
    }
    .hovicon{
        width:50px !important;
        height:50px !important;
        margin-top: 10px !important;
    }
    .hovicon.effect-3:after{
        top:9px !important;
    }
}
.icon_block{
    width:max-content;
}
.icon_block_left{
    margin-left:0 !important;
    margin-right:auto !important;
}
.icon_block_right{
    margin-right:0 !important;
    margin-left:auto !important;
}
.icon_block a {
    display:flex;
    text-decoration: none;
    z-index:10;
    max-width:max-content;
}
.icon_block p {
    margin-top: 37px;
    font-weight:700;
    color:#000;
}
.icon_block_re p{
    color:#fff;
}
.hovicon {
    display: inline-block;
    font-size: 30px;
    line-height: 70px;
    cursor: pointer;
    margin: 20px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    text-align: center;
    position: relative;
    text-decoration: none;
    z-index: 1;
    color: #fff;
}
.hovicon_re{
    color:#000;
}
.hovicon.effect-3:after {
    top: -2px;
    left: -2px;
    padding: 2px;
    z-index: -1;
    background: #000;
    -webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
    -moz-transition: -moz-transform 0.2s, opacity 0.3s;
    transition: transform 0.2s, opacity 0.3s;
}
.hovicon_re.effect-3:after{
    background: #fff;
}
.hovicon:after {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    content: '';
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

.hovicon.effect-3.sub-a:hover, .hovicon.effect-3.sub-a:hover i {
    color: #000;
}
.hovicon_re.effect-3.sub-a:hover, .hovicon_re.effect-3.sub-a:hover i{
    color: #fff;
}
.icon_block:hover .hovicon.effect-3.sub-a{
    color: #000;
}
.icon_block_re:hover .hovicon_re.effect-3.sub-a{
    color: #fff;
}
.icon_block:hover .hovicon.effect-3.sub-a:after {
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0;
}
@media (max-width: 480px){

}

/*トップメインヴィジュアルのアニメーション用*/
.mask_wrap{
    display: table;
    overflow: hidden;
}
.mask-wrap .mask{
    display: table;
    position: relative;
    margin-bottom: .25em;
    left: -100%;
    overflow: hidden;
}
.mask-wrap .mask-bg{
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
}
.top_mavis_tex{
    overflow:hidden !important;
}



/*トップのメインヴィジュアルのアニメ*/
.mask_wrap{
    display: table;
    overflow: hidden;
}
.mask-wrap .mask{
    display: table;
    position: relative;
    margin-bottom: .25em;
    left: -100%;
    overflow: hidden;
}
.mask-wrap .mask-bg{
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
}

/*共通*/
.btn_arrow img{
    margin-left:17px !important;
}
.deco_h2_01{
    display: flex;
    gap: 20px;
    align-items: baseline;
}
.deco_h2_01 img{
    position:relative;
    top:20px;
}
.back_deco_ch{
    position: absolute;
    right: 100px;
    top: 35px;
    z-index:10;
}
.back_deco_ch2{
    position: absolute;
    left: 0px;
    top: -106px;
}
.back_deco_ch3{
    margin-bottom: 0px !important;
    margin-top: -77px !important;
}
.back_deco_ch3 img{
    margin-left:auto !important;
    margin-right:0 !important;
}
.sec_title_reverse .smb-section__header{
    display:flex;
    flex-direction:column;
}
.sec_title_reverse .smb-section__title{
    order:1;
}
.sec_title_reverse .smb-section__subtitle{
    order:2;
}
.sec_title_reverse .smb-section__lede-wrapper{
    order:3;
}
.icon_block_right{
    right:initial !important;
}
@media screen and (min-width: 1024px){
}
@media screen and (max-width: 1023px){

    .sp_max_wd , .sp_max_wd_img img{
        margin: 0 calc(50% - 50vw) !important;
        width: 100vw !important;
        max-width:initial !important;
    }
    .sp_sec_pa_t15{
        padding-top:15px !important;
    }
    .sp_sec_pa_b15{
        padding-bottom:15px !important;
    }
    .sp_sec_pa_tb15{
        padding-top:15px !important;
        padding-bottom:15px !important;

    }
    .deco_h2_01{
        gap:10px !important;
        z-index:10;
    }
    .deco_h2_01 strong span{
        font-size:53px !important;
    }
    .deco_h2_01 span:not(.deco_h2_01 strong span){
        font-size:15px !important;
    }
    .deco_h2_01 img{
        max-width:20px !important;
        top:8px;
    }
    body .smb-section .c-container--no-padding{
        padding-left:20px !important;
        padding-right:20px !important;
    }
    .sp_gap0{
        gap:0 !important;
    }
    .sp_br_none br{
        display:none;
    }
    .sp_center_img img{
        margin:0 auto !important;
    }
    .fo_add_sns{
        justify-content:center !important;
    }
    .fo_menu_box01 .c-row{
        row-gap:45px !important;
    }
    body .fo_menu_box02 .widget_nav_menu{
        margin-top:0 !important;
    }

}
@media screen and (min-width: 639px) and (max-width: 1023px){

}
@media screen and (min-width: 639px) and (max-width: 1023px){
    .icon_block_right{
        right:initial !important;
    }
}
@media screen and (min-width: 1024px) and (max-width: 1024px){
    .tab1024_wrap{
        flex-wrap:wrap !important;
    }
    .tab1024_br_none br{
        display:none;
    }
    .tab1024_none{
        display:none;
    }
    .deco_h2_01{
        z-index:10;
    }
    .smb-section__inner .c-container--no-padding{
        padding-left:20px !important;
        padding-right:20px !important;
    }
    .deco_h2_01 strong span{
        font-size:40px !important;
    }
    .deco_h2_01 span:not(.deco_h2_01 strong span){
        font-size:15px !important;
    }
    body .top_rec_deco_tex {
        margin-top: -30px !important;
    }
    .top_company_me{
        bottom:0 !important;
    }
}
/*ヘッダー*/
.l-header--sticky-lg{
    box-shadow:none !important;
}
@media screen and (min-width: 1024px){
    .c-site-branding__title .custom-logo{
        width:200px !important;
    }
    .l-header .p-global-nav .c-navbar{
        gap:33px;
    }
    .l-header .p-global-nav .h_co_right{
        max-width:100px !important;
    }
    .l-header .p-global-nav .h_menu_de_sub{
        display: block !important;
        margin-top: -6px !important;
        font-size: 13px !important;
    }
}
@media screen and (max-width: 1023px){
    .c-site-branding__title .custom-logo{
        width:30vw !important;
    }
}
@media screen and (min-width: 639px) and (max-width: 1023px){

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

}
/*フッター*/
.fo_add_sns{
    display: flex;
    gap: 15px;
}
.fo_menu_box01 .widget_nav_menu .menu{
    grid-template-columns: 1fr;
}
.fo_menu_box01 .widget_nav_menu{
    margin-top:20px !important;
}
.fo_menu_box02 .widget_nav_menu .menu{
    row-gap:20px;
    font-weight:bold;
}
@media screen and (min-width: 1024px){

}
@media screen and (max-width: 1023px){
    .fo_sec_cta .smb-section__title span{
        font-size:50px !important;
    }
    .fo_sec_cta .smb-section__lede span{
        font-size:18px !important;
    }
    .fo_sec_cta .smb-section__lede br{
        display:none;
    }
    .f_cta_btn_box .c-row__col{
        margin-bottom:15px !important;
    }
    .fo_sec02_coleft{
        text-align:center;
    }
}
@media screen and (min-width: 639px) and (max-width: 1023px){

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

}
/*トップ*/
.service_item_box h3{
    margin-bottom:15px !important;
}
.service_item_box .smb-box{
    margin-top: -88px !important;
    max-width: 90%;
    margin-right: 0 !important;
    border-top:#167520 solid 3px;
}
.top_recruit_tex{

}
.top_rec_deco_tex{
    position:absolute !important;
    right:0;
    top:0 !important;
    margin-right: 95px !important;
}
.top_recruit .smb-section-with-bgimage__bgimage{
    width:60%;
    top: 66%;
}
.top_recruit .smb-section-with-bgimage__bgimage img{
    /*object-fit:contain;*/
}
.top_fixed_back{
    overflow:visible;
}
.top_news_right .c-entries__item , .top_news_right .c-entries{
    border:none !important;
}

.top_company_me{
    position: relative;
    bottom: -75px;
    z-index: 10;
}
.top_cover_pall .wp-block-cover__image-background{
    margin:0 !important;
}
.top_main_tex2{
    margin-top:-20px !important;
}
.icon_block_ser a{
    justify-content:right;
    margin-right:0 !important;
    margin-left:auto !important;
}
@media screen and (min-width: 1024px){
    #no1_section .c-container.alignfull {
        margin-right: 0;
        margin-left: 10vw !important;
        padding-right: 0 !important;
    }
    figure.wp-block-image.size-large.topimg01 img{
        border-radius: 14px 0 0 14px;
    }
    .top_pro_me .parent{
        position: relative;
    }
    .top_pro_me .topimg02{
        width: 43vw;
        position: absolute;
        top: -10vw;
        left: 25vw;
        z-index:20;
    }

    .top_service_tr_img img{
        border-radius: 8px 0 0 8px;
    }
    .top_mavis_tex{
        z-index:10 !important;
    }
    .top_mavis_co{
        gap:0 !important;
    }
    .top_pro_me .smb-media-text__title img{
        margin-top:-45px !important;
    }
    .top_pro_tex{
        max-width:415px !important;
        margin-left:0px !important;
    }
    .top_pro_me .smb-media-text__contents-wrapper{
        margin-right:0 !important;
    }
    /*.top_pro_me .smb-media-text__figure img{
        max-width:525px !important;
    }*/
    .top_scroll02 .scroll-infinity__item{
        width: 200vw !important;
    }
    .top_service_titex{
        padding-bottom:25px !important;
    }
    .top_rec_deco_tex{
        margin-top:-260px !important;
    }
    .top_news_right{
        padding-left: 90px;
        border-left: 2px solid #000;
    }


}
@media screen and (max-width: 1023px){
    .sp_top_main{
        margin-top:-86px !important;
    }
    .sp_main_tex{
        z-index:10;
    }
    .sp_main_sns{
        display: flex;
        justify-content: center;
        gap: 15px;
    }
    .top_pro_tex span{
        line-height:28.8px !important;
    }
    .btn_arrow img{
        max-width:60px !important;
    }
    .service_item_box .smb-box{
        max-width:initial !important;
        width:95vw !important;
    }
    .service_item_box .c-row__col{
        margin-bottom:0 !important;
    }
    .back_deco_ch{
        right:26px;
    }
    .back_deco_ch img{
        max-width:50px;
    }
    .top_rec_spa01{
        height:100px !important;
    }
    .deco_h2_company strong span{
        font-size:48px !important;
    }
    .top_company_me{
        bottom:-50px !important;
    }
    .top_fixed_back{
        min-height:initial !important;
        max-height:750px !important;
    }
    .top_news_sp01{
        height:40px !important;
    }
    .top_news_ti{
        text-align:center;
    }
    .top_cover_pall{
        min-height:250px !important;
    }
}
@media screen and (min-width: 639px) and (max-width: 1023px){
    .top_company_me{
        bottom:initial !important;
    }
    .top_fixed_back{
        max-height:initial !important;
    }
    .top_service img{
        height: 60vh;
        object-fit: cover;
    }
}

@media screen and (min-width: 782px) and (max-width: 1023px){
    .top_pro_me .topimg02{
        top: -20vw;
        left: 45vw;
        z-index:20;
    }
    .sp_magin{
        margin-top:-20vw !important;
    }
    .wp-container-core-columns-is-layout-9{
        width: 100%;
        display: block;
    }
    .wp-container-core-columns-is-layout-9:not(:first-child) {
        width: 100%;
        display: block;
    }
}
@media (max-width: 800px) {
    .top_fixed_back .c-row__col{
        width: 100%;
        display: contents;
    }
    .top_fixed_back .sme-hidden-sm {
        height:0 !important;
    }
}

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

}
/*ipad mini 縦*/
@media (min-width: 640px) {
    .top_pro_me .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}

/*お問い合わせボタン中央よせ*/
@media screen and (min-width: 639px) and (max-width: 1023px){
    .f_cta_btn_box .c-row{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 45vh;
    }
    .f_cta_btn_box .c-row .c-row__col{
        display:contents;
    }
}


/*フッター固定ナビ*/
.p-footer-sticky-nav a{
    padding:0 !important;
}

/*ブラウザが1416で改行を消す*/
@media (max-width: 1416px){
    .br-sm1416 {
        display: none;
    }
}

/*項目ホバー */
.mouse_img img:hover {
    transform: scale( 1.1, 1.1 );	/* 画像が縦横1.1倍 */
    transform: .6s; 	/* 表示を0.6秒かけて行う */
    opacity: .6;
}
.mouse_img img{
    transition-duration:  .6s;	/* 表示を0.6秒かけて行う */
}
.mouse_img{
    overflow: hidden;	/* 領域をはみ出す部分は非表示 */
    background: #000000;
    padding: 0;
}
.mouse_img:not(.mouse_img.kadomaru ,.mouse_img.nokadomaru ,.mouse_img.kadomaru_r) {
    border-radius:8px !important;
}
.mouse_img.kadomaru{
    border-radius: 8px 0 0 8px;
}
.mouse_img.kadomaru_r{
    border-radius: 0 8px 8px 0;
}
.mouse_img img:hover:after {
    opacity: .8;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

@media (max-width:39.9375em){
    .wp-block-snow-monkey-blocks-items.smb-items.smb-items--glue.service_item_box {
        width: 100vw !important;
        margin: 0 calc(50% - 50vw);
    }
    .mouse_img.kadomaru {
        border-radius: 0px !important;
    }
    .mouse_img.kadomaru_r {
        border-radius: 0px !important;
    }
}
/*項目バナーホバー*/
.mouse-item:hover .smb-items__banner__figure>img {
    transform: scale( 1.1, 1.1 );	/* 画像が縦横1.1倍 */
    transform: .6s; 	/* 表示を0.6秒かけて行う */
    border-radius:10px !important;
}
.mouse-item .smb-items__banner__figure>img{
    transition-duration:  .6s;	/* 表示を0.6秒かけて行う */
}

/*投稿ホバー */
.c-entries__item>a:hover .c-entry-summary__figure>img  {
    transform: scale( 1.1, 1.1 );	/* 画像が縦横1.1倍 */
    transition: transform .6s ease !important;	/* 表示を0.6秒かけて行う */
}
.c-entry-summary__figure> img.attachment-large.size-large.wp-post-image {
    transition: 0.6s;
}
li.c-meta__item.c-meta__item--modified {
    display: none;
}

@media screen and (min-width:1630px){
    h3.top-service-title br {
        display: none;
    }
}

@media screen and (max-width:1630px){
    h3.top-service-title span {
        display: block;
        margin-top: -5px !important;
    }

}



/*ヒストリーLPページ*/
.page-id-3736 .l-container .smb-media-text__title , .page-id-3736 h2.wp-block-heading,.page-id-3517 .l-container .smb-media-text__title , .page-id-3517 h2.wp-block-heading{
	font-family: "FOT-テロップ明朝 ProN D";
}
.history-flow.history-1 .smb-media-text__figure img{
    mix-blend-mode: hard-light;
}

.hi_nextRun_Panels h3.wp-block-heading{
    margin-top:23px !important;
    margin-bottom:0 !important;
}
.nextRunPanels .c-entry-summary__term{
    display:none;
}
.nextRunPanels .c-entry-summary__figure::before{
    padding-top: 64.8437%;
}
.nextRunPanels .c-entry-summary{
    padding:15px;
}

.nextRunPanels .c-entries__item > a , .c-entry-summary__figure{
    border-radius: 15px;
}
.nextRunPanels .c-entry-summary__body{
    padding:0 !important;
}

.nextRunPanels .c-entry-summary__header{
    margin-bottom: 0 !important;
}
.nextRunPanels .c-entry-summary__title{
    font-size: 18px !important;
}
.nextRunPanels .c-entry-summary__body {
    position: relative;
    padding-top: 60px !important;
    margin-top: -35px !important;
}
.nextRunsPostNum{
    position: absolute;
    top: -15px;
    z-index: 10;
	font-size:45px !important;
}
.nextRunsPostNum p{
    font-family: "TimesNRMTPro-Italic";.
}
.history_section .smb-section-with-bgimage__bgimage img{
	object-position:top;
}
.history_text_shadow , .history_text_shadow .smb-media-text__title{
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5)); 
}
.history_cycle_Column{
  position: relative;
}

.history1992Groupe{
	position:relative;
}
.history2023Media{
	overflow:visible;
}
.evolution_History_text{
	padding-left:20px;
	padding-right:20px;
}
.history_section2 .smb-section__body{
	position:initial;
}

@media (min-width: 1024px){
    .nextRunPanels .c-entries {
        --entries--item-width: 25.0%;
    }
	.marunoNextRun{
    	margin-top:-50px !important;
	}
	.history_media_rightWidth{
		overflow:visible !important;
	}
	.history_media_rightWidth .smb-media-text__contents-wrapper{
		margin-right:0 !important;
	}
	.history_media_rightWidth .smb-media-text__figure{
		width:48vw !important;
		max-width:initial !important;
		position:relative !important;
		top:50px !important;
	}
	.history_media_rightWidth .c-row__col:has(.smb-media-text__contents-wrapper){
    	max-width: max-content;
	}
	.hi1984Img{
		margin-top:17px !important;
	}
	.history_title{
		margin-top:25px !important;
		margin-bottom:15px !important;
	}
	.history_section2 .smb-media-text .c-row{
		justify-content:space-between;
	}
	.history_section2 .c-row__col{
		max-width:45% !important;
	}

	/* 中央の縦線 */
	.history_section2 .smb-section__body::after {
	  content: "";
	  position: absolute;
	  left: 50%;
	  top: 50%;
	  transform: translate(-50%, -50%);

	  /* 調整ポイント */
	  height: var(--history-center-line-height, 100%);
	  border-left: 1px solid #707070;
	}
	.history1991 .smb-media-text__body{
		text-align:right;
	}
	.history1991 .smb-media-text__body .wp-block-image img{
		margin:0 auto;
		margin-right:0;
	}
	.history_cycle_Column::before{
	  content: "";
	  position: absolute;
	  top: 16%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  width: 20px;      /* ●のサイズは任意 */
	  height: 20px;
	  background: #000; /* 黒 */
	  border-radius: 50%;
		z-index:2;
	}
	.history1992Box{
		max-width:600px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0%);
		z-index:2;
		backdrop-filter: blur(12px);
		height: 100%;
		display: flex;
		align-items: center;
	}
	.history2023Media .smb-media-text__figure img{
		max-width:initial;
		width:63vw;
	}
	.hi2_back1{
		position: absolute;
		left: 0;
		bottom: 4%;
		max-width: 10vw;
	}
	.hi2_back2{
		position: absolute;
		right: 0;
		top: 28%;
		max-width: 13vw;
	}
}
@media (max-width: 1023px){
	.page-id-3736 .l-contents h2 , .page-id-3736 .l-contents h2 span{
		font-size:20px !important;
	}
	.nextRunPanels .c-entries{
		--entries--item-width: 100% !important;
	}
	.nextRunsPostNum{
		top: -13px;
		font-size: 35px !important;
	}
	.nextRunPanels .c-entry-summary__body{
		padding-top:45px !important;
	}
	.history_Progress_image{
		max-width:50% !important;
	}
	.history_section .wp-block-columns{
		gap:0 !important;
	}
	.history_section .smb-media-text__contents-wrapper{
		margin-top:0 !important;
	}
	.leftColumnImage{
  		position: relative;
	}

	.leftColumnImage::before{
	  content: "";
      position: absolute;
      top: 35px;
      left: calc(50% - 1px);
      transform: translateX(-50%);
      width: 1px;
      height: 95%;
      background: #404040;
	}
	.media1937 .smb-media-text__title , .media1953 .smb-media-text__title{
		margin-top:20px !important;
	}
	.hi1984Img{
		max-width:31% !important;
	}
	.hi1985Img{
		max-width: 25%;
		margin: 0 auto;
		margin-left: 0 !important;
	}
	.history1992Box .smb-box__background{
		background-color:#F7F7F7;
	}
	.hi1992Img{
		margin:0 auto !important;
		max-width:35% !important;
	}
	.hi1992_text{
		text-align:left;
	}
	.history-loop{
		overflow:visible !important;
	}
	.hi2023section{
		padding-top:30px !important;
		padding-bottom:30px !important;
	}
	.runToNext100{
		max-width: 83%;
    	margin: 0 auto;
    	margin-left: 0 !important;
	}
	.license_text{
		padding-left:20px !important;
		padding-right:20px !important;
	}
}

@media screen and (min-width: 640px) and (max-width: 1023px){
	.leftColumnImage::before{
		left: calc(50% - 2px) !important;
		top: 70px !important;
	}
	.hisutory_tb_wrapColumn{
		flex-direction:column !important;
	}
}
@media (max-width: 1559px){
	.hi2_back1{
		display:none;
	}
}




/* 外枠 */
.history-loop{
  /*overflow: hidden;*/
  width: 100%;
}

/* 2枚横並びのトラック */
.history-loop__track{
  display: flex;
  gap: 10px;
  width: max-content;
  will-change: transform;
  animation: history-loop-scroll 60s linear infinite; /* 秒数は好みで */
}

/* 画像（1枚を「画面幅100%」扱い→PC 200%、SP 300%） */
.history-loop__img{
  display: block;
  height: auto;
  flex: 0 0 auto;
  width: 200vw; /* PC: 1枚=画面幅(100vw)の200% */
}

/* SP */
@media (max-width: 768px){
  .history-loop__img{
    width: 400vw; /* SP: 1枚=画面幅の300% */
  }
}

/* キーフレーム：初期は画像左端が画面左端。
   そこから「1枚分 + gap」だけ左へ流して、次の画像に切り替わる瞬間を一致させる */
@keyframes history-loop-scroll{
  from{
    transform: translateX(0);
  }
  to{
    transform: translateX(calc(-1 * (50% + 10px)));
  }
}



/* === PROCS PAGE: mgrp-credo BEGIN === */
/* 丸野グループについて: 丸野の覚悟（経営理念）・私たちの覚悟（行動指針） */
/* 2026-08 お客様指摘対応: 理念文・行動指針とも縦1列、先頭のオレンジバー廃止 */
.mgrp-credo-mark {
  margin-top: 44px;
  margin-bottom: 40px;
}

/* 2026-08 依頼対応: 行ごとの罫線（上下ボーダー）と緑バー(::before)を削除 */
.mgrp-credo-lines p {
  /* !important: WPコアbase layout styles（margin auto !important）対策 */
  margin: 0 !important;
  padding: 18px 8px;
  line-height: 1.75;
  text-align: center;
}

.mgrp-commitment {
  margin-top: 48px;
  padding-top: 36px;
  text-align: center;
  font-size: clamp(20px, 3.4vw, 32px);
  font-weight: 500;
  line-height: 1.75;
}

.mgrp-standard-grid {
  margin-top: 44px;
  border-top: 1px solid #dce7ea;
  counter-reset: mgrp-standard;
}

.mgrp-standard {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 0 16px;
  align-content: start;
  justify-content: start;
  justify-items: start;
  text-align: left;
  /* !important: WPコアbase layout styles（margin auto !important）対策 */
  margin: 0 !important;
  padding: 20px 0;
  border-bottom: 1px solid #dce7ea;
  counter-increment: mgrp-standard;
}

.mgrp-standard::before {
  content: counter(mgrp-standard);
  grid-row: 1 / span 2;
  justify-self: start;
  color: #333333;
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  padding-top: 2px;
}

.mgrp-standard .mgrp-standard-title {
  grid-column: 2;
  justify-self: start;
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.55;
  text-align: left;
}

.mgrp-standard .mgrp-standard-desc {
  grid-column: 2;
  /* !important: テーマ/コアの流し込み余白対策 */
  margin: 0 !important;
  /* ブランドオレンジ#EA6000は小さい文字で白背景コントラスト3.4:1のため、
     WCAG AA(4.5:1)を満たす近似色に調整 */
  color: #C24F00;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}

@media (max-width: 560px) {
  .mgrp-standard {
    grid-template-columns: 40px 1fr;
    gap: 0 12px;
  }

  .mgrp-standard::before {
    font-size: 30px;
  }
}
/* === PROCS PAGE: mgrp-credo END === */

/* === PROCS PAGE: mrn-safety BEGIN === */
/* 安全への取り組み: 命を守る・安全原則（番号・縦バー廃止、ブロック中央寄せ、サイズ調整） */
.mrn-safety-title {
  font-size: clamp(26px, 2.6vw, 34px);
  margin-bottom: 24px;
}

/* カードが横に間延びしないよう幅を制限して中央配置 */
.smb-box:has(.mrn-safety-principles) {
  max-width: 880px;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mrn-safety-principles {
  width: fit-content;
  max-width: 100%;
  /* !important: WPコアbase layoutのmargin指定に勝つため */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0;
  list-style: none;
  /* 本文（説明文）は通常ウェイトで頭文字より小さめ */
  font-size: clamp(16px, 1.3vw, 18px);
  font-weight: 400;
  line-height: 1.9;
}

.mrn-safety-principles li {
  /* 頭文字（大きめ）の縦中央に説明文を揃える */
  display: flex;
  align-items: center;
}

.mrn-safety-principles li:not(:first-child) {
  margin-top: 14px;
}

/* 頭文字M・A・R・U・N・Oを太字で一回り大きく強調 */
.mrn-safety-principles .sme-text-color {
  font-weight: 700;
  font-size: 1.45em;
  margin-right: 0.5em;
}
/* === PROCS PAGE: mrn-safety END === */
