/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

a {
    text-decoration: none !important;
}

ol,
ul {
    margin: 0;
}

.entry-content p {
    margin-bottom: 0;
}

.ast-primary-header-bar {
    background-color: #f4f4f4;
    border-bottom-color: #e8e5e5;
}

.main-header-bar {
    background-color: #f4f4f4;
    border-bottom-color: #e8e5e5;
}

.ast-single-post.ast-page-builder-template .site-main>article,
.woocommerce.ast-page-builder-template .site-main {
    padding-top: 0;
}

.site-content .ast-container {
    display: initial;
}

.site-above-footer-wrap[data-section="section-above-footer-builder"] {
    background-color: #000;
    min-height: 60px;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    background-color: #000;
    min-height: 80px;
    border-style: solid;
    border-width: 0px;
    border-top-width: 1px;
    border-top-color: var(--ast-global-color-6);
}

.flex {
    display: flex;
}

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

.txt_cent {
    text-align: center;
}

.pcnone {
    display: none;
}

.spnone {
    display: initial;
}

.w90 {
    width: 90%;
    margin: 0 auto;
}

.w70 {
    width: 70%;
    margin: 0 auto;
}

.bg-black {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #232429;
    padding: 10vw 1vw;
}

.bg-gray {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #eee;
    padding: 10vw 1vw;
}

.bg-white {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    padding: 10vw 1vw;
}

.index h1 {
    color: #eee;
    text-align: left;
    font-size: 1em !important;
    font-weight: 100;
    line-height: 1em;
    letter-spacing: 0.15em;
    margin-bottom: 5em;
}

.index h1:before {
    color: #ededed;
    content: attr(data-title);
    display: block;
    font-size: 3em;
    font-weight: bold;
    padding: 2em 0 0.5em 0;
}

.index h2 {
    color: #eee;
    text-align: left;
    font-size: 1em !important;
    font-weight: 100;
    line-height: 1em;
    letter-spacing: 0.15em;
    margin-bottom: 4em;
}

.index h2:before {
    color: #ededed;
    content: attr(data-title);
    display: inline;
    font-size: 1.3em;
    font-weight: bold;
    margin-right: 1.6em;
}

.index h2:after {
    width: 20px;
    height: 1px;
    content: '';
    display: block;
    margin: -0.6em 7em 0;
    background-color: rgba(255, 255, 255, 0.2);
}

.section-mgn {
    margin: 0 auto;
    margin-top: 8em;
}

@media (max-width: 768px) {

    .ast-single-post.ast-page-builder-template .site-main>article,
    .woocommerce.ast-page-builder-template .site-main {
        padding-left: 0;
        padding-right: 0;
    }

    .flex {
        display: block;
    }

    .pcnone {
        display: initial;
    }

    .spnone {
        display: none;
    }

    .w70 {
        width: 85%;
    }

    .bg-black {
        padding: 15vw 1vw;
    }

    .txt_cent {
        text-align: left;
    }
}

/*--- メニューバー調整 ---*/
header {
    background-color: rgba(245, 245, 245, 0.7);
}

/*--- メインビジュアル ---*/
.top-sec01 {
    position: relative;
}

.mainvisual {
    display: initial;
}

.mainvisual-sp {
    display: none;
}

.catchcopy {
    position: absolute;
    z-index: 1;
    top: 23vw;
    left: 35vw;
    text-align: center;
}

.catchcopy h1 {
    font-size: 2vw;
    color: #fff;
    font-family: "FTT-筑紫オールド明朝 R";
    line-height: 2.5em;
}

@media (max-width: 768px) {
    .mainvisual {
        display: none;
    }

    .mainvisual-sp {
        display: initial;
    }

    .catchcopy {
        top: 60vw;
        left: 15vw;
    }

    .catchcopy h1 {
        font-size: 5vw;
    }
}

/*--- リンクボタン ---*/
/*白ボタン*/
.link-white::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
}

.link-white a {
    display: block;
    width: 16vw;
    padding: 1.5vw 0;
    margin: auto;
    text-align: center;
}

.neumorphism-white .link-white {
    border-radius: 10px;
}

.neumorphism-white .link-white {
    background-color: rgb(240, 240, 240);
    transition: box-shadow 0.5s;
    box-shadow:
        5px 5px 10px rgb(94 94 94 / 16%),
        -5px -5px 6px rgb(255 255 255 / 16%),
        inset 5px 5px 10px transparent,
        inset -5px -5px 10px transparent;
}

.neumorphism-white .link-white:hover {
    box-shadow: 10px 10px 30px transparent,
        -10px -10px 30px transparent,
        inset 5px 5px 25px rgb(94 94 94 / 40%),
        inset -10px -10px 10px rgb(255 255 255 / 90%);
}

.link-white a {
    color: #232429;
}

@media (max-width: 768px) {
    .link-white a {
        width: 80vw;
        padding: 5vw 0;
    }
}

/*黒ボタン*/
.link-black::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
}

.link-black a {
    display: block;
    width: 23vw;
    padding: 3vw 0;
    margin: auto;
    text-align: center;
}

.neumorphism-black .link-black {
    border-radius: 10px;
}

.neumorphism-black .link-black {
    background-color: rgb(35, 36, 41);
    transition: box-shadow 0.5s;
    box-shadow: 7px 7px 10px rgb(0 0 0 / 16%),
        -3px -2px 8px rgb(180 180 180 / 16%),
        inset 7px 7px 10px transparent,
        inset -3px -2px 8px transparent;
}

.neumorphism-black .link-black:hover {
    box-shadow: 5px 5px 25px transparent,
        -7px -7px 14px transparent,
        inset 5px 5px 25px rgb(0 0 0 / 40%),
        inset -7px -7px 14px rgb(180 180 180 / 14%)
}

.link-black a {
    color: #fff;
}

@media (max-width: 768px) {
    .link-black a {
        width: 80vw;
        padding: 6vw 0;
    }
}

/*--- トップページ ---*/

/*SMARTHOME*/
.top-sec02-bg {
    background: url(/wp-content/uploads/2023/03/top-sec02.png) center center / cover no-repeat;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.top-sec02 img {
    width: 50%;
    padding-left: 8vw;
    object-fit: cover;
    object-position: 0% 100%;
}

.top-sec02txt {
    width: 40vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 3vw;
    margin-bottom: 3vw;
    padding: 0 4vw;
    background: rgba(245, 245, 245, 0.85);
    border-radius: 26px;
    text-align: center;
    line-height: 1.8em;
    color: #232429;
    box-shadow: 0.5vw 0.5vw 1vw rgb(0 0 0 / 16%);
}

.top-sec02txt h2 {
    color: #232429;
    margin-bottom: 3vw;
}

.top-sec02txt p {
    margin-bottom: 1.5em;
}

@media (max-width: 1200px) {
    .top-sec02txt {
        padding: 4vw 4vw;
        line-height: 1.5em;
    }
}

@media (max-width: 768px) {
    .top-sec02 img {
        width: 100%;
        padding-left: 0;
    }

    .top-sec02txt {
        width: 85vw;
        margin-top: 0;
        margin-bottom: 0;
        padding: 8vw 6vw;
        border-radius: 0;
        text-align: left;
        box-shadow: 0 1vw 1.5vw rgb(0 0 0 / 16%);
    }
}

/*COMPANY*/
.top-sec03 h2,
h3 {
    color: #fff !important;
}

.top-sec03 p {
    color: #fff;
    line-height: 1.8em;
    padding: 2vw 3vw 5vw 3vw;
}

.top-sec03 a {
    color: #fff;
}

.top-sec03txt {
    width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.top-sec03item {
    width: 70%;
}

.top-sec03item a {
    width: calc(100% / 3.5);
    height: 21.5vw;
    margin: 1vw;
}

.top-sec03cal {
    position: relative;
    padding: 1vw;
}

.top-sec03cal h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 2vw;
    font-weight: bold;
    width: 100%;
    text-align: center;
}

.top-sec03cal span {
    font-size: 1.2vw;
}

/*01*/
.company01 {
    background: url(/wp-content/uploads/2023/03/company01img.png) no-repeat center;
    background-size: cover;
    position: relative;
    height: 21.5vw;
    border-radius: 15px;
}

.company01::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 15px;
}

/* ホバー時 */
.company01:hover {
    /* 明るくする */
    filter: brightness(1.5);
    /* イージングを強烈にかける */
    transition: filter 0.5s cubic-bezier(0, 2.5, 0.2, 2.5);
}

.top-sec03number01 {
    position: absolute;
    width: 5vw;
    top: -1.5vw;
    left: -2vw
}

/*02*/
.company02 {
    background: url(/wp-content/uploads/2023/03/company02img.png) no-repeat center;
    background-size: cover;
    position: relative;
    height: 21.5vw;
    border-radius: 15px;
}

.company02::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 15px;
}

/* ホバー時 */
.company02:hover {
    /* 明るくする */
    filter: brightness(1.3);
    /* イージングを強烈にかける */
    transition: filter 0.5s cubic-bezier(0, 2.5, 0.2, 2.5);
}

.top-sec03number02 {
    position: absolute;
    width: 5vw;
    top: -1.5vw;
    left: -2vw
}

/*03*/
.company03 {
    background: url(/wp-content/uploads/2023/03/company03img.png) no-repeat center;
    background-size: cover;
    position: relative;
    height: 21.5vw;
    border-radius: 15px;
}

.company03::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 15px;
}

/* ホバー時 */
.company03:hover {
    /* 明るくする */
    filter: brightness(1.3);
    /* イージングを強烈にかける */
    transition: filter 0.5s cubic-bezier(0, 2.5, 0.2, 2.5);
}

.top-sec03number03 {
    position: absolute;
    width: 5vw;
    top: -1.5vw;
    left: -2vw
}

/*04*/
.company04 {
    background: url(/wp-content/uploads/2023/03/company04img.png) no-repeat center;
    background-size: cover;
    position: relative;
    height: 21.5vw;
    border-radius: 15px;
}

.company04::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 15px;
}

/* ホバー時 */
.company04:hover {
    /* 明るくする */
    filter: brightness(1.3);
    /* イージングを強烈にかける */
    transition: filter 0.5s cubic-bezier(0, 2.5, 0.2, 2.5);
}

.top-sec03number04 {
    position: absolute;
    width: 5vw;
    top: -1.5vw;
    left: -2vw
}

/*05*/
.company05 {
    background: url(/wp-content/uploads/2023/03/company05img.png) no-repeat center;
    background-size: cover;
    position: relative;
    height: 21.5vw;
    border-radius: 15px;
}

.company05::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 15px;
}

/* ホバー時 */
.company05:hover {
    /* 明るくする */
    filter: brightness(1.5);
    /* イージングを強烈にかける */
    transition: filter 0.5s cubic-bezier(0, 2.5, 0.2, 2.5);
}

.top-sec03number05 {
    position: absolute;
    width: 5vw;
    top: -1.5vw;
    left: -2vw
}

/*01*/
.company06 {
    background: url(/wp-content/uploads/2023/03/company06img.png) no-repeat center;
    background-size: cover;
    position: relative;
    height: 21.5vw;
    border-radius: 15px;
}

.company06::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 15px;
}

/* ホバー時 */
.company06:hover {
    /* 明るくする */
    filter: brightness(1.5);
    /* イージングを強烈にかける */
    transition: filter 0.5s cubic-bezier(0, 2.5, 0.2, 2.5);
}

.top-sec03number06 {
    position: absolute;
    width: 5vw;
    top: -1.5vw;
    left: -2vw
}

@media (max-width: 768px) {
    .top-sec03txt {
        width: 80%;
        display: block;
        margin: 0 auto;
        margin-bottom: 3em;
    }

    .top-sec03 p {
        text-align: left;
    }

    .top-sec03item {
        width: 90%;
        margin: 0 auto;
        justify-content: center;
    }

    .top-sec03cal h3 {
        font-size: 3.5vw;
    }

    .top-sec03item a {
        width: 45%;
        height: 46vw;
        margin: 1vw;
    }

    .company01 {
        height: 45vw;
        margin: 1vw;
    }

    .top-sec03number01 {
        width: 10vw;
    }

    .company02 {
        height: 45vw;
        margin: 1vw;
    }

    .top-sec03number02 {
        width: 10vw;
    }

    .company03 {
        height: 45vw;
        margin: 1vw;
    }

    .top-sec03number03 {
        width: 10vw;
    }

    .company04 {
        height: 45vw;
        margin: 1vw;
    }

    .top-sec03number04 {
        width: 10vw;
    }

    .company05 {
        height: 45vw;
        margin: 1vw;
    }

    .top-sec03number05 {
        width: 10vw;
    }

    .company06 {
        height: 45vw;
        margin: 1vw;
    }

    .top-sec03number06 {
        width: 10vw;
    }
}

/*CONTACT*/
.contact-bg {
    background: url(/wp-content/uploads/2023/03/contact.png) center center / cover no-repeat;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

.contact {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 10vw 0;
}

.contact h2 {
    color: #fff;
    margin-bottom: 4vw;
}

.contact p {
    color: #fff;
    line-height: 1.5em;
}

.txt_strong {
    color: #fff;
    padding: 4vw 0 2vw 0;
    font-size: 1.3em;
    font-weight: bold;
}

@media (max-width: 768px) {
    .contact {
        width: 90%;
        padding: 15vw 0;
    }

    .txt_strong {
        padding: 6vw 0;
        font-size: 1.2em;
        font-weight: bold;
    }
}

/*--- google map ---*/

.googlemap {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

iframe {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%)
}

/*--- フッター ---*/
.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row,
.site-above-footer-wrap[data-section="section-above-footer-builder"] .site-footer-section {
    align-items: center;
}

.footer-custom01 h3 {
    margin-bottom: 0.5em;
}

.foot-wrap .menu-left,
.menu-right {
    display: table-cell;
    ;
    text-align: left;
    padding-right: 3em;
}

.foot-wrap {
    padding-left: 15vw;
    font-size: 0.9em;
}

.foot-wrap ul {
    padding: 1.2em 0;
    line-height: 40px;
}

/*--- 上へ戻るボタンふわっと ---*/
#ast-scroll-top {
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeInAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/*--- 準備中 ---*/
.preparation {
    text-align: center;
    padding: 10vw 0;
}

.preparation h2 {
    margin-bottom: 5vw;
}

.preparation p {
    line-height: 4vw;
}

@media (max-width: 768px) {
    .preparation {
        text-align: left;
    }
}

/*メール*/
.title-h1 {
    text-align: center;
    font-size: 1.5em !important;
    margin-top: 3vw;
}

.contactfoam,
.wpcf7 {
    width: 70vw;
    margin: 0 auto;
    margin-top: 3vw;
}

.wpcf7-list-item {
    margin: 1em 0 1em 1em;
}

.cf_table {
    text-align: left;
}

.cf_req {
    color: #FF3131;
    margin: 0.25em;
}

.cf_btn {
    text-align: center;
    margin-top: 3vw;
    margin-bottom: 10vh !important;
}

.has-spinner {
    width: 30vw;
}

#wpcf7cpcnf button {
    background-color: #e23027 !important;
    border: none !important;
}

@media (max-width: 768px) {

    .contactfoam,
    .wpcf7 {
        width: 90vw;
    }

    .cf_table th,
    .cf_table td {
        display: block;
        width: 100%;
    }
}

/* テーブル */
#wpcf7cpcnf table {
    text-align: left;
    border-collapse: separate;
    border-spacing: 0;
    border-width: 1px 0 0 1px;
    margin: 0 0 1.5em;
    width: 100%;
}

#wpcf7cpcnf table th {
    padding: 8px;
    border-width: 0 1px 1px 0;
}

#wpcf7cpcnf table td {
    padding: 8px;
    border-width: 0 1px 1px 0;
}

/* ボタン */
#wpcf7cpcnf button {
    background-color: #555;
    border: 4px outset #000;
    color: #fff;
}

/*recapture非表示*/
.grecaptcha-badge {
    visibility: hidden;
}

/*会社概要*/
.about {
    color: #ededed;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #232429;
    padding-bottom: 10vw;
}

.about>section>.w70>picture img {
    position: absolute;
    top: 0;
    right: 0;
    width: 60vw;
    height: 60vh;
    z-index: -1;
    object-fit: cover;
    object-position: 50% 40%;
}

.about>section>.w70 p {
    font-size: 2em;
    font-weight: bold;
    line-height: 1.5em;
}

.message>div>img {
    width: 50%;
    object-fit: cover;
    object-position: 65% 100%;
    margin: 2em 0 0.4em 0;
    padding: 0 0 0 2em;
}

.message h3 {
    font-size: 1.3em;
    line-height: 1.3em;
    margin-top: 2em;
}

.message p {
    line-height: 1.6em;
    margin-bottom: 1em;
}

.ceo {
    text-align: right;
}

.ceo>p {
    margin-bottom: 0;
    font-size: 0.8em;
}

.ceo-name {
    font-size: 1.2em !important;
}

.overview_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.overview_list>dl {
    width: 45.833%;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.overview_list>dl div {
    display: flex;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 1em 0;
    line-height: 1.8em;
}

.overview_list>dl div>dt {
    width: 20%;
    font-weight: 700;
}

.overview_list>dl div>dd {
    width: 80%;
    margin: 0;
    opacity: 0.7;
}

.overview_list>dl div>dd ul {
    margin: 0;
}

.border-bottom_only,
.border-bottom_only td {
    border: none;
}

.border-bottom_only {
    border-collapse: collapse;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.border-bottom_only tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.border-bottom_only td {
    padding: 1em 0;
    line-height: 1.8em;
}

.eraname,
.year,
.month {
    display: inline-block;
    font-weight: 700;
}

.opacity {
    opacity: 0.7;
}

@media (max-width: 768px) {

    .overview_list,
    .overview_list>dl div {
        display: block;
    }

    .overview_list>dl {
        width: 100%;
    }

    .overview_list>dl div>dt {
        width: 100%;
    }

    .overview_list>dl div>dd {
        width: 100%;
    }

    .history .border-bottom_only>tbody {
        display: grid;
    }

    .opacity {
        padding-top: 0 !important;
    }

    .message>div>img {
        width: 100%;
        padding: 0;
    }
}

/*事業内容*/
.services {
    color: #ededed;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #232429;
    padding-bottom: 10vw;
}

.services>section>.w70>picture img {
    position: absolute;
    top: 0;
    right: 0;
    width: 60vw;
    height: 60vh;
    z-index: -1;
    object-fit: cover;
    object-position: 50% 40%;
}

.services>section>.w70 p {
    font-size: 2em;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}

.services>section>.w70 p>span {
    border-bottom: 0.5px solid #fff;
}

.services h2 {
    color: #fff;
}

.services_flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.services_flex>img {
    width: 40%;
}

.services_category div:first-child {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-end;
}

.services_category div>img {
    width: 12.4vw;
}

.services_category p {
    line-height: 1.8em;
    margin-top: 2em;
}

.services_flex:nth-child(odd) {
    flex-direction: row-reverse;
}

.services_flex:nth-child(odd) p {
    padding-right: 3em;
}

.services_flex:nth-child(even) p {
    padding-left: 3em;
}

.services_network,
.services_antenna {
    padding-left: 3em;
}

.services h3 {
    font-size: 1.4em;
    margin: 2em 0 0.5em 0;
}

.services_network div,
.services_antenna div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.services_network div::after {
    content: "";
    display: block;
    width: 32.5%;
}

.services_network img {
    padding-bottom: 0.5em;
    width: 32.5%;
}


.services_antenna div::after {
    content: "";
    display: block;
    width: 49%;
}

.services_antenna figure {
    width: 49%;
    text-align: center;
}

.services_antenna figcaption {
    margin: 0.5em 0 1em 0;
}

@media (max-width: 768px) {
    .services_flex {
        display: block;
    }

    .services_flex>img {
        display: none;
    }

    .services_category div>img {
        width: 20vw;
    }

    .services h2 {
        margin: 0;
        font-size: 6vw;
    }

    .services_category div:first-child {
        justify-content: left;
    }

    .services_flex:nth-child(even) p,
    .services_flex:nth-child(odd) p {
        padding-left: 0;
        padding-right: 0;
    }

    .services_network,
    .services_antenna {
        padding-left: 0;
    }

    .services_network div::after {
        width: 49%;
    }

    .services_network img {
        width: 49% !important;
    }
}

/*--- プライバシーポリシー ---*/
.privacy {
    margin-top: 4em;
    margin-bottom: 4em !important;
}

.privacy h2 {
    font-size: 1.5em;
}

.privacy h3 {
    color: #000 !important;
    font-size: 1.3em;
    margin-top: 1em;
    margin-bottom: 0.5em;
}

.privacy p {
    line-height: 1.2em;
}

.privacy li {
    line-height: 1.3em;
    margin-bottom: 0.2em;
}

.privacy-address {
    margin-top: 2em;
}

.privacy-address p {
    margin-top: 0.5em;
}

@media (max-width: 768px) {
    .privacy {
        margin-top: 2em;
        margin-bottom: 2em !important;
    }
}

/*--- スマートホーム ---*/
.smarthome {
    color: #232429;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #f4f4f4;
    padding-bottom: 8vw;
}

.smarthome>section>.w70>picture img {
    position: absolute;
    top: 0;
    right: 0;
    width: 60vw;
    height: 60vh;
    z-index: -1;
    object-fit: cover;
    object-position: 50% 40%;
}

.smarthome>section>.w70 p {
    font-size: 2em;
    font-weight: bold;
    line-height: 1.5em;
}

.smarthome h1,
.smarthome h3 {
    color: #232429 !important;
}

.smarthome h1:before {
    color: #232429 !important;
}

.homelink {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.homelink-content {
    margin-top: 10em;
}

.homelink-content h2 {
    font-size: 1.3em;
    text-align: center;
    line-height: 1.8em;
}

.homelink-content h2 span {
    font-size: 1.4em;
    padding: 0 0.4em;
    background: linear-gradient(transparent 60%, #6bdbd1 60%);
}

.homelink-content>p {
    width: 65%;
    line-height: 1.6em;
    margin: 2em 0 3em 0;
}

.homelink img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40vw;
}

.homelink-content h3 {
    position: relative;
    font-size: 1.5em;
    margin-top: 1em;
}

.homelink-content h3:before {
    content: "";
    position: absolute;
    background: #6bdbd1;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    top: 50%;
    /* border: dashed 1px white; */
    left: -15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: -1;
}

/*LINEボタン*/
.linelink {
    display: flex;
    background: #06c755;
    color: #fff;
    margin-top: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    border-radius: 0.5em;
    font-weight: bold;
    height: 7em;
}

.linelink img {
    width: 8%;
}

.linelink:hover {
    color: #fff;
}