@charset "utf-8";
body {
    background-color: #ffffff;
}

.entry,
.widget-box .dp_text_widget,
.widget-box .textwidget {
    font-size: 14px;
}

.mb-theme .entry,
.mb-theme .widget-box .dp_text_widget,
.mb-theme .widget-box .textwidget {
    font-size: 14px;
}

.dp-container .entry a,
.dp-container .dp_text_widget a,
.dp-container .textwidget a,
#comment_section .commentlist a:hover {
    color: #e0b711;
}

.dp-container .entry a:hover,
.dp-container .dp_text_widget a:hover,
.dp-container .textwidget a:hover,
.fake-hover:hover {
    color: #AB8B0B;
}

.single-date-top,
.dp-container pre,
.entry input[type="submit"],
.plane-label,
input#submit {
    color: #ffffff;
    background-color: #e0b711;
}

.hd_slideshow .bx-wrapper .bx-pager .bx-pager-item a {
    background-color: #ffffff;
    text-shadow: 0 0 30px rgba(0, 0, 0, .38);
}

.hd_slideshow .bx-controls-direction a {
    color: #ffffff;
}

.header-banner-inner,
.header-banner-inner a,
.header-banner-inner a:hover {
    color: #ffffff;
    text-shadow: 0 0 30px rgba(0, 0, 0, .38);
}

.mb-theme .header-banner-inner,
.mb-theme .header-banner-inner a,
.mb-theme .header-banner-inner a:hover {
    color: #ffffff;
    text-shadow: 0 0 15px rgba(0, 0, 0, .72);
}

#banner_caption::before,
#banner_caption::after,
.header-banner-inner .bx-viewport .slide .loop-cat::before,
.header-banner-inner .bx-viewport .slide .loop-cat::after {
    background-color: #ffffff;
}

.dp-container {
    color: #444444;
    background-color: #ffffff;
}

.dp-container a,
.dp-container a:hover,
.main-wrap a {
    color: #444444;
}

.content-wrap {
    background-color: #ffffff;
}

.pace {
    background-color: #ffffff;
    border-color: #1e73be;
}

.pace .pace-progress {
    background-color: #1e73be;
}

.pace .pace-progress::after {
    color: rgba(68, 68, 68, .68);
}

.header_container.pc,
.header_container.mb.fixed {
    color: #ffffff;
    background-color: #222222;
    background: linear-gradient(to bottom, rgba(34, 34, 34, .92) 0%, rgba(34, 34, 34, .72) 38%, rgba(34, 34, 34, .1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#34'222222, endColorstr='#14'222222, GradientType=0);
}

.header_container.mb {
    border-color: #1e73be;
    color: #ffffff;
    background-color: #222222;
}

.header_container.pc:hover,
.header_container.pc.scroll {
    background-color: rgba(34, 34, 34, .92);
}

.header_container a,
#hd_tel a,
#global_menu_ul a.menu-link:hover {
    color: #ffffff;
}

.header_container a:hover {
    color: #f4f4f4;
}

.hd_sns_links ul li a::before {
    background-color: #ffffff;
}

#global_menu_ul .sub-menu {
    background-color: rgba(34, 34, 34, .92);
    box-shadow: 0 1px 4px rgba(255, 255, 255, .7);
}

#global_menu_ul a.menu-link,
.hd_sns_links ul li a {
    color: rgba(255, 255, 255, .7);
}

#global_menu_ul a.menu-link::after {
    background-color: #1e73be;
}

.hd_sns_links ul li a:hover {
    color: #222222;
}

#global_menu_nav.mq-mode {
    color: #ffffff;
    background-color: #222222;
}

#header-search .modal-trigger::before,
#global_menu_nav.mq-mode .mq_sub_li {
    color: #222222;
    background-color: #ffffff;
}

#global_menu_nav.mq-mode,
#global_menu_nav.mq-mode .menu-link {
    border-color: rgba(255, 255, 255, .22);
}

.ft-widget-content .widget-area {
    width: 30.8%;
}

.ft-widget-content .widget-area.two {
    margin: 0 3.8%;
}

.dp-container .entry a {
    font-weight: normal;
    text-decoration: none;
}

.dp-container .entry a:hover {
    text-decoration: underline;
}

.loop-section.normal:not(.mobile) .loop-date,
.loop-section.portfolio.pt2 .loop-date,
.loop-section.magazine.pt1 .loop-date,
.loop-section.portfolio.mobile .loop-date,
.single-article header .meta-date,
.entry ol li::before,
.dp_text_widget ol li::before,
.textwidget ol li::before,
#gotop {
    background-color: #1e73be;
    color: #ffffff;
}

.loop-section.normal:not(.mobile) .loop-date::before,
.loop-section.portfolio.pt2 .loop-date::before,
.loop-section.magazine.pt1 .loop-date::before,
.loop-section.portfolio.mobile .loop-date::before,
.single-article header .meta-date::before {
    border-color: rgba(30, 85, 160, 1) transparent transparent rgba(30, 85, 160, 1);
    background-color: #ffffff;
}

.single-article .single_post_meta .loop-share-num a,
.loop-section.portfolio.pattern2 .loop-title a,
.loop-section.normal .loop-share-num a,
.loop-section.magazine .loop-share-num a,
.loop-section.mobile .loop-share-num a,
.loop-section .loop-title a,
.loop-section .meta-author a {
    color: #444444;
}

.loop-section.normal .loop-share-num .share-icon::after,
.loop-section.magazine .loop-share-num .share-icon::after,
.loop-section.mobile .loop-share-num .share-icon::after {
    border-color: transparent transparent transparent rgba(68, 68, 68, .1);
}

.loop-section.normal .loop-share-num .share-icon,
.loop-section.magazine .loop-share-num .share-icon,
.loop-section.mobile .loop-share-num .share-icon,
.single-article .single_post_meta .loop-share-num .share-icon,
.dp_feed_widget li a {
    background-color: rgba(68, 68, 68, .1);
}

.dp_feed_widget li a:hover {
    color: #ffffff;
}

.dp_feed_widget li a:hover::before {
    background-color: #444444;
}

.loop-excerpt {
    color: rgba(68, 68, 68, .74);
}

.ct-hd {
    background-color: #1e73be;
}

.meta-cat .item-link {
    color: #444444;
}

.magazine.one .loop-article .meta-cat .item-link:hover,
.news .meta-cat .item-link {
    color: #ffffff;
    background-color: #444444;
    border-color: #444444;
}

.bx-wrapper .bx-pager .bx-pager-item a {
    background-color: #444444;
}

.bx-controls-direction a {
    color: #444444;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: #e0b711;
}

select {
    border-color: rgba(68, 68, 68, .14);
    color: #444444;
}

#footer select {
    border-color: rgba(68, 68, 68, .14);
    color: #444444;
}

.dp_toc_container {
    border-color: rgba(30, 115, 190, .2);
    background: #ffffff;
}

.dp_toc_container::before {
    background: rgba(30, 115, 190, .04);
}

.dp_toc_container ul.dp_toc_ul {
    border-color: rgba(30, 115, 190, .24);
}

.dp_toc_container p.toc_title_block>span::before,
.dp_toc_container ul.dp_toc_ul>li::before {
    background: rgba(30, 115, 190, .16);
}

.dp_toc_container ul.dp_toc_ul li a,
.dp_toc_container ul.dp_toc_ul li a:hover,
.dp_toc_container ul.dp_toc_ul>li li::before {
    color: #444444;
}

.rank_label.thumb {
    background-color: #1e73be;
}

.rank_label.no-thumb {
    color: rgba(68, 68, 68, .1);
}

.mb-theme .single-nav li {
    background-color: rgba(68, 68, 68, .06);
}

address,
#switch_comment_type li.active_tab,
#comment_section li.comment:hover,
#comment_section li.trackback:hover,
#comment_section li.pingback:hover {
    border-color: #1e73be;
}

.entry h1,
.entry h2,
.entry h3,
.entry h4,
.entry h5,
.entry h6,
.dp_text_widget h1,
.dp_text_widget h2,
.dp_text_widget h3,
.dp_text_widget h4,
.dp_text_widget h5,
.dp_text_widget h6,
.textwidget h1,
.textwidget h2,
.textwidget h3,
.textwidget h4,
.textwidget h5,
.textwidget h6 {
    border-bottom-color: rgba(30, 115, 190, .28);
}

.widget_pages li a::after,
.widget_nav_menu li a::after,
.widget_nav_menu li.current-menu-item a::after,
.widget_categories li a::after,
.widget_categories li.current-cat a::after {
    background-color: rgba(68, 68, 68, .54);
}

.entry ul li::before,
.dp_text_widget ul li::before,
.textwidget ul li::before {
    background-color: #1e73be;
    box-shadow: 0 0 0 3px rgba(30, 115, 190, .3);
}

.single-article header::before,
.single-article .single_post_meta,
.single-article .single_post_meta .loop-share-num div[class^="bg-"],
.dp_related_posts.news li,
table.gsc-search-box {
    border-color: rgba(68, 68, 68, .4);
}

.single-article .single_post_meta::before {
    background-color: #ffffff;
    color: rgba(68, 68, 68, .4);
}

.inside-title,
#reply-title {
    color: #444444;
}

.inside-title span,
.comment-respond #reply-title span,
.dp_tab_widget_ul li span,
.dp_related_posts.horizontal .meta-cat .item-link,
.wd-title span {
    background-color: #ffffff;
}

.dp_tab_widget_ul li:hover::before,
.dp_tab_widget_ul li.active_tab::before {
    background-color: #1e73be;
}

.dp_tab_widget_ul {
    border-color: rgba(68, 68, 68, .6);
}

.cat-item .count {
    color: #ffffff;
    background-color: rgba(68, 68, 68, .5);
}

#commentform input[type="submit"] {
    color: #1e73be;
}

#commentform input[type="submit"]:hover {
    color: #ffffff;
    background-color: #1e73be;
    border-color: #1e73be;
}

.single_post_meta .meta-cat .item-link:hover,
.dp_related_posts.horizontal .meta-cat .item-link:hover,
.tagcloud a:hover,
.dp-container .more-entry-link a:hover,
#comment_section .comment-meta .comment-reply-link:hover,
.entry>p>a.more-link:hover,
.navialignleft a:hover,
.navialignright a:hover,
.dp-container .entry .dp-pagenavi a:hover,
.dp-container .entry .dp-pagenavi a::before,
.dp-pagenavi a:hover,
.dp-pagenavi a::before,
.dp-pagenavi .page-numbers.current,
.dp-pagenavi .page-numbers:hover {
    color: #ffffff;
    background-color: #444444;
    border-color: #444444;
}

.nav_to_paged a::before,
.nav_to_paged a::after,
.loop-section .more-link a::before,
.loop-section .more-link a::after,
.loop-section.magazine .loop-article::before {
    background-color: #444444;
}

.dp-container .more-entry-link a {
    background-color: rgba(68, 68, 68, .18);
}

.dp_related_posts li:hover,
.recent_entries li:hover {
    border-color: #444444;
}

.tooltip-arrow {
    border-color: transparent transparent #444444 transparent;
}

.tooltip-msg {
    color: #ffffff;
    background-color: #444444;
}

.dp-container blockquote::before,
.dp-container blockquote::after {
    color: #1e73be;
}

#comment_section li.comment:hover,
#comment_section li..trackback:hover,
#comment_section li..pingback:hover {
    border-color: #e0b711;
}

.modal_wrapper.main_menu {
    color: #ffffff;
    background-color: #222222;
}

.modal_wrapper.main_menu a {
    color: #ffffff;
}

.bottom_bar,
.search-form .submit-area button.search-btn {
    background-color: #1e73be;
    color: #ffffff;
}

.btbar_btn,
.btbar_btn a {
    color: #ffffff;
}

.main_slide_menu .menu-item,
.main_slide_menu .menu-item:first-child,
.main_slide_menu .menu-item .expand {
    border-color: rgba(255, 255, 255, .32);
}

body:not(.mb-theme) .wow {
    visibility: hidden
}

#footer {
    background-color: #f4f4f4;
    color: #444444;
}

#footer a {
    color: #333333;
}

#footer a:hover {
    color: #666666;
}

#footer .inside-title {
    color: #444444;
}

#footer .inside-title span,
#footer .dp_tab_widget_ul li span,
#footer .wd-title span,
#footer .loop-section.normal:not(.mobile) .loop-date::before,
#footer .loop-section.portfolio.pt2 .loop-date::before,
#footer .loop-section.magazine.pt1 .loop-date::before,
#footer .loop-section.portfolio.mobile .loop-date::before {
    background-color: #f4f4f4;
}

#footer .dp_tab_widget_ul {
    border-color: rgba(68, 68, 68, .6);
}

#footer .dp_tab_widget_ul li:hover::before,
#footer .dp_tab_widget_ul li.active_tab::before {
    background-color: #1e73be;
}

#footer .tagcloud a:hover,
#footer .more-entry-link a:hover {
    color: #f4f4f4;
    background-color: #444444;
    border-color: #444444;
}

#footer .cat-item .count {
    color: #f4f4f4;
    background-color: rgba(68, 68, 68, .5);
}

#footer .dp_related_posts li:hover,
#footer .recent_entries li:hover {
    border-color: #444444;
}

#footer .dp_feed_widget li a {
    color: #444444;
    background-color: rgba(68, 68, 68, .1);
}

#footer .dp_feed_widget li a:hover {
    color: #f4f4f4;
}

#footer .dp_feed_widget li a:hover::before {
    background-color: #444444;
}

#footer_menu_ul,
.mb-theme #footer_menu_ul .menu-item {
    border-color: rgba(68, 68, 68, .2);
}

#footer_menu_ul .menu-item::after {
    color: rgba(68, 68, 68, .6);
}

#footer .loop-section.portfolio .loop-article-content a,
#footer .loop-section.portfolio .meta-cat .item-link {
    color: #fff;
}

.btn,
a.btn {
    border-color: #1e73be;
    color: #1e73be;
}

.btn:not([class*="btn-"]):hover,
a.btn:not([class*="btn-"]):hover {
    border-color: #1e73be;
}

.label,
.btn::after {
    background-color: #1e73be
}

.label::after {
    background-color: #ffffff;
}

#footer .label::after {
    background-color: #f4f4f4;
}


/* ADD css */

img {
    max-width: 100%;
}

.center {
    text-align: center;
}

section.ct-hd.page:after {
    background: rgba(000, 000, 000, 0.2);
}


/* テンプレート独自の不要な要素を削除・修正・追加 */

.not-found {
    display: none;
}

label#header-search {
    display: none;
}

.ct-whole {
    z-index: 10;
}

section.ct-hd.page {
    position: relative;
}

section.ct-hd.page:after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    background: rgba(000, 000, 000, 0.3);
    content: "";
}

.content-wrap.incontainer.clearfix.home {
    padding: 0;
}


/* 準備中 */

.coming-soon {
    text-align: center;
    font-size: 24px !important;
    padding: 60px 0;
}


/* トップページ */

ul.contact-btn {
    text-align: center;
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

ul.contact-btn li input {
    width: 150px;
}


/* トップページ ムービーと[About Us]の間隔調整 */

.plx_widget.dp_parallax_widget-2 {
    padding: 0% 0px 5% 0px;
}


/* TOPページ更新通知用([News]ボタン部分に[New]アイコンを表示) */

.plx_btn.dp_parallax_widget-5 a.btn::before {
    content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
    display: none;
    transform: scale(0.2);
    position: absolute;
    top: -4em;
    left: 0em;
    z-index: 11;
}


/* TOPページ更新通知用PC時([IR]ボタン部分に[New]アイコンを表示) */

.plx_btn.dp_parallax_widget-6 a.btn::before {
    content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
    display: none;
    transform: scale(0.2);
    position: absolute;
    top: -4em;
    left: 0em;
    z-index: 11;
}


/* TOPページ更新通知用SP時([IR]ボタン部分に[New]アイコンを表示) */

.plx_btn.dp_parallax_widget-7 a.btn::before {
    content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
    display: none;
    transform: scale(0.2);
    position: absolute;
    top: -4em;
    left: 0em;
    z-index: 11;
}


/* TOPページグローバルメニューnewアイコンPC表示 */

@media screen and (min-width:1100px) {
    /* グローバルメニュー「ニュース」　*/
    #menu-item-388 a.menu-link span.menu-title::after {
        content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
        display: none;
        transform: scale(0.15);
        position: absolute;
        top: -5.2em;
        left: -7.5em;
        z-index: 11;
    }
    /* グローバルメニュー「IR」　*/
    #menu-item-1627 a.menu-link span.menu-title::after {
        content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
        display: none;
        transform: scale(0.15);
        position: absolute;
        top: -5.2em;
        left: -9em;
        z-index: 11;
    }
}


/* TOPページグローバルメニューnewアイコンモバイル表示 */

@media screen and (max-width:1100px) {
    /* グローバルメニュー「ニュース」　*/
    #menu-item-388 a.menu-link span.menu-title::after {
        content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
        display: none;
        transform: scale(0.15);
        position: absolute;
        top: -4.2em;
        left: 0em;
        z-index: 11;
    }
    /* グローバルメニュー「IR」　*/
    #menu-item-1627 a.menu-link span.menu-title::after {
        content: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/new_mark_0001.png);
        display: none;
        transform: scale(0.15);
        position: absolute;
        top: -4.2em;
        left: 0em;
        z-index: 11;
    }
}


/* 固定ページ共通 */

.page-contents h2 {
    font-size: 56px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
}

.page-contents p {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 20px;
}

.page-contents table {
    table-layout: fixed;
    width: 100%;
    max-width: 800px;
    margin: auto;
}

.page-contents table tr th {
    width: 30%;
    padding: 15px;
    box-sizing: border-box;
    font-size: 16px;
}

.page-contents table tr td {
    width: 70%;
    padding: 15px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5;
}


/* 企業情報 */

.about-us-block {
    margin-top: -50px;
    margin-bottom: 50px;
    padding-top: 50px;
}

.about-us-block h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}

.about-us-block table {
    width: 100%;
    margin: auto;
    max-width: 800px;
}


/* 役員紹介 */

p.officer-position {
    color: #1e73be;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 0;
}

.officer h4 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 0;
}

.officer h4 span {
    font-size: 14px;
    margin-left: 10px;
}

.officer-wrap {
    display: flex;
    flex-wrap: wrap;
}

.officer {
    margin-bottom: 50px;
    width: 48%;
}

.officer:nth-child(odd) {
    margin-right: 4%;
}

.office-img-block:last-child {
    margin-right: 0;
}

.office-img-block {
    width: 49%;
    margin-right: 2%;
}

.office-img {
    max-width: 800px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
}


/* グループ紹介.group-wrap {    background: #1e73be;    position: relative;    border-radius: 50%;    padding: 210px 0;    box-sizing: border-box;    width: 100%;    max-width: 800px;    margin: auto;}.group-wrap h3 {    text-align: center;    color: #fff;    font-weight: bold;    font-size: 40px;}.group-wrap h3 span {    margin: 0 10px;}.group-logo {    height: 60px;}.group-logo img {    max-height: 100%;}.group-ba p, .group-tamago p, .group-cotori p {    margin-bottom: 0;    font-weight: bold;    font-size: 14px;}.group-ba, .group-tamago, .group-cotori {    position: absolute;    background: #fff;    border-radius: 5px;    text-align: center;    border: 1px solid #333333;    width: 260px;}.group-ba a, .group-tamago a, .group-cotori a {    padding: 10px;    transition: 0.5s all;    display: block;}.group-wrap a:hover {    opacity: 0.7;    transition: 0.5s all;}.group-ba {    top: 20px;    left: 50%;    transform: translateX(-50%);}.group-tamago {    bottom: 20px;    left: 100px;}.group-cotori {    bottom: 20px;    right: 100px;}.group-cotori ul, .group-tamago ul, .group-ba ul {    display: flex;    flex-wrap: wrap;    margin-top: 10px;}.group-cotori ul li, .group-tamago ul li, .group-ba ul li {    width: 25%;}.group-cotori ul li img, .group-tamago ul li img, .group-ba ul li img {    max-width: 100%;}.content-wrap.incontainer.clearfix.home {    display: none;} */


/* ニュース */

.archive-wrap {
    max-width: 800px;
    margin: 50px auto;
}

.archive-wrap ul li {
    border-bottom: 1px solid #1e73be;
    padding: 20px 10px;
}

.archive-wrap ul li h3 {
    font-size: 18px;
    font-weight: bold;
}

.archive-wrap ul li p {
    font-size: 14px;
    margin-bottom: 5px;
}

/* ニュースページ年月日対応。アイコンの中に表示する文字サイズを一回り小さく */
span.date_day_double {
	font-size: 14px !important;
}
span.date_month_en {
	font-size: 12px !important;
	padding-bottom: 2px;
}
span.date_year {
	font-size: 10px !important;
}

/* シングルページ */

.content-wrap.incontainer.clearfix.singular {
    margin-top: 50px;
}


/* トップページムービー　パララックス　カスタマイズ */

div#header-banner-inner {
    background: #000 !important;
}

@media screen and (min-width:1200px) {
    /* 20220922 修正 */
    .video-wrap {
        position: relative;
        /* 20220913 修正 */
        top: 0;
        left: 0;
        width: 100%;
        z-index: 0;
        background-color: #222222;
        /* 20220909 修正 */
        padding-top: 80px;
        /* 20220909 修正 */
        padding-bottom: 1%;
        /* 20220913 修正 */
        /* 20220925 修正 */
        /* 20230331 5%→1% */
    }
    /* top-img-pcのclassのみ表示 */
    .top-img-pc {
        display: block !important;
    }
    .top-img-sp {
        display: none !important;
    }
}

@media screen and (max-width: 1200px) {
    /* 20220922 修正 */
    .video-wrap {
        position: relative;
        /* 20220913 修正 */
        top: 0;
        left: 0;
        width: 100%;
        z-index: 0;
        background-color: #222222;
        /* 20220909 修正 */
        padding-top: 80px;
        /* 20220909 修正 */
        padding-bottom: 1%;
        /* 20220913 修正 */
        /* 20220925 修正 */
        /* 20230331 10%→1% */
    }
    /* top-img-spのclassのみ表示 */
    .top-img-pc {
        display: none !important;
    }
    .top-img-sp {
        display: block !important;
    }
}

@media screen and (min-width:1200px) {
    /* 20220922 修正 */
    .video-wrap video {
        position: relative;
        /* 20230728 absolute→relative */
        /* 20220922 修正 */
        z-index: 100;
        /* 20220922 修正 */
        bottom: 0;
        /* 20220922 修正 */
        left: 50%;
        /* 20220922 修正 */
        /* 20230331 translateYt追加 */
        /* 20231023 translateY -15%→-0% */
        transform: translateX(-50%) translateY(-0%);
        /* 20220922 修正 */
        width: 100%;
        /* 20230728 80%→100% */
        /* 20220922 修正 */
        /* object-fit: cover; */
    }
}

@media screen and (max-width: 1200px) {
    /* 20220922 修正 */
    .video-wrap video {
        position: relative;
        /* 20230728 absolute→relative */
        /* 20220913 修正 */
        z-index: 100;
        /* 20220913 修正 */
        bottom: 0;
        /* 20220913 修正 */
        left: 50%;
        /* 20220913 修正 */
        /* 20230331 translateYt追加 */
        /* 20231023 translateY -15%→-0% */
        transform: translateX(-50%) translateY(-0%);
        /* 20220913 修正 */
        width: 100%;
        /* 20230728 80%→100% */
        /* 20220913 修正 */
        /* 20220925 修正 */
        /* 20230331 90%→80% */
        /* object-fit: cover; */
    }
}

.toptext {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    text-align: center;
}

.toptext h1 {
    font-size: 6vw;
    margin-bottom: 40px;
    font-weight: bold;
    color: #fff;
    text-shadow: 1px 1px 5px #000, -1px -1px 5px #000;
}

.toptext p {
    font-size: 5vw;
    margin-bottom: 20px;
    color: #fff;
    text-shadow: 1px 1px 5px #000, -1px -1px 5px #000;
}

.header-banner-container {
    display: none;
}


/* 採用情報 */

.entry-btn {
    margin-top: 40px;
}

.entry-btn a {
    display: block;
    padding: 0 10px;
    line-height: 42px;
    border: 1px solid rgba(170, 170, 170, 0.48);
    background: rgba(240, 240, 240);
    color: #000;
    font-size: 13.333px;
    margin: auto;
    max-width: 150px;
    box-sizing: border-box;
    text-align: center;
}


/* グループ紹介 */

.group-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 100px;
}

.group-left {
    width: 60%;
}

.group-right {
    width: 40%;
}

.group-right h4 {
    font-size: 30px;
    text-align: center;
}

.group-right h4 span {
    font-weight: bold;
    margin-bottom: 30px;
    display: inline-block;
    font-size: 40px;
    line-height: 1.5;
}

.group-logo1,
.group-logo2,
.group-logo3 {
    width: 200px;
    text-align: center;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px;
}

.group-back {
    position: relative;
    padding: 0 130px;
}

.group-center h2 {
    margin-bottom: 0;
    font-size: 40px;
}

.group-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.group-logo1 {
    position: absolute;
    top: 0px;
    right: 0;
    left: 0;
    margin: auto;
}

.group-logo2 {
    position: absolute;
    left: 70px;
    bottom: 0;
    margin: auto;
}

.group-logo3 {
    position: absolute;
    right: 70px;
    bottom: 0;
    margin: auto;
}

.group-back h3 {
    background: #000;
    color: #fff;
    font-size: 16px;
    padding: 5px 10px;
}

.group-contents h3 {
    font-weight: bold;
    margin-bottom: 50px;
    font-size: 30px;
    margin-top: 30px;
    border-bottom: 2px solid #ddd;
    padding: 0 30px 20px;
}

.group-company {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
    border-bottom: 2px solid #1e73be;
    padding: 30px 30px 10px;
}

.group-company:last-child {
    border-bottom: none;
}

.group-company-l {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 50%;
}

.group-company-logo {
    width: 50%;
    box-sizing: border-box;
    padding: 20px;
    text-align: center;
}

.group-company-logo .group-btn a {
    width: 150px;
}

.group-btn.sponly {
    display: none;
}

.group-company-ttl {
    width: 50%;
}

.group-company-ttl h4 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}

.group-company-ttl h5 {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
}

.group-company-ttl ul li {
    font-size: 16px;
    margin-bottom: 10px;
}

.group-company-r {
    width: 50%;
}

.group-company-r ul {
    display: flex;
    flex-wrap: wrap;
}

.group-company-r ul li {
    width: 48%;
    text-align: center;
    box-sizing: border-box;
    box-sizing: border-box;
    margin: 1%;
}

.group-company-r ul.single-img li {
    width: 100%;
    margin: 0;
}

ul.single-img li img {
    max-height: 200px;
    object-fit: cover;
    width: 100%;
}

p.group-text {
    margin-top: 50px;
}

.group-logo-text {
    position: absolute;
}

.group-logo-text p {
    word-break: keep-all;
    background: #1e73be;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    margin: 0;
}

p.group-link a {
    color: #1e73be;
    font-weight: bold;
}

p.work-txt {
    display: flex;
    flex-wrap: wrap;
    height: 70px;
    width: 280px;
    align-items: center;
    justify-content: center;
}

p.work-txt span {
    font-size: 22px;
}

a.work-link {
    display: block;
}

a.work-link:hover p.work-txt>span {
    transition: 0.5s;
    color: #444444;
}

.group-logo1 p.work-txt br {
    display: none;
}

.img-frame {
    border: 1px solid #ddd;
}

.img-frame img {
    height: 160px;
    object-fit: cover;
    width: 100%;
}

.group-company-r ul li h4 {
    font-size: 16px;
    font-weight: bold;
    margin: 10px 0;
}

.group-company-r ul li p {
    font-size: 13px;
    text-align: left;
}

.img-frame-text h3 {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 24px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.img-frame-text {
    position: relative;
}

.img-frame {
    border: 1px solid #ddd;
}

.img-frame.img-frame-text.white h3 {
    text-shadow: 0px 0px 5px #000;
}

p.group-btn a {
    background: #888;
    color: #fff;
    padding: 10px 20px;
    border-radius: 10px;
    box-shadow: 1px 1px 3px #000;
    display: block;
    text-align: center;
    width: 50%;
    margin: auto;
    transition: 0.5s all;
}

.img-frame a {
    display: block;
    transition: 0.5s all;
    z-index: 0;
    position: relative;
}

.img-frame a:hover {
    transition: 0.5s all;
    opacity: 0.7;
}


/* IR */

.ir-block {
    margin-top: -50px;
    padding-top: 50px;
}

.ir-table-wrap table tr th,
.ir-table-wrap table tr td {
    display: table-cell;
    height: 45px;
}

.ir-table-wrap table {
    width: 50%;
}

.ir-table-wrap {
    display: flex;
    flex-wrap: wrap;
}

.ir-ttlA {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}

h4.ir-ttlB {
    border: none;
    margin-bottom: 0;
}

h4.ir-ttlB span {
    font-size: 14px;
}

.unitA,
.unitB {
    position: relative;
}

.unitA:after {
    content: "単位：千円";
    font-size: 12px;
    position: absolute;
    bottom: 10px;
    right: 0;
}

.unitB:after {
    content: "単位：%";
    font-size: 12px;
    position: absolute;
    bottom: 10px;
    right: 0;
}

td.num-right {
    text-align: right;
}

td.ir-table-ttl {
    font-weight: bold;
}

tr.ir-table-total th,
tr.ir-table-total td {
    background: rgba(30, 115, 190, .28);
    font-weight: bold;
}

td.ir-table-ttl+td {
    font-weight: bold;
}

.ir-content-wrap {
    display: flex;
    flex-wrap: wrap;
}

.ir-content-half {
    width: 49%;
}

.ir-content-half:first-child {
    margin-right: 2%;
}

.ir-content-ttl {
    text-align: center;
    border: none !important;
    color: #1e73be;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.ir-content-half table {
    table-layout: fixed;
    width: 100%;
    margin-top: 40px;
}

.ir-content-half table tr th,
.ir-content-half table tr td {
    text-align: center;
}

p.ph-link {
    font-size: 17px;
}

p.ph-link a {
    color: #1e73be !important;
    text-decoration: underline !important;
    margin-left: 40px;
}

p.soon {
    text-align: center;
    font-size: 20px;
    margin-bottom: 100px;
}


/* 外部からの通報窓口 */

.external-report {
    margin-top: 80px;
    text-align: center;
}

.external-report h3 {
    font-weight: bold;
    margin-bottom: 50px;
    font-size: 30px;
    margin-top: 30px;
    border-bottom: 2px solid #ddd;
    padding: 0 30px 20px;
    text-align: center;
}

p.external-report-tel {
    font-size: 48px;
}

p.external-report-tel a {
    color: #1e73be;
}

.page-contents.contact input {
    max-width: 100%;
}


/* ISO認証バッジ＋文字（「企業情報」ページのヘッダーでのみ使用） */
body.page-id-10 .iso-badge {
    z-index: 10;

    /* 上寄せ、右寄せ */
    position: absolute;
    margin-top: 32px;
    top: 12%;
    right: 2%;

    max-width: 50%;

    font-size: clamp(1px, 1.0vw, 6.2px);
    line-height: 1.8em;
}
body.page-id-10 .iso-badge img {
    width: 65%;
    height: auto;
}
body.page-id-10 .iso-badge p {
    margin: 10px 0;
}
@media (max-width: 768px) {
    body.page-id-10 .iso-badge {
        right: 0.2%;
    }
}
@media (max-width: 339px) {
    body.page-id-10 .iso-badge {
        top: 6%;
        right: 0%;
        max-width: 31%;
        transform:scale(0.8);
        font-size: 1.1vw;
    }
}


/* SI事業 */

body.page-id-794 {
    background: #2a2a2a;
}

body.page-id-794 #container {
    background: #2a2a2a;
}

body.page-id-794 .content-wrap {
    background: #2a2a2a;
    width: 100%;
    max-width: 1920px;
    padding-bottom: 0;
}

body.page-id-794 footer#footer {
    display: none;
}

body.page-id-794 nav#dp_breadcrumb_nav {
    display: none;
}

body.page-id-794 .ct-hd .plx_bg::after {
    background-color: rgba(0, 0, 0, 0);
}

body.page-id-794 .plx_bg.pl_img {
    background-position: left center !important;
}

body.page-id-794 .ct-hd .hd-arrow::before {
    display: none;
}

body.page-id-794 .hd-title:after {
    content: "System Integration Business";
    font-size: 14px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -40px;
    font-weight: normal;
}

body.page-id-803 {
    background: #2a2a2a
}

body.page-id-803 p {
    color: #ffffff;
    font-size: 16px;
    text-align: center;
    line-height: 1.5;
}

.si-desc {
    color: #ffffff;
    font-size: 20px;
    letter-spacing: 0.5px;
    line-height: 30px;
    text-align: center;
    margin-bottom: 100px;
}

.si-titleA h2 {
    font-size: 48px;
    color: #ffffff;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-weight: bold;
    letter-spacing: 1px;
    position: relative;
}

.si-titleA p {
    font-size: 14px;
    color: #ffffff;
    text-align: center;
}

.si-titleA h2:after {
    content: "";
    display: block;
    width: 95%;
    height: 2px;
    background: linear-gradient(to right, transparent 0%, #ffffff 50%, transparent 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

h3.si-titleB {
    text-align: center;
}

h3.si-titleB span {
    margin: 60px auto;
    font-size: 26px;
    color: #ffffff;
    min-width: 350px;
    background: #34a490;
    padding: 15px 30px;
    border-radius: 30px;
    border: 5px solid #2a2a2a;
    outline: 2px solid #ffffff;
    position: relative;
    display: inline-block;
}

h3.si-titleB span:after {
    right: -10px;
}

h3.si-titleB span:before {
    left: -10px;
}

h3.si-titleB span:before,
h3.si-titleB span:after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1000;
    background: #2a2a2a;
}

h4.si-titleC {
    font-size: 30px;
    color: #ffffff;
    text-align: center;
    padding: 15px 0;
    background: linear-gradient(to right, transparent 0%, #000000 50%, transparent 100%);
}

.si-block {
    margin-bottom: 80px;
}

.si-block .si-txt {
    color: #ffffff;
    font-size: 18px;
    letter-spacing: 0.5px;
    line-height: 30px;
    text-align: center;
    margin-top: 20px;
}

.si-footer {
    background: #181818;
    padding: 20px 40px 60px;
}

.si-footer p {
    color: #ffffff;
    text-align: center;
    font-size: 24px;
}

.si-contactform {
    text-align: center;
}

.si-contactform a {
    background: #f56a17;
    color: #ffffff;
    padding: 15px 60px;
    display: inline-block;
    font-size: 30px;
    border-radius: 15px;
    border: 2px solid #ffffff;
    box-sizing: border-box;
    margin-top: 15px;
}

.ex-link {
    position: relative;
}

.si-ex-link a {
    font-size: 30px;
    color: #ffffff;
    background: rgba(000, 000, 000, 0.8);
    padding: 10px 40px;
    border-radius: 30px;
    border: 1px solid #ffffff;
    display: block;
    position: absolute;
    bottom: 30px;
    right: 5%;
    transition: 0.5s all;
}


/* SI事業お問い合わせ */

body.page-id-801 {
    background: #2a2a2a;
}

body.page-id-801 #container {
    background: #2a2a2a;
}

body.page-id-801 .content-wrap {
    background: #2a2a2a;
    width: 100%;
    max-width: 1920px;
    padding-bottom: 0;
    padding-top: 0;
}

body.page-id-801 footer#footer {
    display: none;
}

body.page-id-801 nav#dp_breadcrumb_nav {
    display: none;
}

.si-contact-header {
    background: url(https://technologies-group.co.jp/wp-content/themes/dp-macchiato/img/si_pic_toiawase_0001.png) no-repeat center center;
    background-size: cover;
    padding: 180px 40px 220px;
}

.si-contact-header h2 {
    font-size: 30px;
    color: #ffffff;
    background: rgba(000, 000, 000, 0.6);
    padding: 10px 50px;
    display: inline-block;
    border-radius: 30px;
}

.si-contact-header {
    text-align: center;
}

.si-contact-table {
    margin: 40px auto;
    max-width: 1000px;
    width: 100%;
}

.si-contact-table table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
}

.si-contact-table table tr th {
    color: #424241;
    background: #adadad;
    border-color: #7e7e7e;
    width: 30%;
    font-size: 20px;
    position: relative;
}

.si-contact-table table tr th span {
    color: #ffffff;
    position: absolute;
    right: 10px;
    font-weight: normal;
    padding: 5px 10px;
    border-radius: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.si-contact-table table tr th span.req {
    background: #ff0000;
}

.si-contact-table table tr th span.any {
    background: #718595;
}

.si-contact-table table tr td {
    background: #d9d9d9;
}

.si-contact-table table tr td input {
    width: 100%;
    background: #c7c7c7;
    box-shadow: 1px 1px 5px inset #666666;
    border-radius: 5px;
}

.si-textarea textarea {
    width: 80%;
    margin: 20px 0;
    background: #c7c7c7;
    border-radius: 10px;
    box-shadow: 1px 1px 5px inset #666666;
}

.si-textarea {
    background: #d9d9d9;
    text-align: center;
}

.si-textarea ul.contact-btn {
    margin: 0;
    padding-bottom: 20px;
}

.si-textarea ul.contact-btn input {
    background: #f56b17;
    color: #ffffff;
    border-color: #363635;
    border-radius: 10px;
    font-size: 16px;
}

body.page-id-801 {
    background: #2a2a2a;
}

body.page-id-803 #container {
    background: #2a2a2a;
}

body.page-id-803 .content-wrap {
    background: #2a2a2a;
    width: 100%;
    max-width: 1920px;
    padding-bottom: 0;
    padding-top: 0;
}

body.page-id-803 footer#footer {
    display: none;
}

body.page-id-803 nav#dp_breadcrumb_nav {
    display: none;
}


/* スクロールアニメ*/

.slideUp {
    animation-name: slideUp;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes slideUp {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translate(0);
    }
}

.downup {
    transform: translateY(100px);
}

.scaleUp {
    animation-name: scaleUp;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes scaleUp {
    0% {
        opacity: 0;
        transform: scale(0)
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}


/* polycy */

.policy-subttl {
    border-bottom: none !important;
    font-size: 16px !important;
    padding-bottom: 0 !important;
}


/* モバイル用 */

@media screen and (max-width:1100px) {
    .content-wrap.incontainer.clearfix.home #content {
        margin-bottom: 0;
    }
    .group-left {
        width: 100%;
    }
    .group-right {
        width: 100%;
    }
    .group-back {
        max-width: 700px;
        margin: 0 auto 70px;
    }
}

@media screen and (max-width:768px) {
    .officer {
        width: 100%;
    }
    .officer:nth-child(odd) {
        margin-right: 0;
    }
    .group-back {
        padding: 70px;
        max-width: 580px;
    }
    .group-logo1,
    .group-logo2,
    .group-logo3 {
        width: 150px;
        height: 150px;
    }
    .group-logo1 {
        top: 80px;
    }
    .group-logo2 {
        left: 60px;
        bottom: 70px;
    }
    .group-logo3 {
        right: 60px;
        bottom: 70px;
    }
    .group-company-l {
        width: 100%;
        margin-bottom: 20px;
    }
    .group-company-r {
        width: 100%;
    }
    .si-desc {
        font-size: 16px;
    }
    .si-contact-header h2 {
        font-size: 24px;
    }
    .si-contact-header {
        padding: 100px 40px 80px;
    }
    .si-contact-table table tr th {
        font-size: 16px;
    }
    .si-contact-table table tr th span {
        font-size: 12px;
    }
}

@media screen and (max-width:600px) {
    .group-back {
        padding: 0;
        max-width: 320px;
    }
    .group-logo1,
    .group-logo2,
    .group-logo3 {
        width: 130px;
        height: 130px;
    }
    .group-center {
        width: 100%;
    }
    .group-logo1 {
        top: 0;
    }
    .group-logo2 {
        left: 0;
        bottom: 0;
    }
    .group-logo3 {
        right: 0;
        bottom: 0;
    }
    p.work-txt {
        width: 100%;
        word-break: break-all;
        height: auto;
        font-size: 14px;
        min-width: 130px;
        padding: 15px 0;
    }
    .group-logo1 p.work-txt br {
        display: inline;
    }
    .content-wrap.incontainer.clearfix.singular {
        margin-top: 0;
    }
    .group-right h4 span {
        font-size: 28px;
        margin-top: 30px;
    }
    .group-right h4 {
        font-size: 18px;
    }
    .group-company-ttl {
        width: 100%;
        order: 1;
    }
    .group-company-logo {
        width: 100%;
        text-align: center;
    }
    .group-company-logo img {
        max-width: 200px;
    }
    .group-company-r ul li {
        width: 100%;
        margin: 0 auto;
    }
    .img-frame {
        max-width: 300px;
        margin: auto;
    }
    .group-company {
        margin-bottom: 0;
    }
    h1.entry-title.single-title.wow.fadeInLeft {
        margin-top: 40px;
    }
    p.work-txt span {
        font-size: 18px;
    }
    .group-btn.sponly {
        display: block;
        margin-top: 20px;
    }
    .group-company-logo .group-btn {
        display: none;
    }
    /* IR mobile */
    .ir-table-wrap table {
        width: 100%;
    }
    .ir-table-wrap table tr th,
    .ir-table-wrap table tr td,
    .ir-content-half table tr th,
    .ir-content-half table tr td {
        display: table-cell !important;
        width: auto !important;
    }
    .null-cell {
        display: none;
    }
    .ir-content-half {
        width: 100%;
        margin-right: 0 !important;
    }
    .external-report h3 {
        padding: 0 0 20px;
    }
    p.external-report-tel {
        font-size: 30px;
    }
    .si-desc br {
        display: none;
    }
    .si-desc {
        font-size: 14px;
    }
    .si-titleA h2 {
        font-size: 36px;
    }
    h3.si-titleB span {
        margin: 20px auto;
        font-size: 14px;
        min-width: 280px;
        padding: 10px 20px;
    }
    h4.si-titleC {
        font-size: 16px;
    }
    .si-block .si-txt {
        font-size: 14px;
        text-align: left;
    }
    .si-ex-link a {
        font-size: 14px;
        bottom: 10px;
        right: 10px;
        padding: 10px 20px;
    }
    .si-footer {
        padding: 20px 20px;
    }
    .si-footer p {
        font-size: 18px;
    }
    .si-contactform a {
        padding: 15px 20px;
        font-size: 20px;
    }
    .si-contact-header h2 {
        font-size: 14px;
        line-height: 1.5;
    }
    .si-contact-header {
        padding: 100px 10px 40px;
    }
    .si-contact-table table tr th {
        display: block;
        width: 100%;
        padding: 20px 10px;
    }
    .si-contact-table table tr td {
        display: block;
        width: 100%;
    }
    .si-textarea textarea {
        width: 90%;
    }
}

@media screen and (max-width:450px) {
    .toptext h1 {
        font-size: 5vw;
    }
}

@media screen and (max-width:400px) {
    .header_container.has_search {
        padding-right: 10px;
    }
    .officer {
        margin-bottom: 0;
    }
    .about-us-block table tr th,
    .about-us-block table tr td,
    .entry.entry-content table tr th,
    .entry.entry-content table tr td {
        display: block;
        width: 100%;
    }
    .group-company {
        padding: 10px;
    }
    .page-contents table tr th,
    .page-contents table tr td {
        width: 100%;
        display: block;
    }
    form table tr td input,
    form table tr td textarea {
        max-width: 100%;
    }
    .page-contents h2 {
        font-size: 36px;
    }
}