/*
    Theme Name:     Divi Child
    Template:       Divi
*/

/* *********************************
start 問い合わせのCTA
********************************* */
#contact-cta-cursor {
    position: fixed;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
    z-index: 1000;
}

/* end 問い合わせのCTA */

/* *********************************
start 投稿アーカイブページ ページネーション
********************************* */
.wp-pagenavi {
    margin-top: 60px;
    margin-bottom: 20px;
    text-align: center;
}

.wp-pagenavi span,
.wp-pagenavi a {
    padding: 5px;
    margin: 5px;
    background: #f8f9fa;
    border: 1px solid #f8f9fa;
}

.wp-pagenavi .current {
    background: #2ea3f2;
    border: 1px solid #2ea3f2 !important;
    color: #ffffff;
}

/* end 投稿アーカイブページ ページネーション */

/* *********************************
start 投稿ページ 目次
********************************* */
#ez-toc-container {
    padding: 25px;
}

#ez-toc-container .ez-toc-title-container {
    padding-bottom: 15px;
}

#ez-toc-container .ez-toc-list li {
    padding-top: 5px;
    padding-bottom: 5px;
}

/* end 投稿ページ 目次 */

/* *********************************
start ヘッダー
********************************* */
.section-header {
    .et_pb_row {
        height: initial !important;
    }
}

.section-header-mobile .menu-contact a {
    color: #48d14c !important;
    border-radius: 0px;
    border: 2px solid;
    transition: all 300ms ease 0ms;
    text-align: center;
}

.section-header-mobile .menu-contact a:hover {
    color: #FFFFFF !important;
    background-image: initial;
    background-color: #48d14c;
}

.et-l--header .et_pb_menu_page_id-1459 a {
    border: initial;
    text-align: center;
    border-width: 18px !important;
    border-color: #48d14c !important;
    border-radius: 10px !important;
    background-color: #48d14c !important;
    color: #fff !important;
    padding: 10px !important;
}

.et-l--header .et_pb_menu_page_id-4022 a {
    border: initial;
    text-align: center;
    border-width: 18px !important;
    border-color: #0C71C3 !important;
    border-radius: 10px !important;
    background-color: #0C71C3 !important;
    color: #fff !important;
    padding: 10px !important;
}

/* end ヘッダー */

/* *********************************
start 投稿ページ サムネイルサイズ統一
********************************* */
.entry-featured-image-url {
    padding-top: 56.25% !important;
    display: block !important;
}

.entry-featured-image-url img {
    position: absolute !important;
    height: 100% !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    object-fit: cover !important;
}

/* end 投稿ページ サムネイルサイズ統一 */

/* ***************************** */
/* start メガメニュー */
/* ***************************** */
/* メガメニュー 基本設定 */
.my-mega-menu {
    animation: open 0.5s;
}

/* メガメニュー / ヘッダーメニュー */
.my-mega-menu.close,
header.close {
    display: none !important;
}

/* メガメニュー 表示したとき */
.my-mega-menu.open {
    /*     display: block !important; */
    position: fixed;
    top: 0;
}

/* メガメニュー 消すとき */
.my-mega-menu.closing {
    animation: close 0.5s
}

/* メガメニュー 表示アニメーション 透過 → 非透過 */
@keyframes open {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

/* メガメニュー 消すアニメーション 非透過 → 透過 */
@keyframes close {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

/* メガメニュー 閉じるボタン */
.my-mega-menu.open .wrap-close-button-mega-menu {
    /*     text-align: right; */
    cursor: pointer;
    max-width: initial;
    /*     padding-right: 21px; */
}

/* メガメニュー 表示ボタン */
.open-button-mega-menu {
    cursor: pointer;
}

@media (max-width: 980px) {
    #mobile_menu1 .open-button-mega-menu {
        display: none;
    }
}

/* スクロール禁止用CSSクラス */
.no-scroll {
    overflow: hidden !important;
    height: 100%;
    padding-right: var(--scrollbar-width, 0px);
}

/* メニュー開閉アイコン */
span.material-symbols-rounded {
    font-size: 48px;
    height: fit-content;
    padding: 15px 0;
    transition: all 300ms ease 0ms;
}

span.material-symbols-rounded:hover {
    color: #48d14c;
}

/* end メガメニュー */

/* *********************************
start 事業内容 ITサポート ライフサイクルマネジメント
********************************* */
@media (min-width: 981px) {
    .lcm-grid .et_pb_column {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        column-gap: 50px;
        row-gap: 50px;
    }

    .lcm-grid .et_pb_column .procurement {
        grid-column-start: 2;
        grid-column-end: 4;
        grid-row-start: 1;
        grid-row-end: 2;
    }

    .lcm-grid .et_pb_column .implementation {
        grid-column-start: 3;
        grid-column-end: 5;
        grid-row-start: 2;
        grid-row-end: 3;
    }

    .lcm-grid .et_pb_column .operation {
        grid-column-start: 2;
        grid-column-end: 4;
        grid-row-start: 3;
        grid-row-end: 4;
    }

    .lcm-grid .et_pb_column .disposal {
        grid-column-start: 1;
        grid-column-end: 3;
        grid-row-start: 2;
        grid-row-end: 3;
    }

    .lcm-grid,
    .lcm-grid .et_pb_column {
        overflow: visible;
    }

    .lcm-grid .et_pb_column::before {
        content: "cycle";
        font-family: 'Material Symbols Rounded';
        font-size: 750px;
        color: #C6C6C6;
        opacity: 0.7;
        font-variation-settings:
            'FILL' 1,
            'wght' 300,
            'GRAD' -25;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: -1;
        pointer-events: none;
    }
}

/* end 事業内容 ITサポート ライフサイクルマネジメント */

/* start 背景 */
.section-header-mobile .et_pb_row_2_tb_header {
	padding: 0;
}

.tag-cloud #block-19 a:hover,
.category-cloud #block-18 a:hover {
	color: #48d14c;
}


.tag-cloud #block-19 a,
.category-cloud #block-18 a {
	font-size: 2vw !important;
	background-color: initial;
	text-align: center;
	transition: all .4s ease-in-out;
    font-family: 'Noto Sans JP', Helvetica, Arial, Lucida, sans-serif !important;
}


.category-cloud #block-18 a {
	display: inline-block;
	width: 100%;
}

.tag-cloud #block-19,
.category-cloud #block-18 {
	width: initial;
	margin: 0;
	padding: 0;
}

@media (max-width: 980px) {

	.tag-cloud #block-19 a,
	.category-cloud #block-18 a {
		font-size: 4vw !important;
	}
}

@media (max-width: 980px) {
	.et_pb_column.et_pb_column_empty {
		display: block !important;
	}
}

.fv-front,
.fv-front *,
header,
header * {
	pointer-events: none !important;
}

header .active-link,
header a,
header .open-button-mega-menu,
.mobile_menu_bar,
.et_pb_menu__logo a,
.et_pb_menu__logo a img,
.square {
	pointer-events: auto !important;
}
/* end 背景 */

/* start カテゴリスライダー */
.swiper-wrapper {
	transition-timing-function: linear;
}

/* end カテゴリスライダー */
